summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--3rdparty/winpcap/Examples-pcap/GNUmakefile10
-rw-r--r--3rdparty/winpcap/Examples-pcap/MakeaAll.dsw137
-rw-r--r--3rdparty/winpcap/Examples-pcap/MakeaAll.sln116
-rw-r--r--3rdparty/winpcap/Examples-pcap/UDPdump/GNUmakefile17
-rw-r--r--3rdparty/winpcap/Examples-pcap/UDPdump/UDPdump.dsp110
-rw-r--r--3rdparty/winpcap/Examples-pcap/UDPdump/UDPdump.dsw29
-rw-r--r--3rdparty/winpcap/Examples-pcap/UDPdump/UDPdump.vcproj364
-rw-r--r--3rdparty/winpcap/Examples-pcap/UDPdump/udpdump.c242
-rw-r--r--3rdparty/winpcap/Examples-pcap/basic_dump/GNUmakefile17
-rw-r--r--3rdparty/winpcap/Examples-pcap/basic_dump/basic_dump.c109
-rw-r--r--3rdparty/winpcap/Examples-pcap/basic_dump/basic_dump.dsp110
-rw-r--r--3rdparty/winpcap/Examples-pcap/basic_dump/basic_dump.dsw29
-rw-r--r--3rdparty/winpcap/Examples-pcap/basic_dump/basic_dump.vcproj364
-rw-r--r--3rdparty/winpcap/Examples-pcap/basic_dump_ex/GNUmakefile17
-rw-r--r--3rdparty/winpcap/Examples-pcap/basic_dump_ex/basic_dump_ex.c106
-rw-r--r--3rdparty/winpcap/Examples-pcap/basic_dump_ex/basic_dump_ex.dsp110
-rw-r--r--3rdparty/winpcap/Examples-pcap/basic_dump_ex/basic_dump_ex.dsw29
-rw-r--r--3rdparty/winpcap/Examples-pcap/basic_dump_ex/basic_dump_ex.vcproj364
-rw-r--r--3rdparty/winpcap/Examples-pcap/iflist/GNUmakefile17
-rw-r--r--3rdparty/winpcap/Examples-pcap/iflist/iflist.c172
-rw-r--r--3rdparty/winpcap/Examples-pcap/iflist/iflist.dsp110
-rw-r--r--3rdparty/winpcap/Examples-pcap/iflist/iflist.dsw29
-rw-r--r--3rdparty/winpcap/Examples-pcap/iflist/iflist.vcproj364
-rw-r--r--3rdparty/winpcap/Examples-pcap/pcap_filter/GNUmakefile17
-rw-r--r--3rdparty/winpcap/Examples-pcap/pcap_filter/Makefile.unix9
-rw-r--r--3rdparty/winpcap/Examples-pcap/pcap_filter/pcap_filter.c179
-rw-r--r--3rdparty/winpcap/Examples-pcap/pcap_filter/pcap_filter.dsp110
-rw-r--r--3rdparty/winpcap/Examples-pcap/pcap_filter/pcap_filter.dsw29
-rw-r--r--3rdparty/winpcap/Examples-pcap/pcap_filter/pcap_filter.vcproj364
-rw-r--r--3rdparty/winpcap/Examples-pcap/pktdump_ex/GNUmakefile14
-rw-r--r--3rdparty/winpcap/Examples-pcap/pktdump_ex/pktdump_ex.c166
-rw-r--r--3rdparty/winpcap/Examples-pcap/pktdump_ex/pktdump_ex.dsp110
-rw-r--r--3rdparty/winpcap/Examples-pcap/pktdump_ex/pktdump_ex.dsw29
-rw-r--r--3rdparty/winpcap/Examples-pcap/pktdump_ex/pktdump_ex.vcproj364
-rw-r--r--3rdparty/winpcap/Examples-pcap/readfile/GNUmakefile17
-rw-r--r--3rdparty/winpcap/Examples-pcap/readfile/readfile.c61
-rw-r--r--3rdparty/winpcap/Examples-pcap/readfile/readfile.dsp110
-rw-r--r--3rdparty/winpcap/Examples-pcap/readfile/readfile.dsw29
-rw-r--r--3rdparty/winpcap/Examples-pcap/readfile/readfile.vcproj364
-rw-r--r--3rdparty/winpcap/Examples-pcap/readfile_ex/GNUmakefile17
-rw-r--r--3rdparty/winpcap/Examples-pcap/readfile_ex/readfile_ex.c56
-rw-r--r--3rdparty/winpcap/Examples-pcap/readfile_ex/readfile_ex.dsp110
-rw-r--r--3rdparty/winpcap/Examples-pcap/readfile_ex/readfile_ex.dsw29
-rw-r--r--3rdparty/winpcap/Examples-pcap/readfile_ex/readfile_ex.vcproj364
-rw-r--r--3rdparty/winpcap/Examples-pcap/savedump/GNUmakefile17
-rw-r--r--3rdparty/winpcap/Examples-pcap/savedump/savedump.c111
-rw-r--r--3rdparty/winpcap/Examples-pcap/savedump/savedump.dsp110
-rw-r--r--3rdparty/winpcap/Examples-pcap/savedump/savedump.dsw29
-rw-r--r--3rdparty/winpcap/Examples-pcap/savedump/savedump.vcproj364
-rw-r--r--3rdparty/winpcap/Examples-pcap/sendpack/GNUmakefile17
-rw-r--r--3rdparty/winpcap/Examples-pcap/sendpack/sendpack.c68
-rw-r--r--3rdparty/winpcap/Examples-pcap/sendpack/sendpack.dsp110
-rw-r--r--3rdparty/winpcap/Examples-pcap/sendpack/sendpack.dsw29
-rw-r--r--3rdparty/winpcap/Examples-pcap/sendpack/sendpack.vcproj364
-rw-r--r--3rdparty/winpcap/Examples-remote/MakeAll.sln196
-rw-r--r--3rdparty/winpcap/Examples-remote/MakeaAll.dsw221
-rw-r--r--3rdparty/winpcap/Examples-remote/PacketDriver/GetMacAddress/GetMacAddress.c152
-rw-r--r--3rdparty/winpcap/Examples-remote/PacketDriver/GetMacAddress/GetMacAddress.dsp105
-rw-r--r--3rdparty/winpcap/Examples-remote/PacketDriver/GetMacAddress/GetMacAddress.vcproj364
-rw-r--r--3rdparty/winpcap/Examples-remote/PacketDriver/TestPacketCapture/TestPacketCapture.c244
-rw-r--r--3rdparty/winpcap/Examples-remote/PacketDriver/TestPacketCapture/TestPacketCapture.dsp105
-rw-r--r--3rdparty/winpcap/Examples-remote/PacketDriver/TestPacketCapture/TestPacketCapture.vcproj364
-rw-r--r--3rdparty/winpcap/Examples-remote/PacketDriver/TestPacketSend/TestPacketSend.c235
-rw-r--r--3rdparty/winpcap/Examples-remote/PacketDriver/TestPacketSend/TestPacketSend.dsp107
-rw-r--r--3rdparty/winpcap/Examples-remote/PacketDriver/TestPacketSend/TestPacketSend.vcproj364
-rw-r--r--3rdparty/winpcap/Examples-remote/PacketDriver/readme.txt2
-rw-r--r--3rdparty/winpcap/Examples-remote/UDPdump/UDPdump.dsp110
-rw-r--r--3rdparty/winpcap/Examples-remote/UDPdump/UDPdump.dsw29
-rw-r--r--3rdparty/winpcap/Examples-remote/UDPdump/UDPdump.vcproj364
-rw-r--r--3rdparty/winpcap/Examples-remote/UDPdump/udpdump.c230
-rw-r--r--3rdparty/winpcap/Examples-remote/UserLevelBridge/UserBridge.c467
-rw-r--r--3rdparty/winpcap/Examples-remote/UserLevelBridge/UserBridge.dsp106
-rw-r--r--3rdparty/winpcap/Examples-remote/UserLevelBridge/UserBridge.dsw29
-rw-r--r--3rdparty/winpcap/Examples-remote/UserLevelBridge/UserBridge.vcproj364
-rw-r--r--3rdparty/winpcap/Examples-remote/iflist/iflist.c176
-rw-r--r--3rdparty/winpcap/Examples-remote/iflist/iflist.dsp110
-rw-r--r--3rdparty/winpcap/Examples-remote/iflist/iflist.dsw29
-rw-r--r--3rdparty/winpcap/Examples-remote/iflist/iflist.vcproj364
-rw-r--r--3rdparty/winpcap/Examples-remote/misc/MakeAll.sln76
-rw-r--r--3rdparty/winpcap/Examples-remote/misc/MakeaAll.dsw89
-rw-r--r--3rdparty/winpcap/Examples-remote/misc/basic_dump.c100
-rw-r--r--3rdparty/winpcap/Examples-remote/misc/basic_dump.dsp110
-rw-r--r--3rdparty/winpcap/Examples-remote/misc/basic_dump.vcproj364
-rw-r--r--3rdparty/winpcap/Examples-remote/misc/basic_dump_ex.c99
-rw-r--r--3rdparty/winpcap/Examples-remote/misc/basic_dump_ex.dsp110
-rw-r--r--3rdparty/winpcap/Examples-remote/misc/basic_dump_ex.vcproj364
-rw-r--r--3rdparty/winpcap/Examples-remote/misc/readfile.c78
-rw-r--r--3rdparty/winpcap/Examples-remote/misc/readfile.dsp110
-rw-r--r--3rdparty/winpcap/Examples-remote/misc/readfile.vcproj364
-rw-r--r--3rdparty/winpcap/Examples-remote/misc/readfile_ex.c73
-rw-r--r--3rdparty/winpcap/Examples-remote/misc/readfile_ex.dsp110
-rw-r--r--3rdparty/winpcap/Examples-remote/misc/readfile_ex.vcproj364
-rw-r--r--3rdparty/winpcap/Examples-remote/misc/savedump.c104
-rw-r--r--3rdparty/winpcap/Examples-remote/misc/savedump.dsp110
-rw-r--r--3rdparty/winpcap/Examples-remote/misc/savedump.vcproj364
-rw-r--r--3rdparty/winpcap/Examples-remote/misc/sendpack.c64
-rw-r--r--3rdparty/winpcap/Examples-remote/misc/sendpack.dsp110
-rw-r--r--3rdparty/winpcap/Examples-remote/misc/sendpack.vcproj364
-rw-r--r--3rdparty/winpcap/Examples-remote/pcap_filter/pcap_filter.c169
-rw-r--r--3rdparty/winpcap/Examples-remote/pcap_filter/pcap_filter.dsp110
-rw-r--r--3rdparty/winpcap/Examples-remote/pcap_filter/pcap_filter.dsw29
-rw-r--r--3rdparty/winpcap/Examples-remote/pcap_filter/pcap_filter.vcproj364
-rw-r--r--3rdparty/winpcap/Examples-remote/pcap_fopen/pcap_fopen.cpp94
-rw-r--r--3rdparty/winpcap/Examples-remote/pcap_fopen/pcap_fopen.vcproj364
-rw-r--r--3rdparty/winpcap/Examples-remote/pktdump_ex/pktdump_ex.c163
-rw-r--r--3rdparty/winpcap/Examples-remote/pktdump_ex/pktdump_ex.dsp110
-rw-r--r--3rdparty/winpcap/Examples-remote/pktdump_ex/pktdump_ex.dsw29
-rw-r--r--3rdparty/winpcap/Examples-remote/pktdump_ex/pktdump_ex.vcproj364
-rw-r--r--3rdparty/winpcap/Examples-remote/sendcap/sencap.dsw29
-rw-r--r--3rdparty/winpcap/Examples-remote/sendcap/sendcap.c184
-rw-r--r--3rdparty/winpcap/Examples-remote/sendcap/sendcap.dsp110
-rw-r--r--3rdparty/winpcap/Examples-remote/sendcap/sendcap.vcproj364
-rw-r--r--3rdparty/winpcap/Examples-remote/smp_1/smp_1.c134
-rw-r--r--3rdparty/winpcap/Examples-remote/smp_1/smp_1.dsp102
-rw-r--r--3rdparty/winpcap/Examples-remote/smp_1/smp_1.dsw29
-rw-r--r--3rdparty/winpcap/Examples-remote/smp_1/smp_1.vcproj364
-rw-r--r--3rdparty/winpcap/Examples-remote/tcptop/tcptop.c158
-rw-r--r--3rdparty/winpcap/Examples-remote/tcptop/tcptop.dsp110
-rw-r--r--3rdparty/winpcap/Examples-remote/tcptop/tcptop.dsw29
-rw-r--r--3rdparty/winpcap/Examples-remote/tcptop/tcptop.vcproj364
-rw-r--r--3rdparty/winpcap/Include/Packet32.h (renamed from src/lib/winpcap/Packet32.h)194
-rw-r--r--3rdparty/winpcap/Include/Win32-Extensions.h (renamed from src/lib/winpcap/Win32-Extensions.h)48
-rw-r--r--3rdparty/winpcap/Include/bittypes.h (renamed from src/lib/winpcap/bittypes.h)26
-rw-r--r--3rdparty/winpcap/Include/ip6_misc.h (renamed from src/lib/winpcap/ip6_misc.h)138
-rw-r--r--3rdparty/winpcap/Include/pcap-bpf.h (renamed from src/lib/winpcap/pcap-bpf.h)4
-rw-r--r--3rdparty/winpcap/Include/pcap-namedb.h (renamed from src/lib/winpcap/pcap-namedb.h)6
-rw-r--r--3rdparty/winpcap/Include/pcap-stdinc.h (renamed from src/lib/winpcap/pcap-stdinc.h)10
-rw-r--r--3rdparty/winpcap/Include/pcap.h (renamed from src/lib/winpcap/pcap.h)6
-rw-r--r--3rdparty/winpcap/Include/pcap/bluetooth.h (renamed from src/lib/winpcap/pcap/bluetooth.h)6
-rw-r--r--3rdparty/winpcap/Include/pcap/bpf.h (renamed from src/lib/winpcap/pcap/bpf.h)360
-rw-r--r--3rdparty/winpcap/Include/pcap/namedb.h (renamed from src/lib/winpcap/pcap/namedb.h)22
-rw-r--r--3rdparty/winpcap/Include/pcap/pcap.h407
-rw-r--r--3rdparty/winpcap/Include/pcap/sll.h (renamed from src/lib/winpcap/pcap/sll.h)68
-rw-r--r--3rdparty/winpcap/Include/pcap/usb.h (renamed from src/lib/winpcap/pcap/usb.h)8
-rw-r--r--3rdparty/winpcap/Include/pcap/vlan.h (renamed from src/lib/winpcap/pcap/vlan.h)8
-rw-r--r--3rdparty/winpcap/Include/remote-ext.h444
-rw-r--r--3rdparty/winpcap/Lib/Packet.libbin0 -> 8450 bytes
-rw-r--r--3rdparty/winpcap/Lib/libpacket.abin0 -> 20814 bytes
-rw-r--r--3rdparty/winpcap/Lib/libwpcap.abin0 -> 54276 bytes
-rw-r--r--3rdparty/winpcap/Lib/wpcap.libbin0 -> 19320 bytes
-rw-r--r--3rdparty/winpcap/Lib/x64/Packet.libbin0 -> 8290 bytes
-rw-r--r--3rdparty/winpcap/Lib/x64/wpcap.libbin0 -> 18892 bytes
-rw-r--r--3rdparty/winpcap/docs/WinPcap_docs.html9
-rw-r--r--3rdparty/winpcap/docs/html/Packet_8h.html201
-rw-r--r--3rdparty/winpcap/docs/html/Packet_8h_source.html572
-rw-r--r--3rdparty/winpcap/docs/html/Win32-Extensions_8h.html700
-rw-r--r--3rdparty/winpcap/docs/html/Win32-Extensions_8h_source.html139
-rw-r--r--3rdparty/winpcap/docs/html/annotated.html70
-rw-r--r--3rdparty/winpcap/docs/html/classes.html45
-rw-r--r--3rdparty/winpcap/docs/html/daemon_8h.html81
-rw-r--r--3rdparty/winpcap/docs/html/daemon_8h_source.html82
-rw-r--r--3rdparty/winpcap/docs/html/deprecated.html51
-rw-r--r--3rdparty/winpcap/docs/html/doxygen.pngbin0 -> 1281 bytes
-rw-r--r--3rdparty/winpcap/docs/html/doxygen__groups_8txt.html36
-rw-r--r--3rdparty/winpcap/docs/html/dump.gifbin0 -> 6353 bytes
-rw-r--r--3rdparty/winpcap/docs/html/encoding.gifbin0 -> 2777 bytes
-rw-r--r--3rdparty/winpcap/docs/html/fileconf_8h.html78
-rw-r--r--3rdparty/winpcap/docs/html/fileconf_8h_source.html74
-rw-r--r--3rdparty/winpcap/docs/html/files.html50
-rw-r--r--3rdparty/winpcap/docs/html/ftv2blank.pngbin0 -> 174 bytes
-rw-r--r--3rdparty/winpcap/docs/html/ftv2doc.pngbin0 -> 255 bytes
-rw-r--r--3rdparty/winpcap/docs/html/ftv2folderclosed.pngbin0 -> 259 bytes
-rw-r--r--3rdparty/winpcap/docs/html/ftv2folderopen.pngbin0 -> 261 bytes
-rw-r--r--3rdparty/winpcap/docs/html/ftv2lastnode.pngbin0 -> 233 bytes
-rw-r--r--3rdparty/winpcap/docs/html/ftv2link.pngbin0 -> 358 bytes
-rw-r--r--3rdparty/winpcap/docs/html/ftv2mlastnode.pngbin0 -> 160 bytes
-rw-r--r--3rdparty/winpcap/docs/html/ftv2mnode.pngbin0 -> 194 bytes
-rw-r--r--3rdparty/winpcap/docs/html/ftv2node.pngbin0 -> 235 bytes
-rw-r--r--3rdparty/winpcap/docs/html/ftv2plastnode.pngbin0 -> 165 bytes
-rw-r--r--3rdparty/winpcap/docs/html/ftv2pnode.pngbin0 -> 200 bytes
-rw-r--r--3rdparty/winpcap/docs/html/ftv2vertline.pngbin0 -> 229 bytes
-rw-r--r--3rdparty/winpcap/docs/html/funcs_2pcap_8h.html176
-rw-r--r--3rdparty/winpcap/docs/html/funcs_2pcap_8h_source.html206
-rw-r--r--3rdparty/winpcap/docs/html/functions.html627
-rw-r--r--3rdparty/winpcap/docs/html/functions_vars.html627
-rw-r--r--3rdparty/winpcap/docs/html/globals.html114
-rw-r--r--3rdparty/winpcap/docs/html/globals_0x62.html204
-rw-r--r--3rdparty/winpcap/docs/html/globals_0x63.html99
-rw-r--r--3rdparty/winpcap/docs/html/globals_0x64.html96
-rw-r--r--3rdparty/winpcap/docs/html/globals_0x65.html105
-rw-r--r--3rdparty/winpcap/docs/html/globals_0x66.html78
-rw-r--r--3rdparty/winpcap/docs/html/globals_0x67.html96
-rw-r--r--3rdparty/winpcap/docs/html/globals_0x68.html75
-rw-r--r--3rdparty/winpcap/docs/html/globals_0x69.html81
-rw-r--r--3rdparty/winpcap/docs/html/globals_0x6a.html99
-rw-r--r--3rdparty/winpcap/docs/html/globals_0x6b.html75
-rw-r--r--3rdparty/winpcap/docs/html/globals_0x6d.html128
-rw-r--r--3rdparty/winpcap/docs/html/globals_0x6e.html195
-rw-r--r--3rdparty/winpcap/docs/html/globals_0x6f.html81
-rw-r--r--3rdparty/winpcap/docs/html/globals_0x70.html486
-rw-r--r--3rdparty/winpcap/docs/html/globals_0x72.html210
-rw-r--r--3rdparty/winpcap/docs/html/globals_0x73.html105
-rw-r--r--3rdparty/winpcap/docs/html/globals_0x74.html81
-rw-r--r--3rdparty/winpcap/docs/html/globals_0x75.html81
-rw-r--r--3rdparty/winpcap/docs/html/globals_defs.html707
-rw-r--r--3rdparty/winpcap/docs/html/globals_enum.html50
-rw-r--r--3rdparty/winpcap/docs/html/globals_eval.html56
-rw-r--r--3rdparty/winpcap/docs/html/globals_func.html526
-rw-r--r--3rdparty/winpcap/docs/html/globals_type.html125
-rw-r--r--3rdparty/winpcap/docs/html/globals_vars.html71
-rw-r--r--3rdparty/winpcap/docs/html/group__NPF.html301
-rw-r--r--3rdparty/winpcap/docs/html/group__NPF__code.html1667
-rw-r--r--3rdparty/winpcap/docs/html/group__NPF__include.html756
-rw-r--r--3rdparty/winpcap/docs/html/group__NPF__ioctl.html376
-rw-r--r--3rdparty/winpcap/docs/html/group__NPF__jitter.html1652
-rw-r--r--3rdparty/winpcap/docs/html/group__compilation.html242
-rw-r--r--3rdparty/winpcap/docs/html/group__internals.html98
-rw-r--r--3rdparty/winpcap/docs/html/group__language.html633
-rw-r--r--3rdparty/winpcap/docs/html/group__packetapi.html87
-rw-r--r--3rdparty/winpcap/docs/html/group__remote.html386
-rw-r--r--3rdparty/winpcap/docs/html/group__remote__auth__methods.html76
-rw-r--r--3rdparty/winpcap/docs/html/group__remote__open__flags.html135
-rw-r--r--3rdparty/winpcap/docs/html/group__remote__pri__func.html33
-rw-r--r--3rdparty/winpcap/docs/html/group__remote__pri__struct.html1033
-rw-r--r--3rdparty/winpcap/docs/html/group__remote__samp__methods.html95
-rw-r--r--3rdparty/winpcap/docs/html/group__remote__source__ID.html95
-rw-r--r--3rdparty/winpcap/docs/html/group__remote__source__string.html112
-rw-r--r--3rdparty/winpcap/docs/html/group__remote__struct.html85
-rw-r--r--3rdparty/winpcap/docs/html/group__remotefunc.html33
-rw-r--r--3rdparty/winpcap/docs/html/group__wpcap.html81
-rw-r--r--3rdparty/winpcap/docs/html/group__wpcap__def.html279
-rw-r--r--3rdparty/winpcap/docs/html/group__wpcap__tut.html34
-rw-r--r--3rdparty/winpcap/docs/html/group__wpcap__tut1.html81
-rw-r--r--3rdparty/winpcap/docs/html/group__wpcap__tut2.html216
-rw-r--r--3rdparty/winpcap/docs/html/group__wpcap__tut3.html140
-rw-r--r--3rdparty/winpcap/docs/html/group__wpcap__tut4.html137
-rw-r--r--3rdparty/winpcap/docs/html/group__wpcap__tut5.html62
-rw-r--r--3rdparty/winpcap/docs/html/group__wpcap__tut6.html279
-rw-r--r--3rdparty/winpcap/docs/html/group__wpcap__tut7.html438
-rw-r--r--3rdparty/winpcap/docs/html/group__wpcap__tut8.html292
-rw-r--r--3rdparty/winpcap/docs/html/group__wpcap__tut9.html206
-rw-r--r--3rdparty/winpcap/docs/html/group__wpcapfunc.html2452
-rw-r--r--3rdparty/winpcap/docs/html/group__wpcapsamps.html500
-rw-r--r--3rdparty/winpcap/docs/html/incs_2pcap_8h.html78
-rw-r--r--3rdparty/winpcap/docs/html/incs_2pcap_8h_source.html155
-rw-r--r--3rdparty/winpcap/docs/html/index.hhc171
-rw-r--r--3rdparty/winpcap/docs/html/index.hhk2939
-rw-r--r--3rdparty/winpcap/docs/html/index.hhp160
-rw-r--r--3rdparty/winpcap/docs/html/index.html16
-rw-r--r--3rdparty/winpcap/docs/html/internals-arch.gifbin0 -> 4650 bytes
-rw-r--r--3rdparty/winpcap/docs/html/ioctls_8h.html73
-rw-r--r--3rdparty/winpcap/docs/html/ioctls_8h_source.html105
-rw-r--r--3rdparty/winpcap/docs/html/jitter_8h.html160
-rw-r--r--3rdparty/winpcap/docs/html/jitter_8h_source.html321
-rw-r--r--3rdparty/winpcap/docs/html/main.html237
-rw-r--r--3rdparty/winpcap/docs/html/main_8txt.html36
-rw-r--r--3rdparty/winpcap/docs/html/modules.html73
-rw-r--r--3rdparty/winpcap/docs/html/npf-dump.gifbin0 -> 4656 bytes
-rw-r--r--3rdparty/winpcap/docs/html/npf-ndis.gifbin0 -> 3572 bytes
-rw-r--r--3rdparty/winpcap/docs/html/npf-npf.gifbin0 -> 8463 bytes
-rw-r--r--3rdparty/winpcap/docs/html/pages.html32
-rw-r--r--3rdparty/winpcap/docs/html/pcap-remote_8h.html626
-rw-r--r--3rdparty/winpcap/docs/html/pcap-remote_8h_source.html307
-rw-r--r--3rdparty/winpcap/docs/html/remote-ext_8h.html444
-rw-r--r--3rdparty/winpcap/docs/html/remote-ext_8h_source.html171
-rw-r--r--3rdparty/winpcap/docs/html/rpcapd_8h.html162
-rw-r--r--3rdparty/winpcap/docs/html/rpcapd_8h_source.html88
-rw-r--r--3rdparty/winpcap/docs/html/stats.gifbin0 -> 5431 bytes
-rw-r--r--3rdparty/winpcap/docs/html/stats_wpcap.gifbin0 -> 5267 bytes
-rw-r--r--3rdparty/winpcap/docs/html/structJIT__BPF__Filter.html88
-rw-r--r--3rdparty/winpcap/docs/html/structPacketHeader.html92
-rw-r--r--3rdparty/winpcap/docs/html/struct__DEVICE__EXTENSION.html90
-rw-r--r--3rdparty/winpcap/docs/html/struct__INTERNAL__REQUEST.html124
-rw-r--r--3rdparty/winpcap/docs/html/struct__OPEN__INSTANCE.html978
-rw-r--r--3rdparty/winpcap/docs/html/struct__PACKET__OID__DATA.html107
-rw-r--r--3rdparty/winpcap/docs/html/struct__PACKET__RESERVED.html147
-rw-r--r--3rdparty/winpcap/docs/html/struct____CPU__Private__Data.html257
-rw-r--r--3rdparty/winpcap/docs/html/structactive__pars.html94
-rw-r--r--3rdparty/winpcap/docs/html/structactivehosts.html102
-rw-r--r--3rdparty/winpcap/docs/html/structbinary__stream.html129
-rw-r--r--3rdparty/winpcap/docs/html/structdaemon__slpars.html126
-rw-r--r--3rdparty/winpcap/docs/html/structpacket__file__header.html187
-rw-r--r--3rdparty/winpcap/docs/html/structpcap__addr.html148
-rw-r--r--3rdparty/winpcap/docs/html/structpcap__file__header.html192
-rw-r--r--3rdparty/winpcap/docs/html/structpcap__if.html148
-rw-r--r--3rdparty/winpcap/docs/html/structpcap__pkthdr.html111
-rw-r--r--3rdparty/winpcap/docs/html/structpcap__rmtauth.html115
-rw-r--r--3rdparty/winpcap/docs/html/structpcap__samp.html89
-rw-r--r--3rdparty/winpcap/docs/html/structpcap__send__queue.html107
-rw-r--r--3rdparty/winpcap/docs/html/structpcap__stat.html130
-rw-r--r--3rdparty/winpcap/docs/html/structrpcap__auth.html129
-rw-r--r--3rdparty/winpcap/docs/html/structrpcap__filter.html110
-rw-r--r--3rdparty/winpcap/docs/html/structrpcap__filterbpf__insn.html129
-rw-r--r--3rdparty/winpcap/docs/html/structrpcap__findalldevs__if.html148
-rw-r--r--3rdparty/winpcap/docs/html/structrpcap__findalldevs__ifaddr.html129
-rw-r--r--3rdparty/winpcap/docs/html/structrpcap__header.html129
-rw-r--r--3rdparty/winpcap/docs/html/structrpcap__openreply.html92
-rw-r--r--3rdparty/winpcap/docs/html/structrpcap__pkthdr.html149
-rw-r--r--3rdparty/winpcap/docs/html/structrpcap__sampling.html129
-rw-r--r--3rdparty/winpcap/docs/html/structrpcap__startcapreply.html110
-rw-r--r--3rdparty/winpcap/docs/html/structrpcap__startcapreq.html129
-rw-r--r--3rdparty/winpcap/docs/html/structrpcap__stats.html129
-rw-r--r--3rdparty/winpcap/docs/html/structsf__pkthdr.html108
-rw-r--r--3rdparty/winpcap/docs/html/style.css360
-rw-r--r--3rdparty/winpcap/docs/html/tab_b.gifbin0 -> 35 bytes
-rw-r--r--3rdparty/winpcap/docs/html/tab_l.gifbin0 -> 706 bytes
-rw-r--r--3rdparty/winpcap/docs/html/tab_r.gifbin0 -> 2585 bytes
-rw-r--r--3rdparty/winpcap/docs/html/tabs.css105
-rw-r--r--3rdparty/winpcap/docs/html/tree.html175
-rw-r--r--3rdparty/winpcap/docs/html/utils_8h.html74
-rw-r--r--3rdparty/winpcap/docs/html/utils_8h_source.html77
-rw-r--r--3rdparty/winpcap/docs/html/win32-svc_8h.html59
-rw-r--r--3rdparty/winpcap/docs/html/win32-svc_8h_source.html65
-rw-r--r--3rdparty/winpcap/docs/html/winpcap.gifbin0 -> 10723 bytes
-rw-r--r--3rdparty/winpcap/docs/html/winpcap_small.gifbin0 -> 2160 bytes
-rw-r--r--3rdparty/winpcap/docs/html/wpcap__remote_8htm.html180
-rw-r--r--3rdparty/winpcap/docs/html/wpcap__remote_8htm_source.html382
-rw-r--r--3rdparty/winpcap/docs/html/wpcap__tut1_8txt.html36
-rw-r--r--3rdparty/winpcap/docs/html/wpcap__tut2_8txt.html36
-rw-r--r--3rdparty/winpcap/docs/html/wpcap__tut3_8txt.html36
-rw-r--r--3rdparty/winpcap/docs/html/wpcap__tut4_8txt.html36
-rw-r--r--3rdparty/winpcap/docs/html/wpcap__tut5_8txt.html36
-rw-r--r--3rdparty/winpcap/docs/html/wpcap__tut6_8txt.html36
-rw-r--r--3rdparty/winpcap/docs/html/wpcap__tut7_8txt.html36
-rw-r--r--3rdparty/winpcap/docs/html/wpcap__tut8_8txt.html36
-rw-r--r--3rdparty/winpcap/docs/html/wpcap__tut9_8txt.html36
-rw-r--r--3rdparty/winpcap/docs/html/wpcap__tut_8txt.html36
-rw-r--r--src/lib/winpcap/pcap/pcap.h407
-rw-r--r--src/lib/winpcap/remote-ext.h443
-rw-r--r--src/osd/sdl/sdl.mak2
-rw-r--r--src/osd/windows/windows.mak2
321 files changed, 54492 insertions, 1305 deletions
diff --git a/3rdparty/winpcap/Examples-pcap/GNUmakefile b/3rdparty/winpcap/Examples-pcap/GNUmakefile
new file mode 100644
index 00000000000..9bf82520bbe
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/GNUmakefile
@@ -0,0 +1,10 @@
+# Makefile for cygwin gcc
+# Nate Lawson <nate@rootlabs.com>
+
+SUBDIRS = basic_dump basic_dump_ex iflist pcap_filter pktdump_ex readfile readfile_ex savedump sendpack UDPdump
+
+all clean install uninstall: ${SUBDIRS}
+ for subdir in ${SUBDIRS}; do \
+ echo "Entering $$subdir"; \
+ (cd $$subdir && ${MAKE} $@) \
+ done;
diff --git a/3rdparty/winpcap/Examples-pcap/MakeaAll.dsw b/3rdparty/winpcap/Examples-pcap/MakeaAll.dsw
new file mode 100644
index 00000000000..3a595ac9527
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/MakeaAll.dsw
@@ -0,0 +1,137 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "UDPdump"=.\UDPdump\UDPdump.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "basic_dump"=.\basic_dump\basic_dump.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "basic_dump_ex"=.\basic_dump_ex\basic_dump_ex.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "iflist"=.\iflist\iflist.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "pcap_filter"=.\pcap_filter\pcap_filter.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "pktdump_ex"=.\pktdump_ex\pktdump_ex.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "readfile"=.\readfile\readfile.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "readfile_ex"=.\readfile_ex\readfile_ex.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "savedump"=.\savedump\savedump.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "sendpack"=.\sendpack\sendpack.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/3rdparty/winpcap/Examples-pcap/MakeaAll.sln b/3rdparty/winpcap/Examples-pcap/MakeaAll.sln
new file mode 100644
index 00000000000..9bef01eb0b2
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/MakeaAll.sln
@@ -0,0 +1,116 @@
+
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual Studio 2005
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UDPdump", "UDPdump\UDPdump.vcproj", "{B484FA1C-6508-4DDA-8DA7-EA14DB6585AE}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic_dump", "basic_dump\basic_dump.vcproj", "{80E57A40-2069-4261-8470-A56A94EA4D48}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic_dump_ex", "basic_dump_ex\basic_dump_ex.vcproj", "{6C124B8E-5310-4294-9148-0D62AF96A649}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iflist", "iflist\iflist.vcproj", "{AD22E53E-6B36-4514-8F90-A92D2CFAAEBF}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pcap_filter", "pcap_filter\pcap_filter.vcproj", "{1F9B464B-56FE-4649-BE0E-E0B9B3DDEB00}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pktdump_ex", "pktdump_ex\pktdump_ex.vcproj", "{E501F12B-2CAD-4B65-BFB9-E012553BE0A2}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "readfile", "readfile\readfile.vcproj", "{D47AE2DA-FDC6-430E-AA6A-15290E3AA5B5}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "readfile_ex", "readfile_ex\readfile_ex.vcproj", "{C34F10C8-A733-4D64-B1AF-2AAA53FA6506}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "savedump", "savedump\savedump.vcproj", "{FC4AF1CF-72A5-4862-9F38-5063A588B2A6}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sendpack", "sendpack\sendpack.vcproj", "{58E5469B-4C43-43C5-9E63-86D92D870D19}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {B484FA1C-6508-4DDA-8DA7-EA14DB6585AE}.Debug|Win32.ActiveCfg = Debug|Win32
+ {B484FA1C-6508-4DDA-8DA7-EA14DB6585AE}.Debug|Win32.Build.0 = Debug|Win32
+ {B484FA1C-6508-4DDA-8DA7-EA14DB6585AE}.Debug|x64.ActiveCfg = Debug|x64
+ {B484FA1C-6508-4DDA-8DA7-EA14DB6585AE}.Debug|x64.Build.0 = Debug|x64
+ {B484FA1C-6508-4DDA-8DA7-EA14DB6585AE}.Release|Win32.ActiveCfg = Release|Win32
+ {B484FA1C-6508-4DDA-8DA7-EA14DB6585AE}.Release|Win32.Build.0 = Release|Win32
+ {B484FA1C-6508-4DDA-8DA7-EA14DB6585AE}.Release|x64.ActiveCfg = Release|x64
+ {B484FA1C-6508-4DDA-8DA7-EA14DB6585AE}.Release|x64.Build.0 = Release|x64
+ {80E57A40-2069-4261-8470-A56A94EA4D48}.Debug|Win32.ActiveCfg = Debug|Win32
+ {80E57A40-2069-4261-8470-A56A94EA4D48}.Debug|Win32.Build.0 = Debug|Win32
+ {80E57A40-2069-4261-8470-A56A94EA4D48}.Debug|x64.ActiveCfg = Debug|x64
+ {80E57A40-2069-4261-8470-A56A94EA4D48}.Debug|x64.Build.0 = Debug|x64
+ {80E57A40-2069-4261-8470-A56A94EA4D48}.Release|Win32.ActiveCfg = Release|Win32
+ {80E57A40-2069-4261-8470-A56A94EA4D48}.Release|Win32.Build.0 = Release|Win32
+ {80E57A40-2069-4261-8470-A56A94EA4D48}.Release|x64.ActiveCfg = Release|x64
+ {80E57A40-2069-4261-8470-A56A94EA4D48}.Release|x64.Build.0 = Release|x64
+ {6C124B8E-5310-4294-9148-0D62AF96A649}.Debug|Win32.ActiveCfg = Debug|Win32
+ {6C124B8E-5310-4294-9148-0D62AF96A649}.Debug|Win32.Build.0 = Debug|Win32
+ {6C124B8E-5310-4294-9148-0D62AF96A649}.Debug|x64.ActiveCfg = Debug|x64
+ {6C124B8E-5310-4294-9148-0D62AF96A649}.Debug|x64.Build.0 = Debug|x64
+ {6C124B8E-5310-4294-9148-0D62AF96A649}.Release|Win32.ActiveCfg = Release|Win32
+ {6C124B8E-5310-4294-9148-0D62AF96A649}.Release|Win32.Build.0 = Release|Win32
+ {6C124B8E-5310-4294-9148-0D62AF96A649}.Release|x64.ActiveCfg = Release|x64
+ {6C124B8E-5310-4294-9148-0D62AF96A649}.Release|x64.Build.0 = Release|x64
+ {AD22E53E-6B36-4514-8F90-A92D2CFAAEBF}.Debug|Win32.ActiveCfg = Debug|Win32
+ {AD22E53E-6B36-4514-8F90-A92D2CFAAEBF}.Debug|Win32.Build.0 = Debug|Win32
+ {AD22E53E-6B36-4514-8F90-A92D2CFAAEBF}.Debug|x64.ActiveCfg = Debug|x64
+ {AD22E53E-6B36-4514-8F90-A92D2CFAAEBF}.Debug|x64.Build.0 = Debug|x64
+ {AD22E53E-6B36-4514-8F90-A92D2CFAAEBF}.Release|Win32.ActiveCfg = Release|Win32
+ {AD22E53E-6B36-4514-8F90-A92D2CFAAEBF}.Release|Win32.Build.0 = Release|Win32
+ {AD22E53E-6B36-4514-8F90-A92D2CFAAEBF}.Release|x64.ActiveCfg = Release|x64
+ {AD22E53E-6B36-4514-8F90-A92D2CFAAEBF}.Release|x64.Build.0 = Release|x64
+ {1F9B464B-56FE-4649-BE0E-E0B9B3DDEB00}.Debug|Win32.ActiveCfg = Debug|Win32
+ {1F9B464B-56FE-4649-BE0E-E0B9B3DDEB00}.Debug|Win32.Build.0 = Debug|Win32
+ {1F9B464B-56FE-4649-BE0E-E0B9B3DDEB00}.Debug|x64.ActiveCfg = Debug|x64
+ {1F9B464B-56FE-4649-BE0E-E0B9B3DDEB00}.Debug|x64.Build.0 = Debug|x64
+ {1F9B464B-56FE-4649-BE0E-E0B9B3DDEB00}.Release|Win32.ActiveCfg = Release|Win32
+ {1F9B464B-56FE-4649-BE0E-E0B9B3DDEB00}.Release|Win32.Build.0 = Release|Win32
+ {1F9B464B-56FE-4649-BE0E-E0B9B3DDEB00}.Release|x64.ActiveCfg = Release|x64
+ {1F9B464B-56FE-4649-BE0E-E0B9B3DDEB00}.Release|x64.Build.0 = Release|x64
+ {E501F12B-2CAD-4B65-BFB9-E012553BE0A2}.Debug|Win32.ActiveCfg = Debug|Win32
+ {E501F12B-2CAD-4B65-BFB9-E012553BE0A2}.Debug|Win32.Build.0 = Debug|Win32
+ {E501F12B-2CAD-4B65-BFB9-E012553BE0A2}.Debug|x64.ActiveCfg = Debug|x64
+ {E501F12B-2CAD-4B65-BFB9-E012553BE0A2}.Debug|x64.Build.0 = Debug|x64
+ {E501F12B-2CAD-4B65-BFB9-E012553BE0A2}.Release|Win32.ActiveCfg = Release|Win32
+ {E501F12B-2CAD-4B65-BFB9-E012553BE0A2}.Release|Win32.Build.0 = Release|Win32
+ {E501F12B-2CAD-4B65-BFB9-E012553BE0A2}.Release|x64.ActiveCfg = Release|x64
+ {E501F12B-2CAD-4B65-BFB9-E012553BE0A2}.Release|x64.Build.0 = Release|x64
+ {D47AE2DA-FDC6-430E-AA6A-15290E3AA5B5}.Debug|Win32.ActiveCfg = Debug|Win32
+ {D47AE2DA-FDC6-430E-AA6A-15290E3AA5B5}.Debug|Win32.Build.0 = Debug|Win32
+ {D47AE2DA-FDC6-430E-AA6A-15290E3AA5B5}.Debug|x64.ActiveCfg = Debug|x64
+ {D47AE2DA-FDC6-430E-AA6A-15290E3AA5B5}.Debug|x64.Build.0 = Debug|x64
+ {D47AE2DA-FDC6-430E-AA6A-15290E3AA5B5}.Release|Win32.ActiveCfg = Release|Win32
+ {D47AE2DA-FDC6-430E-AA6A-15290E3AA5B5}.Release|Win32.Build.0 = Release|Win32
+ {D47AE2DA-FDC6-430E-AA6A-15290E3AA5B5}.Release|x64.ActiveCfg = Release|x64
+ {D47AE2DA-FDC6-430E-AA6A-15290E3AA5B5}.Release|x64.Build.0 = Release|x64
+ {C34F10C8-A733-4D64-B1AF-2AAA53FA6506}.Debug|Win32.ActiveCfg = Debug|Win32
+ {C34F10C8-A733-4D64-B1AF-2AAA53FA6506}.Debug|Win32.Build.0 = Debug|Win32
+ {C34F10C8-A733-4D64-B1AF-2AAA53FA6506}.Debug|x64.ActiveCfg = Debug|x64
+ {C34F10C8-A733-4D64-B1AF-2AAA53FA6506}.Debug|x64.Build.0 = Debug|x64
+ {C34F10C8-A733-4D64-B1AF-2AAA53FA6506}.Release|Win32.ActiveCfg = Release|Win32
+ {C34F10C8-A733-4D64-B1AF-2AAA53FA6506}.Release|Win32.Build.0 = Release|Win32
+ {C34F10C8-A733-4D64-B1AF-2AAA53FA6506}.Release|x64.ActiveCfg = Release|x64
+ {C34F10C8-A733-4D64-B1AF-2AAA53FA6506}.Release|x64.Build.0 = Release|x64
+ {FC4AF1CF-72A5-4862-9F38-5063A588B2A6}.Debug|Win32.ActiveCfg = Debug|Win32
+ {FC4AF1CF-72A5-4862-9F38-5063A588B2A6}.Debug|Win32.Build.0 = Debug|Win32
+ {FC4AF1CF-72A5-4862-9F38-5063A588B2A6}.Debug|x64.ActiveCfg = Debug|x64
+ {FC4AF1CF-72A5-4862-9F38-5063A588B2A6}.Debug|x64.Build.0 = Debug|x64
+ {FC4AF1CF-72A5-4862-9F38-5063A588B2A6}.Release|Win32.ActiveCfg = Release|Win32
+ {FC4AF1CF-72A5-4862-9F38-5063A588B2A6}.Release|Win32.Build.0 = Release|Win32
+ {FC4AF1CF-72A5-4862-9F38-5063A588B2A6}.Release|x64.ActiveCfg = Release|x64
+ {FC4AF1CF-72A5-4862-9F38-5063A588B2A6}.Release|x64.Build.0 = Release|x64
+ {58E5469B-4C43-43C5-9E63-86D92D870D19}.Debug|Win32.ActiveCfg = Debug|Win32
+ {58E5469B-4C43-43C5-9E63-86D92D870D19}.Debug|Win32.Build.0 = Debug|Win32
+ {58E5469B-4C43-43C5-9E63-86D92D870D19}.Debug|x64.ActiveCfg = Debug|x64
+ {58E5469B-4C43-43C5-9E63-86D92D870D19}.Debug|x64.Build.0 = Debug|x64
+ {58E5469B-4C43-43C5-9E63-86D92D870D19}.Release|Win32.ActiveCfg = Release|Win32
+ {58E5469B-4C43-43C5-9E63-86D92D870D19}.Release|Win32.Build.0 = Release|Win32
+ {58E5469B-4C43-43C5-9E63-86D92D870D19}.Release|x64.ActiveCfg = Release|x64
+ {58E5469B-4C43-43C5-9E63-86D92D870D19}.Release|x64.Build.0 = Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/3rdparty/winpcap/Examples-pcap/UDPdump/GNUmakefile b/3rdparty/winpcap/Examples-pcap/UDPdump/GNUmakefile
new file mode 100644
index 00000000000..d9e75f07fac
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/UDPdump/GNUmakefile
@@ -0,0 +1,17 @@
+# Makefile for cygwin gcc
+# Loris Degioanni
+
+PCAP_PATH = ../../lib
+CFLAGS = -g -O -mno-cygwin -I ../../include
+
+OBJS = udpdump.o
+LIBS = -L ${PCAP_PATH} -lwpcap -lwsock32
+
+all: ${OBJS}
+ ${CC} ${CFLAGS} -o udpdump.exe ${OBJS} ${LIBS}
+
+clean:
+ rm -f ${OBJS} udpdump.exe
+
+.c.o:
+ ${CC} ${CFLAGS} -c -o $*.o $<
diff --git a/3rdparty/winpcap/Examples-pcap/UDPdump/UDPdump.dsp b/3rdparty/winpcap/Examples-pcap/UDPdump/UDPdump.dsp
new file mode 100644
index 00000000000..b9553123fd8
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/UDPdump/UDPdump.dsp
@@ -0,0 +1,110 @@
+# Microsoft Developer Studio Project File - Name="UDPdump" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=UDPdump - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "UDPdump.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "UDPdump.mak" CFG="UDPdump - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "UDPdump - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "UDPdump - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "UDPdump - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /c
+# ADD BASE RSC /l 0x410 /d "NDEBUG"
+# ADD RSC /l 0x410 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib ws2_32.lib Iphlpapi.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF "$(CFG)" == "UDPdump - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /I "D:/Program Files/Microsoft Platform SDK/include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x410 /d "_DEBUG"
+# ADD RSC /l 0x410 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib ws2_32.lib Iphlpapi.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "UDPdump - Win32 Release"
+# Name "UDPdump - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\udpdump.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=..\..\include\pcap.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# Begin Source File
+
+SOURCE=..\..\lib\Wpcap.lib
+# End Source File
+# End Target
+# End Project
diff --git a/3rdparty/winpcap/Examples-pcap/UDPdump/UDPdump.dsw b/3rdparty/winpcap/Examples-pcap/UDPdump/UDPdump.dsw
new file mode 100644
index 00000000000..8981cf430d5
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/UDPdump/UDPdump.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "UDPdump"=.\UDPdump.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/3rdparty/winpcap/Examples-pcap/UDPdump/UDPdump.vcproj b/3rdparty/winpcap/Examples-pcap/UDPdump/UDPdump.vcproj
new file mode 100644
index 00000000000..ae73936bb9a
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/UDPdump/UDPdump.vcproj
@@ -0,0 +1,364 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="UDPdump"
+ ProjectGUID="{B484FA1C-6508-4dda-8DA7-EA14DB6585AE}"
+ RootNamespace="UDPdump"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\UDPdump.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/3rdparty/winpcap/Examples-pcap/UDPdump/udpdump.c b/3rdparty/winpcap/Examples-pcap/UDPdump/udpdump.c
new file mode 100644
index 00000000000..e627addd041
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/UDPdump/udpdump.c
@@ -0,0 +1,242 @@
+/*
+ * Copyright (c) 1999 - 2005 NetGroup, Politecnico di Torino (Italy)
+ * Copyright (c) 2005 - 2006 CACE Technologies, Davis (California)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the Politecnico di Torino, CACE Technologies
+ * nor the names of its contributors may be used to endorse or promote
+ * products derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#ifdef _MSC_VER
+/*
+ * we do not want the warnings about the old deprecated and unsecure CRT functions
+ * since these examples can be compiled under *nix as well
+ */
+#define _CRT_SECURE_NO_WARNINGS
+#endif
+
+#include "pcap.h"
+
+/* 4 bytes IP address */
+typedef struct ip_address
+{
+ u_char byte1;
+ u_char byte2;
+ u_char byte3;
+ u_char byte4;
+}ip_address;
+
+/* IPv4 header */
+typedef struct ip_header
+{
+ u_char ver_ihl; // Version (4 bits) + Internet header length (4 bits)
+ u_char tos; // Type of service
+ u_short tlen; // Total length
+ u_short identification; // Identification
+ u_short flags_fo; // Flags (3 bits) + Fragment offset (13 bits)
+ u_char ttl; // Time to live
+ u_char proto; // Protocol
+ u_short crc; // Header checksum
+ ip_address saddr; // Source address
+ ip_address daddr; // Destination address
+ u_int op_pad; // Option + Padding
+}ip_header;
+
+/* UDP header*/
+typedef struct udp_header
+{
+ u_short sport; // Source port
+ u_short dport; // Destination port
+ u_short len; // Datagram length
+ u_short crc; // Checksum
+}udp_header;
+
+/* prototype of the packet handler */
+void packet_handler(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data);
+
+
+int main()
+{
+ pcap_if_t *alldevs;
+ pcap_if_t *d;
+ int inum;
+ int i=0;
+ pcap_t *adhandle;
+ char errbuf[PCAP_ERRBUF_SIZE];
+ u_int netmask;
+ char packet_filter[] = "ip and udp";
+ struct bpf_program fcode;
+
+ /* Retrieve the device list */
+ if(pcap_findalldevs(&alldevs, errbuf) == -1)
+ {
+ fprintf(stderr,"Error in pcap_findalldevs: %s\n", errbuf);
+ exit(1);
+ }
+
+ /* Print the list */
+ for(d=alldevs; d; d=d->next)
+ {
+ printf("%d. %s", ++i, d->name);
+ if (d->description)
+ printf(" (%s)\n", d->description);
+ else
+ printf(" (No description available)\n");
+ }
+
+ if(i==0)
+ {
+ printf("\nNo interfaces found! Make sure WinPcap is installed.\n");
+ return -1;
+ }
+
+ printf("Enter the interface number (1-%d):",i);
+ scanf("%d", &inum);
+
+ /* Check if the user specified a valid adapter */
+ if(inum < 1 || inum > i)
+ {
+ printf("\nAdapter number out of range.\n");
+
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+ return -1;
+ }
+
+ /* Jump to the selected adapter */
+ for(d=alldevs, i=0; i< inum-1 ;d=d->next, i++);
+
+ /* Open the adapter */
+ if ((adhandle= pcap_open_live(d->name, // name of the device
+ 65536, // portion of the packet to capture.
+ // 65536 grants that the whole packet will be captured on all the MACs.
+ 1, // promiscuous mode (nonzero means promiscuous)
+ 1000, // read timeout
+ errbuf // error buffer
+ )) == NULL)
+ {
+ fprintf(stderr,"\nUnable to open the adapter. %s is not supported by WinPcap\n");
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+ return -1;
+ }
+
+ /* Check the link layer. We support only Ethernet for simplicity. */
+ if(pcap_datalink(adhandle) != DLT_EN10MB)
+ {
+ fprintf(stderr,"\nThis program works only on Ethernet networks.\n");
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+ return -1;
+ }
+
+ if(d->addresses != NULL)
+ /* Retrieve the mask of the first address of the interface */
+ netmask=((struct sockaddr_in *)(d->addresses->netmask))->sin_addr.S_un.S_addr;
+ else
+ /* If the interface is without addresses we suppose to be in a C class network */
+ netmask=0xffffff;
+
+
+ //compile the filter
+ if (pcap_compile(adhandle, &fcode, packet_filter, 1, netmask) <0 )
+ {
+ fprintf(stderr,"\nUnable to compile the packet filter. Check the syntax.\n");
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+ return -1;
+ }
+
+ //set the filter
+ if (pcap_setfilter(adhandle, &fcode)<0)
+ {
+ fprintf(stderr,"\nError setting the filter.\n");
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+ return -1;
+ }
+
+ printf("\nlistening on %s...\n", d->description);
+
+ /* At this point, we don't need any more the device list. Free it */
+ pcap_freealldevs(alldevs);
+
+ /* start the capture */
+ pcap_loop(adhandle, 0, packet_handler, NULL);
+
+ return 0;
+}
+
+/* Callback function invoked by libpcap for every incoming packet */
+void packet_handler(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data)
+{
+ struct tm *ltime;
+ char timestr[16];
+ ip_header *ih;
+ udp_header *uh;
+ u_int ip_len;
+ u_short sport,dport;
+ time_t local_tv_sec;
+
+ /*
+ * unused parameter
+ */
+ (VOID)(param);
+
+ /* convert the timestamp to readable format */
+ local_tv_sec = header->ts.tv_sec;
+ ltime=localtime(&local_tv_sec);
+ strftime( timestr, sizeof timestr, "%H:%M:%S", ltime);
+
+ /* print timestamp and length of the packet */
+ printf("%s.%.6d len:%d ", timestr, header->ts.tv_usec, header->len);
+
+ /* retireve the position of the ip header */
+ ih = (ip_header *) (pkt_data +
+ 14); //length of ethernet header
+
+ /* retireve the position of the udp header */
+ ip_len = (ih->ver_ihl & 0xf) * 4;
+ uh = (udp_header *) ((u_char*)ih + ip_len);
+
+ /* convert from network byte order to host byte order */
+ sport = ntohs( uh->sport );
+ dport = ntohs( uh->dport );
+
+ /* print ip addresses and udp ports */
+ printf("%d.%d.%d.%d.%d -> %d.%d.%d.%d.%d\n",
+ ih->saddr.byte1,
+ ih->saddr.byte2,
+ ih->saddr.byte3,
+ ih->saddr.byte4,
+ sport,
+ ih->daddr.byte1,
+ ih->daddr.byte2,
+ ih->daddr.byte3,
+ ih->daddr.byte4,
+ dport);
+}
diff --git a/3rdparty/winpcap/Examples-pcap/basic_dump/GNUmakefile b/3rdparty/winpcap/Examples-pcap/basic_dump/GNUmakefile
new file mode 100644
index 00000000000..11951f4ea34
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/basic_dump/GNUmakefile
@@ -0,0 +1,17 @@
+# Makefile for cygwin gcc
+# Nate Lawson <nate@rootlabs.com>
+
+PCAP_PATH = ../../lib
+CFLAGS = -g -O -mno-cygwin -I ../../include
+
+OBJS = basic_dump.o
+LIBS = -L ${PCAP_PATH} -lwpcap
+
+all: ${OBJS}
+ ${CC} ${CFLAGS} -o basic_dump.exe ${OBJS} ${LIBS}
+
+clean:
+ rm -f ${OBJS} basic_dump.exe
+
+.c.o:
+ ${CC} ${CFLAGS} -c -o $*.o $<
diff --git a/3rdparty/winpcap/Examples-pcap/basic_dump/basic_dump.c b/3rdparty/winpcap/Examples-pcap/basic_dump/basic_dump.c
new file mode 100644
index 00000000000..2980fd2350e
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/basic_dump/basic_dump.c
@@ -0,0 +1,109 @@
+#ifdef _MSC_VER
+/*
+ * we do not want the warnings about the old deprecated and unsecure CRT functions
+ * since these examples can be compiled under *nix as well
+ */
+#define _CRT_SECURE_NO_WARNINGS
+#endif
+
+#include "pcap.h"
+
+/* prototype of the packet handler */
+void packet_handler(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data);
+
+int main()
+{
+ pcap_if_t *alldevs;
+ pcap_if_t *d;
+ int inum;
+ int i=0;
+ pcap_t *adhandle;
+ char errbuf[PCAP_ERRBUF_SIZE];
+
+ /* Retrieve the device list */
+ if(pcap_findalldevs(&alldevs, errbuf) == -1)
+ {
+ fprintf(stderr,"Error in pcap_findalldevs: %s\n", errbuf);
+ exit(1);
+ }
+
+ /* Print the list */
+ for(d=alldevs; d; d=d->next)
+ {
+ printf("%d. %s", ++i, d->name);
+ if (d->description)
+ printf(" (%s)\n", d->description);
+ else
+ printf(" (No description available)\n");
+ }
+
+ if(i==0)
+ {
+ printf("\nNo interfaces found! Make sure WinPcap is installed.\n");
+ return -1;
+ }
+
+ printf("Enter the interface number (1-%d):",i);
+ scanf("%d", &inum);
+
+ if(inum < 1 || inum > i)
+ {
+ printf("\nInterface number out of range.\n");
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+ return -1;
+ }
+
+ /* Jump to the selected adapter */
+ for(d=alldevs, i=0; i< inum-1 ;d=d->next, i++);
+
+ /* Open the device */
+ /* Open the adapter */
+ if ((adhandle= pcap_open_live(d->name, // name of the device
+ 65536, // portion of the packet to capture.
+ // 65536 grants that the whole packet will be captured on all the MACs.
+ 1, // promiscuous mode (nonzero means promiscuous)
+ 1000, // read timeout
+ errbuf // error buffer
+ )) == NULL)
+ {
+ fprintf(stderr,"\nUnable to open the adapter. %s is not supported by WinPcap\n", d->name);
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+ return -1;
+ }
+
+ printf("\nlistening on %s...\n", d->description);
+
+ /* At this point, we don't need any more the device list. Free it */
+ pcap_freealldevs(alldevs);
+
+ /* start the capture */
+ pcap_loop(adhandle, 0, packet_handler, NULL);
+
+ pcap_close(adhandle);
+ return 0;
+}
+
+
+/* Callback function invoked by libpcap for every incoming packet */
+void packet_handler(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data)
+{
+ struct tm *ltime;
+ char timestr[16];
+ time_t local_tv_sec;
+
+ /*
+ * unused parameters
+ */
+ (VOID)(param);
+ (VOID)(pkt_data);
+
+ /* convert the timestamp to readable format */
+ local_tv_sec = header->ts.tv_sec;
+ ltime=localtime(&local_tv_sec);
+ strftime( timestr, sizeof timestr, "%H:%M:%S", ltime);
+
+ printf("%s,%.6d len:%d\n", timestr, header->ts.tv_usec, header->len);
+
+}
diff --git a/3rdparty/winpcap/Examples-pcap/basic_dump/basic_dump.dsp b/3rdparty/winpcap/Examples-pcap/basic_dump/basic_dump.dsp
new file mode 100644
index 00000000000..7e74aaa0396
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/basic_dump/basic_dump.dsp
@@ -0,0 +1,110 @@
+# Microsoft Developer Studio Project File - Name="basic_dump" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=basic_dump - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "basic_dump.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "basic_dump.mak" CFG="basic_dump - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "basic_dump - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "basic_dump - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "basic_dump - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /c
+# ADD BASE RSC /l 0x410 /d "NDEBUG"
+# ADD RSC /l 0x410 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib ws2_32.lib Iphlpapi.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF "$(CFG)" == "basic_dump - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /I "D:/Program Files/Microsoft Platform SDK/include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x410 /d "_DEBUG"
+# ADD RSC /l 0x410 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib ws2_32.lib Iphlpapi.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "basic_dump - Win32 Release"
+# Name "basic_dump - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\basic_dump.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=..\..\include\pcap.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# Begin Source File
+
+SOURCE=..\..\lib\Wpcap.lib
+# End Source File
+# End Target
+# End Project
diff --git a/3rdparty/winpcap/Examples-pcap/basic_dump/basic_dump.dsw b/3rdparty/winpcap/Examples-pcap/basic_dump/basic_dump.dsw
new file mode 100644
index 00000000000..3494209128d
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/basic_dump/basic_dump.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "basic_dump"=.\basic_dump.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/3rdparty/winpcap/Examples-pcap/basic_dump/basic_dump.vcproj b/3rdparty/winpcap/Examples-pcap/basic_dump/basic_dump.vcproj
new file mode 100644
index 00000000000..6a3fe3da21a
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/basic_dump/basic_dump.vcproj
@@ -0,0 +1,364 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="basic_dump"
+ ProjectGUID="{80E57A40-2069-4261-8470-A56A94EA4D48}"
+ RootNamespace="basic_dump"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\basic_dump.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/3rdparty/winpcap/Examples-pcap/basic_dump_ex/GNUmakefile b/3rdparty/winpcap/Examples-pcap/basic_dump_ex/GNUmakefile
new file mode 100644
index 00000000000..aeeeea6a25c
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/basic_dump_ex/GNUmakefile
@@ -0,0 +1,17 @@
+# Makefile for cygwin gcc
+# Nate Lawson <nate@rootlabs.com>
+
+PCAP_PATH = ../../lib
+CFLAGS = -g -O -mno-cygwin -I ../../include
+
+OBJS = basic_dump_ex.o
+LIBS = -L ${PCAP_PATH} -lwpcap
+
+all: ${OBJS}
+ ${CC} ${CFLAGS} -o basic_dump_ex.exe ${OBJS} ${LIBS}
+
+clean:
+ rm -f ${OBJS} basic_dump_ex.exe
+
+.c.o:
+ ${CC} ${CFLAGS} -c -o $*.o $<
diff --git a/3rdparty/winpcap/Examples-pcap/basic_dump_ex/basic_dump_ex.c b/3rdparty/winpcap/Examples-pcap/basic_dump_ex/basic_dump_ex.c
new file mode 100644
index 00000000000..d4e6117df19
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/basic_dump_ex/basic_dump_ex.c
@@ -0,0 +1,106 @@
+#ifdef _MSC_VER
+/*
+ * we do not want the warnings about the old deprecated and unsecure CRT functions
+ * since these examples can be compiled under *nix as well
+ */
+#define _CRT_SECURE_NO_WARNINGS
+#endif
+
+#include "pcap.h"
+
+int main()
+{
+ pcap_if_t *alldevs;
+ pcap_if_t *d;
+ int inum;
+ int i=0;
+ pcap_t *adhandle;
+ int res;
+ char errbuf[PCAP_ERRBUF_SIZE];
+ struct tm *ltime;
+ char timestr[16];
+ struct pcap_pkthdr *header;
+ const u_char *pkt_data;
+ time_t local_tv_sec;
+
+
+ /* Retrieve the device list */
+ if(pcap_findalldevs(&alldevs, errbuf) == -1)
+ {
+ fprintf(stderr,"Error in pcap_findalldevs: %s\n", errbuf);
+ return -1;
+ }
+
+ /* Print the list */
+ for(d=alldevs; d; d=d->next)
+ {
+ printf("%d. %s", ++i, d->name);
+ if (d->description)
+ printf(" (%s)\n", d->description);
+ else
+ printf(" (No description available)\n");
+ }
+
+ if(i==0)
+ {
+ printf("\nNo interfaces found! Make sure WinPcap is installed.\n");
+ return -1;
+ }
+
+ printf("Enter the interface number (1-%d):",i);
+ scanf("%d", &inum);
+
+ if(inum < 1 || inum > i)
+ {
+ printf("\nInterface number out of range.\n");
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+ return -1;
+ }
+
+ /* Jump to the selected adapter */
+ for(d=alldevs, i=0; i< inum-1 ;d=d->next, i++);
+
+ /* Open the adapter */
+ if ((adhandle= pcap_open_live(d->name, // name of the device
+ 65536, // portion of the packet to capture.
+ // 65536 grants that the whole packet will be captured on all the MACs.
+ 1, // promiscuous mode (nonzero means promiscuous)
+ 1000, // read timeout
+ errbuf // error buffer
+ )) == NULL)
+ {
+ fprintf(stderr,"\nUnable to open the adapter. %s is not supported by WinPcap\n", d->name);
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+ return -1;
+ }
+
+ printf("\nlistening on %s...\n", d->description);
+
+ /* At this point, we don't need any more the device list. Free it */
+ pcap_freealldevs(alldevs);
+
+ /* Retrieve the packets */
+ while((res = pcap_next_ex( adhandle, &header, &pkt_data)) >= 0){
+
+ if(res == 0)
+ /* Timeout elapsed */
+ continue;
+
+ /* convert the timestamp to readable format */
+ local_tv_sec = header->ts.tv_sec;
+ ltime=localtime(&local_tv_sec);
+ strftime( timestr, sizeof timestr, "%H:%M:%S", ltime);
+
+ printf("%s,%.6d len:%d\n", timestr, header->ts.tv_usec, header->len);
+ }
+
+ if(res == -1){
+ printf("Error reading the packets: %s\n", pcap_geterr(adhandle));
+ return -1;
+ }
+
+ pcap_close(adhandle);
+ return 0;
+}
diff --git a/3rdparty/winpcap/Examples-pcap/basic_dump_ex/basic_dump_ex.dsp b/3rdparty/winpcap/Examples-pcap/basic_dump_ex/basic_dump_ex.dsp
new file mode 100644
index 00000000000..0405d29236a
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/basic_dump_ex/basic_dump_ex.dsp
@@ -0,0 +1,110 @@
+# Microsoft Developer Studio Project File - Name="basic_dump_ex" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=basic_dump_ex - Win32 Release
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "basic_dump_ex.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "basic_dump_ex.mak" CFG="basic_dump_ex - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "basic_dump_ex - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "basic_dump_ex - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "basic_dump_ex - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /c
+# ADD BASE RSC /l 0x410 /d "NDEBUG"
+# ADD RSC /l 0x410 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib ws2_32.lib Iphlpapi.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF "$(CFG)" == "basic_dump_ex - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /I "D:/Program Files/Microsoft Platform SDK/include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x410 /d "_DEBUG"
+# ADD RSC /l 0x410 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib ws2_32.lib Iphlpapi.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "basic_dump_ex - Win32 Release"
+# Name "basic_dump_ex - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\basic_dump_ex.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=..\..\include\pcap.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# Begin Source File
+
+SOURCE=..\..\lib\Wpcap.lib
+# End Source File
+# End Target
+# End Project
diff --git a/3rdparty/winpcap/Examples-pcap/basic_dump_ex/basic_dump_ex.dsw b/3rdparty/winpcap/Examples-pcap/basic_dump_ex/basic_dump_ex.dsw
new file mode 100644
index 00000000000..ff590dd5839
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/basic_dump_ex/basic_dump_ex.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "basic_dump_ex"=.\basic_dump_ex.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/3rdparty/winpcap/Examples-pcap/basic_dump_ex/basic_dump_ex.vcproj b/3rdparty/winpcap/Examples-pcap/basic_dump_ex/basic_dump_ex.vcproj
new file mode 100644
index 00000000000..a8f42f2589e
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/basic_dump_ex/basic_dump_ex.vcproj
@@ -0,0 +1,364 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="basic_dump_ex"
+ ProjectGUID="{6C124B8E-5310-4294-9148-0D62AF96A649}"
+ RootNamespace="basic_dump_ex"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\basic_dump_ex.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/3rdparty/winpcap/Examples-pcap/iflist/GNUmakefile b/3rdparty/winpcap/Examples-pcap/iflist/GNUmakefile
new file mode 100644
index 00000000000..01766bd346f
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/iflist/GNUmakefile
@@ -0,0 +1,17 @@
+# Makefile for cygwin gcc
+# Nate Lawson <nate@rootlabs.com>
+
+PCAP_PATH = ../../lib
+CFLAGS = -g -O -mno-cygwin -I ../../include
+
+OBJS = iflist.o
+LIBS = -L ${PCAP_PATH} -lwpcap
+
+all: ${OBJS}
+ ${CC} ${CFLAGS} -o iflist.exe ${OBJS} ${LIBS}
+
+clean:
+ rm -f ${OBJS} iflist.exe
+
+.c.o:
+ ${CC} ${CFLAGS} -c -o $*.o $<
diff --git a/3rdparty/winpcap/Examples-pcap/iflist/iflist.c b/3rdparty/winpcap/Examples-pcap/iflist/iflist.c
new file mode 100644
index 00000000000..d462afb1ef6
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/iflist/iflist.c
@@ -0,0 +1,172 @@
+/*
+ * Copyright (c) 1999 - 2005 NetGroup, Politecnico di Torino (Italy)
+ * Copyright (c) 2005 - 2006 CACE Technologies, Davis (California)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the Politecnico di Torino, CACE Technologies
+ * nor the names of its contributors may be used to endorse or promote
+ * products derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#ifdef _MSC_VER
+/*
+ * we do not want the warnings about the old deprecated and unsecure CRT functions
+ * since these examples can be compiled under *nix as well
+ */
+#define _CRT_SECURE_NO_WARNINGS
+#endif
+
+#include "pcap.h"
+
+#ifndef WIN32
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+#else
+ #include <winsock.h>
+#endif
+
+
+// Function prototypes
+void ifprint(pcap_if_t *d);
+char *iptos(u_long in);
+char* ip6tos(struct sockaddr *sockaddr, char *address, int addrlen);
+
+
+int main()
+{
+ pcap_if_t *alldevs;
+ pcap_if_t *d;
+ char errbuf[PCAP_ERRBUF_SIZE+1];
+
+ /* Retrieve the device list */
+ if(pcap_findalldevs(&alldevs, errbuf) == -1)
+ {
+ fprintf(stderr,"Error in pcap_findalldevs: %s\n", errbuf);
+ exit(1);
+ }
+
+ /* Scan the list printing every entry */
+ for(d=alldevs;d;d=d->next)
+ {
+ ifprint(d);
+ }
+
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+
+ return 1;
+}
+
+
+
+/* Print all the available information on the given interface */
+void ifprint(pcap_if_t *d)
+{
+ pcap_addr_t *a;
+ char ip6str[128];
+
+ /* Name */
+ printf("%s\n",d->name);
+
+ /* Description */
+ if (d->description)
+ printf("\tDescription: %s\n",d->description);
+
+ /* Loopback Address*/
+ printf("\tLoopback: %s\n",(d->flags & PCAP_IF_LOOPBACK)?"yes":"no");
+
+ /* IP addresses */
+ for(a=d->addresses;a;a=a->next) {
+ printf("\tAddress Family: #%d\n",a->addr->sa_family);
+
+ switch(a->addr->sa_family)
+ {
+ case AF_INET:
+ printf("\tAddress Family Name: AF_INET\n");
+ if (a->addr)
+ printf("\tAddress: %s\n",iptos(((struct sockaddr_in *)a->addr)->sin_addr.s_addr));
+ if (a->netmask)
+ printf("\tNetmask: %s\n",iptos(((struct sockaddr_in *)a->netmask)->sin_addr.s_addr));
+ if (a->broadaddr)
+ printf("\tBroadcast Address: %s\n",iptos(((struct sockaddr_in *)a->broadaddr)->sin_addr.s_addr));
+ if (a->dstaddr)
+ printf("\tDestination Address: %s\n",iptos(((struct sockaddr_in *)a->dstaddr)->sin_addr.s_addr));
+ break;
+
+ case AF_INET6:
+ printf("\tAddress Family Name: AF_INET6\n");
+#ifndef __MINGW32__ /* Cygnus doesn't have IPv6 */
+ if (a->addr)
+ printf("\tAddress: %s\n", ip6tos(a->addr, ip6str, sizeof(ip6str)));
+#endif
+ break;
+
+ default:
+ printf("\tAddress Family Name: Unknown\n");
+ break;
+ }
+ }
+ printf("\n");
+}
+
+/* From tcptraceroute, convert a numeric IP address to a string */
+#define IPTOSBUFFERS 12
+char *iptos(u_long in)
+{
+ static char output[IPTOSBUFFERS][3*4+3+1];
+ static short which;
+ u_char *p;
+
+ p = (u_char *)&in;
+ which = (which + 1 == IPTOSBUFFERS ? 0 : which + 1);
+ sprintf(output[which], "%d.%d.%d.%d", p[0], p[1], p[2], p[3]);
+ return output[which];
+}
+
+#ifndef __MINGW32__ /* Cygnus doesn't have IPv6 */
+char* ip6tos(struct sockaddr *sockaddr, char *address, int addrlen)
+{
+ socklen_t sockaddrlen;
+
+ #ifdef WIN32
+ sockaddrlen = sizeof(struct sockaddr_in6);
+ #else
+ sockaddrlen = sizeof(struct sockaddr_storage);
+ #endif
+
+
+ if(getnameinfo(sockaddr,
+ sockaddrlen,
+ address,
+ addrlen,
+ NULL,
+ 0,
+ NI_NUMERICHOST) != 0) address = NULL;
+
+ return address;
+}
+#endif /* __MINGW32__ */
+
diff --git a/3rdparty/winpcap/Examples-pcap/iflist/iflist.dsp b/3rdparty/winpcap/Examples-pcap/iflist/iflist.dsp
new file mode 100644
index 00000000000..418236446ee
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/iflist/iflist.dsp
@@ -0,0 +1,110 @@
+# Microsoft Developer Studio Project File - Name="iflist" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=iflist - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "iflist.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "iflist.mak" CFG="iflist - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "iflist - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "iflist - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "iflist - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /c
+# ADD BASE RSC /l 0x410 /d "NDEBUG"
+# ADD RSC /l 0x410 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib ws2_32.lib Iphlpapi.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF "$(CFG)" == "iflist - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /I "D:/Program Files/Microsoft Platform SDK/include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x410 /d "_DEBUG"
+# ADD RSC /l 0x410 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib ws2_32.lib Iphlpapi.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "iflist - Win32 Release"
+# Name "iflist - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\iflist.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=..\..\include\pcap.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# Begin Source File
+
+SOURCE=..\..\lib\Wpcap.lib
+# End Source File
+# End Target
+# End Project
diff --git a/3rdparty/winpcap/Examples-pcap/iflist/iflist.dsw b/3rdparty/winpcap/Examples-pcap/iflist/iflist.dsw
new file mode 100644
index 00000000000..1425db243af
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/iflist/iflist.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "iflist"=.\iflist.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/3rdparty/winpcap/Examples-pcap/iflist/iflist.vcproj b/3rdparty/winpcap/Examples-pcap/iflist/iflist.vcproj
new file mode 100644
index 00000000000..709a8047b76
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/iflist/iflist.vcproj
@@ -0,0 +1,364 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="iflist"
+ ProjectGUID="{AD22E53E-6B36-4514-8F90-A92D2CFAAEBF}"
+ RootNamespace="iflist"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\iflist.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/3rdparty/winpcap/Examples-pcap/pcap_filter/GNUmakefile b/3rdparty/winpcap/Examples-pcap/pcap_filter/GNUmakefile
new file mode 100644
index 00000000000..2252393069f
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/pcap_filter/GNUmakefile
@@ -0,0 +1,17 @@
+# Makefile for cygwin gcc
+# Nate Lawson <nate@rootlabs.com>
+
+PCAP_PATH = ../../lib
+CFLAGS = -g -O -mno-cygwin -I ../../include
+
+OBJS = pcap_filter.o
+LIBS = -L ${PCAP_PATH} -lwpcap
+
+all: ${OBJS}
+ ${CC} ${CFLAGS} -o pf.exe ${OBJS} ${LIBS}
+
+clean:
+ rm -f ${OBJS} pf.exe
+
+.c.o:
+ ${CC} ${CFLAGS} -c -o $*.o $<
diff --git a/3rdparty/winpcap/Examples-pcap/pcap_filter/Makefile.unix b/3rdparty/winpcap/Examples-pcap/pcap_filter/Makefile.unix
new file mode 100644
index 00000000000..f19978807cc
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/pcap_filter/Makefile.unix
@@ -0,0 +1,9 @@
+
+CC = gcc
+INCLDIR = -I /usr/src/sys
+LIBS = -lpcap
+
+pktdump: pcap_filter.o
+ $(CC) $(INCLDIR) pcap_filter.o $(LIBS) -o pf
+ rm *.o
+
diff --git a/3rdparty/winpcap/Examples-pcap/pcap_filter/pcap_filter.c b/3rdparty/winpcap/Examples-pcap/pcap_filter/pcap_filter.c
new file mode 100644
index 00000000000..d2f6e36783f
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/pcap_filter/pcap_filter.c
@@ -0,0 +1,179 @@
+/*
+ * Copyright (c) 1999 - 2005 NetGroup, Politecnico di Torino (Italy)
+ * Copyright (c) 2005 - 2006 CACE Technologies, Davis (California)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the Politecnico di Torino, CACE Technologies
+ * nor the names of its contributors may be used to endorse or promote
+ * products derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+
+#include <stdlib.h>
+#include <stdio.h>
+
+#include <pcap.h>
+
+#define MAX_PRINT 80
+#define MAX_LINE 16
+
+
+void usage();
+
+
+int main(int argc, char **argv)
+{
+ pcap_t *fp;
+ char errbuf[PCAP_ERRBUF_SIZE];
+ char *source = NULL;
+ char *ofilename = NULL;
+ char *filter = NULL;
+ int i;
+ pcap_dumper_t *dumpfile;
+ struct bpf_program fcode;
+ bpf_u_int32 NetMask;
+ int res;
+ struct pcap_pkthdr *header;
+ const u_char *pkt_data;
+
+ if (argc == 1)
+ {
+ usage();
+ return -1;
+ }
+
+ /* Parse parameters */
+ for(i=1;i < argc; i+= 2)
+ {
+ switch (argv[i] [1])
+ {
+ case 's':
+ {
+ source=argv[i+1];
+ };
+ break;
+
+ case 'o':
+ {
+ ofilename=argv[i+1];
+ };
+ break;
+
+ case 'f':
+ {
+ filter=argv[i+1];
+ };
+ break;
+ }
+ }
+
+ // open a capture from the network
+ if (source != NULL)
+ {
+ if ((fp = pcap_open_live(source, // name of the device
+ 65536, // portion of the packet to capture.
+ // 65536 grants that the whole packet will be captured on all the MACs.
+ 1, // promiscuous mode (nonzero means promiscuous)
+ 1000, // read timeout
+ errbuf // error buffer
+ )) == NULL)
+ {
+ fprintf(stderr,"\nUnable to open the adapter.\n");
+ return -2;
+ }
+ }
+ else usage();
+
+ if (filter != NULL)
+ {
+ // We should loop through the adapters returned by the pcap_findalldevs_ex()
+ // in order to locate the correct one.
+ //
+ // Let's do things simpler: we suppose to be in a C class network ;-)
+ NetMask=0xffffff;
+
+ //compile the filter
+ if(pcap_compile(fp, &fcode, filter, 1, NetMask) < 0)
+ {
+ fprintf(stderr,"\nError compiling filter: wrong syntax.\n");
+
+ pcap_close(fp);
+ return -3;
+ }
+
+ //set the filter
+ if(pcap_setfilter(fp, &fcode)<0)
+ {
+ fprintf(stderr,"\nError setting the filter\n");
+
+ pcap_close(fp);
+ return -4;
+ }
+
+ }
+
+ //open the dump file
+ if (ofilename != NULL)
+ {
+ dumpfile= pcap_dump_open(fp, ofilename);
+
+ if (dumpfile == NULL)
+ {
+ fprintf(stderr,"\nError opening output file\n");
+
+ pcap_close(fp);
+ return -5;
+ }
+ }
+ else usage();
+
+ //start the capture
+ while((res = pcap_next_ex( fp, &header, &pkt_data)) >= 0)
+ {
+
+ if(res == 0)
+ /* Timeout elapsed */
+ continue;
+
+ //save the packet on the dump file
+ pcap_dump((unsigned char *) dumpfile, header, pkt_data);
+
+ }
+
+ pcap_close(fp);
+ pcap_dump_close(dumpfile);
+
+ return 0;
+}
+
+
+void usage()
+{
+
+ printf("\npf - Generic Packet Filter.\n");
+ printf("\nUsage:\npf -s source -o output_file_name [-f filter_string]\n\n");
+ exit(0);
+}
diff --git a/3rdparty/winpcap/Examples-pcap/pcap_filter/pcap_filter.dsp b/3rdparty/winpcap/Examples-pcap/pcap_filter/pcap_filter.dsp
new file mode 100644
index 00000000000..c01d2e7e31f
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/pcap_filter/pcap_filter.dsp
@@ -0,0 +1,110 @@
+# Microsoft Developer Studio Project File - Name="pcap_filter" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=pcap_filter - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "pcap_filter.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "pcap_filter.mak" CFG="pcap_filter - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "pcap_filter - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "pcap_filter - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "pcap_filter - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /c
+# ADD BASE RSC /l 0x410 /d "NDEBUG"
+# ADD RSC /l 0x410 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib /nologo /subsystem:console /machine:I386 /out:"Release/pf.exe"
+
+!ELSEIF "$(CFG)" == "pcap_filter - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x410 /d "_DEBUG"
+# ADD RSC /l 0x410 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib /nologo /subsystem:console /debug /machine:I386 /out:"Debug/pf.exe" /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "pcap_filter - Win32 Release"
+# Name "pcap_filter - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\pcap_filter.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=..\..\include\pcap.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# Begin Source File
+
+SOURCE=..\..\lib\Wpcap.lib
+# End Source File
+# End Target
+# End Project
diff --git a/3rdparty/winpcap/Examples-pcap/pcap_filter/pcap_filter.dsw b/3rdparty/winpcap/Examples-pcap/pcap_filter/pcap_filter.dsw
new file mode 100644
index 00000000000..1d39119b4d7
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/pcap_filter/pcap_filter.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "pcap_filter"=.\pcap_filter.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/3rdparty/winpcap/Examples-pcap/pcap_filter/pcap_filter.vcproj b/3rdparty/winpcap/Examples-pcap/pcap_filter/pcap_filter.vcproj
new file mode 100644
index 00000000000..e6fe721cdc1
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/pcap_filter/pcap_filter.vcproj
@@ -0,0 +1,364 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="pcap_filter"
+ ProjectGUID="{1F9B464B-56FE-4649-BE0E-E0B9B3DDEB00}"
+ RootNamespace="pcap_filter"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\pcap_filter.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/3rdparty/winpcap/Examples-pcap/pktdump_ex/GNUmakefile b/3rdparty/winpcap/Examples-pcap/pktdump_ex/GNUmakefile
new file mode 100644
index 00000000000..db276c59d39
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/pktdump_ex/GNUmakefile
@@ -0,0 +1,14 @@
+PCAP_PATH = ../../lib
+CFLAGS = -g -O -mno-cygwin -I ../../include
+
+OBJS = pktdump_ex.o
+LIBS = -L ${PCAP_PATH} -lwpcap
+
+all: ${OBJS}
+ ${CC} ${CFLAGS} -o pktdump_ex.exe ${OBJS} ${LIBS}
+
+clean:
+ rm -f ${OBJS} pktdump_ex.exe
+
+.c.o:
+ ${CC} ${CFLAGS} -c -o $*.o $<
diff --git a/3rdparty/winpcap/Examples-pcap/pktdump_ex/pktdump_ex.c b/3rdparty/winpcap/Examples-pcap/pktdump_ex/pktdump_ex.c
new file mode 100644
index 00000000000..383eaa970ac
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/pktdump_ex/pktdump_ex.c
@@ -0,0 +1,166 @@
+/*
+ * Copyright (c) 1999 - 2005 NetGroup, Politecnico di Torino (Italy)
+ * Copyright (c) 2005 - 2006 CACE Technologies, Davis (California)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the Politecnico di Torino, CACE Technologies
+ * nor the names of its contributors may be used to endorse or promote
+ * products derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#ifdef _MSC_VER
+/*
+ * we do not want the warnings about the old deprecated and unsecure CRT functions
+ * since these examples can be compiled under *nix as well
+ */
+#define _CRT_SECURE_NO_WARNINGS
+#endif
+
+#include <stdlib.h>
+#include <stdio.h>
+
+#include <pcap.h>
+
+#define LINE_LEN 16
+
+
+int main(int argc, char **argv)
+{
+ pcap_if_t *alldevs, *d;
+ pcap_t *fp;
+ u_int inum, i=0;
+ char errbuf[PCAP_ERRBUF_SIZE];
+ int res;
+ struct pcap_pkthdr *header;
+ const u_char *pkt_data;
+
+ printf("pktdump_ex: prints the packets of the network using WinPcap.\n");
+ printf(" Usage: pktdump_ex [-s source]\n\n"
+ " Examples:\n"
+ " pktdump_ex -s file.acp\n"
+ " pktdump_ex -s \\Device\\NPF_{C8736017-F3C3-4373-94AC-9A34B7DAD998}\n\n");
+
+ if(argc < 3)
+ {
+ printf("\nNo adapter selected: printing the device list:\n");
+ /* The user didn't provide a packet source: Retrieve the local device list */
+ if(pcap_findalldevs(&alldevs, errbuf) == -1)
+ {
+ fprintf(stderr,"Error in pcap_findalldevs_ex: %s\n", errbuf);
+ exit(1);
+ }
+
+ /* Print the list */
+ for(d=alldevs; d; d=d->next)
+ {
+ printf("%d. %s\n ", ++i, d->name);
+
+ if (d->description)
+ printf(" (%s)\n", d->description);
+ else
+ printf(" (No description available)\n");
+ }
+
+ if (i==0)
+ {
+ printf("\nNo interfaces found! Make sure WinPcap is installed.\n");
+ return -1;
+ }
+
+ printf("Enter the interface number (1-%d):",i);
+ scanf("%d", &inum);
+
+ if (inum < 1 || inum > i)
+ {
+ printf("\nInterface number out of range.\n");
+
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+ return -1;
+ }
+
+ /* Jump to the selected adapter */
+ for (d=alldevs, i=0; i< inum-1 ;d=d->next, i++);
+
+ /* Open the adapter */
+ if ((fp = pcap_open_live(d->name, // name of the device
+ 65536, // portion of the packet to capture.
+ // 65536 grants that the whole packet will be captured on all the MACs.
+ 1, // promiscuous mode (nonzero means promiscuous)
+ 1000, // read timeout
+ errbuf // error buffer
+ )) == NULL)
+ {
+ fprintf(stderr,"\nError opening adapter\n");
+ return -1;
+ }
+ }
+ else
+ {
+ /* Do not check for the switch type ('-s') */
+ if ((fp = pcap_open_live(argv[2], // name of the device
+ 65536, // portion of the packet to capture.
+ // 65536 grants that the whole packet will be captured on all the MACs.
+ 1, // promiscuous mode (nonzero means promiscuous)
+ 1000, // read timeout
+ errbuf // error buffer
+ )) == NULL)
+ {
+ fprintf(stderr,"\nError opening adapter\n");
+ return -1;
+ }
+ }
+
+ /* Read the packets */
+ while((res = pcap_next_ex( fp, &header, &pkt_data)) >= 0)
+ {
+
+ if(res == 0)
+ /* Timeout elapsed */
+ continue;
+
+ /* print pkt timestamp and pkt len */
+ printf("%ld:%ld (%ld)\n", header->ts.tv_sec, header->ts.tv_usec, header->len);
+
+ /* Print the packet */
+ for (i=1; (i < header->caplen + 1 ) ; i++)
+ {
+ printf("%.2x ", pkt_data[i-1]);
+ if ( (i % LINE_LEN) == 0) printf("\n");
+ }
+
+ printf("\n\n");
+ }
+
+ if(res == -1)
+ {
+ printf("Error reading the packets: %s\n", pcap_geterr(fp));
+ return -1;
+ }
+
+ pcap_close(fp);
+ return 0;
+}
diff --git a/3rdparty/winpcap/Examples-pcap/pktdump_ex/pktdump_ex.dsp b/3rdparty/winpcap/Examples-pcap/pktdump_ex/pktdump_ex.dsp
new file mode 100644
index 00000000000..a9800e6a1e5
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/pktdump_ex/pktdump_ex.dsp
@@ -0,0 +1,110 @@
+# Microsoft Developer Studio Project File - Name="pktdump_ex" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=pktdump_ex - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "pktdump_ex.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "pktdump_ex.mak" CFG="pktdump_ex - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "pktdump_ex - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "pktdump_ex - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "pktdump_ex - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /c
+# ADD BASE RSC /l 0x410 /d "NDEBUG"
+# ADD RSC /l 0x410 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF "$(CFG)" == "pktdump_ex - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x410 /d "_DEBUG"
+# ADD RSC /l 0x410 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "pktdump_ex - Win32 Release"
+# Name "pktdump_ex - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\pktdump_ex.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=..\..\include\pcap.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# Begin Source File
+
+SOURCE=..\..\lib\Wpcap.lib
+# End Source File
+# End Target
+# End Project
diff --git a/3rdparty/winpcap/Examples-pcap/pktdump_ex/pktdump_ex.dsw b/3rdparty/winpcap/Examples-pcap/pktdump_ex/pktdump_ex.dsw
new file mode 100644
index 00000000000..ec247333283
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/pktdump_ex/pktdump_ex.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "pktdump_ex"=.\pktdump_ex.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/3rdparty/winpcap/Examples-pcap/pktdump_ex/pktdump_ex.vcproj b/3rdparty/winpcap/Examples-pcap/pktdump_ex/pktdump_ex.vcproj
new file mode 100644
index 00000000000..f477c047aca
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/pktdump_ex/pktdump_ex.vcproj
@@ -0,0 +1,364 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="pktdump_ex"
+ ProjectGUID="{E501F12B-2CAD-4b65-BFB9-E012553BE0A2}"
+ RootNamespace="pktdump_ex"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\pktdump_ex.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/3rdparty/winpcap/Examples-pcap/readfile/GNUmakefile b/3rdparty/winpcap/Examples-pcap/readfile/GNUmakefile
new file mode 100644
index 00000000000..967bc186ec4
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/readfile/GNUmakefile
@@ -0,0 +1,17 @@
+# Makefile for cygwin gcc
+# Nate Lawson <nate@rootlabs.com>
+
+PCAP_PATH = ../../lib
+CFLAGS = -g -O -mno-cygwin -I ../../include
+
+OBJS = readfile.o
+LIBS = -L ${PCAP_PATH} -lwpcap
+
+all: ${OBJS}
+ ${CC} ${CFLAGS} -o readfile.exe ${OBJS} ${LIBS}
+
+clean:
+ rm -f ${OBJS} readfile.exe
+
+.c.o:
+ ${CC} ${CFLAGS} -c -o $*.o $<
diff --git a/3rdparty/winpcap/Examples-pcap/readfile/readfile.c b/3rdparty/winpcap/Examples-pcap/readfile/readfile.c
new file mode 100644
index 00000000000..c62dc463c9a
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/readfile/readfile.c
@@ -0,0 +1,61 @@
+#include <stdio.h>
+#include <pcap.h>
+
+#define LINE_LEN 16
+
+void dispatcher_handler(u_char *, const struct pcap_pkthdr *, const u_char *);
+
+int main(int argc, char **argv)
+{
+ pcap_t *fp;
+ char errbuf[PCAP_ERRBUF_SIZE];
+
+ if(argc != 2)
+ {
+ printf("usage: %s filename", argv[0]);
+ return -1;
+
+ }
+
+ /* Open the capture file */
+ if ((fp = pcap_open_offline(argv[1], // name of the device
+ errbuf // error buffer
+ )) == NULL)
+ {
+ fprintf(stderr,"\nUnable to open the file %s.\n", argv[1]);
+ return -1;
+ }
+
+ /* read and dispatch packets until EOF is reached */
+ pcap_loop(fp, 0, dispatcher_handler, NULL);
+
+ pcap_close(fp);
+ return 0;
+}
+
+
+
+void dispatcher_handler(u_char *temp1,
+ const struct pcap_pkthdr *header,
+ const u_char *pkt_data)
+{
+ u_int i=0;
+
+ /*
+ * unused variable
+ */
+ (VOID*)temp1;
+
+ /* print pkt timestamp and pkt len */
+ printf("%ld:%ld (%ld)\n", header->ts.tv_sec, header->ts.tv_usec, header->len);
+
+ /* Print the packet */
+ for (i=1; (i < header->caplen + 1 ) ; i++)
+ {
+ printf("%.2x ", pkt_data[i-1]);
+ if ( (i % LINE_LEN) == 0) printf("\n");
+ }
+
+ printf("\n\n");
+
+}
diff --git a/3rdparty/winpcap/Examples-pcap/readfile/readfile.dsp b/3rdparty/winpcap/Examples-pcap/readfile/readfile.dsp
new file mode 100644
index 00000000000..5d45bde1454
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/readfile/readfile.dsp
@@ -0,0 +1,110 @@
+# Microsoft Developer Studio Project File - Name="readfile" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=readfile - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "readfile.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "readfile.mak" CFG="readfile - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "readfile - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "readfile - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "readfile - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /c
+# ADD BASE RSC /l 0x410 /d "NDEBUG"
+# ADD RSC /l 0x410 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib ws2_32.lib Iphlpapi.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF "$(CFG)" == "readfile - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /I "D:/Program Files/Microsoft Platform SDK/include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x410 /d "_DEBUG"
+# ADD RSC /l 0x410 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib ws2_32.lib Iphlpapi.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "readfile - Win32 Release"
+# Name "readfile - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\readfile.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=..\..\include\pcap.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# Begin Source File
+
+SOURCE=..\..\lib\Wpcap.lib
+# End Source File
+# End Target
+# End Project
diff --git a/3rdparty/winpcap/Examples-pcap/readfile/readfile.dsw b/3rdparty/winpcap/Examples-pcap/readfile/readfile.dsw
new file mode 100644
index 00000000000..7565dbdeb1c
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/readfile/readfile.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "readfile"=.\readfile.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/3rdparty/winpcap/Examples-pcap/readfile/readfile.vcproj b/3rdparty/winpcap/Examples-pcap/readfile/readfile.vcproj
new file mode 100644
index 00000000000..20b30c3f4a0
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/readfile/readfile.vcproj
@@ -0,0 +1,364 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="readfile"
+ ProjectGUID="{D47AE2DA-FDC6-430e-AA6A-15290E3AA5B5}"
+ RootNamespace="readfile"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\readfile.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/3rdparty/winpcap/Examples-pcap/readfile_ex/GNUmakefile b/3rdparty/winpcap/Examples-pcap/readfile_ex/GNUmakefile
new file mode 100644
index 00000000000..3eaba96148d
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/readfile_ex/GNUmakefile
@@ -0,0 +1,17 @@
+# Makefile for cygwin gcc
+# Nate Lawson <nate@rootlabs.com>
+
+PCAP_PATH = ../../lib
+CFLAGS = -g -O -mno-cygwin -I ../../include
+
+OBJS = readfile_ex.o
+LIBS = -L ${PCAP_PATH} -lwpcap
+
+all: ${OBJS}
+ ${CC} ${CFLAGS} -o readfile_ex.exe ${OBJS} ${LIBS}
+
+clean:
+ rm -f ${OBJS} readfile_ex.exe
+
+.c.o:
+ ${CC} ${CFLAGS} -c -o $*.o $<
diff --git a/3rdparty/winpcap/Examples-pcap/readfile_ex/readfile_ex.c b/3rdparty/winpcap/Examples-pcap/readfile_ex/readfile_ex.c
new file mode 100644
index 00000000000..9b6e9ed2a31
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/readfile_ex/readfile_ex.c
@@ -0,0 +1,56 @@
+#include <stdio.h>
+#include <pcap.h>
+
+#define LINE_LEN 16
+
+int main(int argc, char **argv)
+{
+ pcap_t *fp;
+ char errbuf[PCAP_ERRBUF_SIZE];
+ struct pcap_pkthdr *header;
+ const u_char *pkt_data;
+ u_int i=0;
+ int res;
+
+ if(argc != 2)
+ {
+ printf("usage: %s filename", argv[0]);
+ return -1;
+
+ }
+
+ /* Open the capture file */
+ if ((fp = pcap_open_offline(argv[1], // name of the device
+ errbuf // error buffer
+ )) == NULL)
+ {
+ fprintf(stderr,"\nUnable to open the file %s.\n", argv[1]);
+ return -1;
+ }
+
+ /* Retrieve the packets from the file */
+ while((res = pcap_next_ex(fp, &header, &pkt_data)) >= 0)
+ {
+ /* print pkt timestamp and pkt len */
+ printf("%ld:%ld (%ld)\n", header->ts.tv_sec, header->ts.tv_usec, header->len);
+
+ /* Print the packet */
+ for (i=1; (i < header->caplen + 1 ) ; i++)
+ {
+ printf("%.2x ", pkt_data[i-1]);
+ if ( (i % LINE_LEN) == 0) printf("\n");
+ }
+
+ printf("\n\n");
+ }
+
+
+ if (res == -1)
+ {
+ printf("Error reading the packets: %s\n", pcap_geterr(fp));
+ }
+
+ pcap_close(fp);
+ return 0;
+}
+
diff --git a/3rdparty/winpcap/Examples-pcap/readfile_ex/readfile_ex.dsp b/3rdparty/winpcap/Examples-pcap/readfile_ex/readfile_ex.dsp
new file mode 100644
index 00000000000..07dcf9ffb96
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/readfile_ex/readfile_ex.dsp
@@ -0,0 +1,110 @@
+# Microsoft Developer Studio Project File - Name="readfile_ex" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=readfile_ex - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "readfile_ex.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "readfile_ex.mak" CFG="readfile_ex - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "readfile_ex - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "readfile_ex - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "readfile_ex - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /c
+# ADD BASE RSC /l 0x410 /d "NDEBUG"
+# ADD RSC /l 0x410 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib ws2_32.lib Iphlpapi.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF "$(CFG)" == "readfile_ex - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /I "D:/Program Files/Microsoft Platform SDK/include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x410 /d "_DEBUG"
+# ADD RSC /l 0x410 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib ws2_32.lib Iphlpapi.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "readfile_ex - Win32 Release"
+# Name "readfile_ex - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\readfile_ex.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=..\..\include\pcap.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# Begin Source File
+
+SOURCE=..\..\lib\Wpcap.lib
+# End Source File
+# End Target
+# End Project
diff --git a/3rdparty/winpcap/Examples-pcap/readfile_ex/readfile_ex.dsw b/3rdparty/winpcap/Examples-pcap/readfile_ex/readfile_ex.dsw
new file mode 100644
index 00000000000..8e4c30655a5
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/readfile_ex/readfile_ex.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "readfile_ex"=.\readfile_ex.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/3rdparty/winpcap/Examples-pcap/readfile_ex/readfile_ex.vcproj b/3rdparty/winpcap/Examples-pcap/readfile_ex/readfile_ex.vcproj
new file mode 100644
index 00000000000..d7c16b4138f
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/readfile_ex/readfile_ex.vcproj
@@ -0,0 +1,364 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="readfile_ex"
+ ProjectGUID="{C34F10C8-A733-4d64-B1AF-2AAA53FA6506}"
+ RootNamespace="readfile_ex"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\readfile_ex.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/3rdparty/winpcap/Examples-pcap/savedump/GNUmakefile b/3rdparty/winpcap/Examples-pcap/savedump/GNUmakefile
new file mode 100644
index 00000000000..86bbaa0a0b6
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/savedump/GNUmakefile
@@ -0,0 +1,17 @@
+# Makefile for cygwin gcc
+# Nate Lawson <nate@rootlabs.com>
+
+PCAP_PATH = ../../lib
+CFLAGS = -g -O -mno-cygwin -I ../../include
+
+OBJS = savedump.o
+LIBS = -L ${PCAP_PATH} -lwpcap
+
+all: ${OBJS}
+ ${CC} ${CFLAGS} -o savedump.exe ${OBJS} ${LIBS}
+
+clean:
+ rm -f ${OBJS} savedump.exe
+
+.c.o:
+ ${CC} ${CFLAGS} -c -o $*.o $<
diff --git a/3rdparty/winpcap/Examples-pcap/savedump/savedump.c b/3rdparty/winpcap/Examples-pcap/savedump/savedump.c
new file mode 100644
index 00000000000..17456a77e45
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/savedump/savedump.c
@@ -0,0 +1,111 @@
+#ifdef _MSC_VER
+/*
+ * we do not want the warnings about the old deprecated and unsecure CRT functions
+ * since these examples can be compiled under *nix as well
+ */
+#define _CRT_SECURE_NO_WARNINGS
+#endif
+
+#include "pcap.h"
+
+/* prototype of the packet handler */
+void packet_handler(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data);
+
+int main(int argc, char **argv)
+{
+ pcap_if_t *alldevs;
+ pcap_if_t *d;
+ int inum;
+ int i=0;
+ pcap_t *adhandle;
+ char errbuf[PCAP_ERRBUF_SIZE];
+ pcap_dumper_t *dumpfile;
+
+
+ /* Check command line */
+ if(argc != 2)
+ {
+ printf("usage: %s filename", argv[0]);
+ return -1;
+ }
+
+ /* Retrieve the device list on the local machine */
+ if (pcap_findalldevs(&alldevs, errbuf) == -1)
+ {
+ fprintf(stderr,"Error in pcap_findalldevs: %s\n", errbuf);
+ exit(1);
+ }
+
+ /* Print the list */
+ for(d=alldevs; d; d=d->next)
+ {
+ printf("%d. %s", ++i, d->name);
+ if (d->description)
+ printf(" (%s)\n", d->description);
+ else
+ printf(" (No description available)\n");
+ }
+
+ if(i==0)
+ {
+ printf("\nNo interfaces found! Make sure WinPcap is installed.\n");
+ return -1;
+ }
+
+ printf("Enter the interface number (1-%d):",i);
+ scanf("%d", &inum);
+
+ if(inum < 1 || inum > i)
+ {
+ printf("\nInterface number out of range.\n");
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+ return -1;
+ }
+
+ /* Jump to the selected adapter */
+ for(d=alldevs, i=0; i< inum-1 ;d=d->next, i++);
+
+
+ /* Open the adapter */
+ if ((adhandle= pcap_open_live(d->name, // name of the device
+ 65536, // portion of the packet to capture.
+ // 65536 grants that the whole packet will be captured on all the MACs.
+ 1, // promiscuous mode (nonzero means promiscuous)
+ 1000, // read timeout
+ errbuf // error buffer
+ )) == NULL)
+ {
+ fprintf(stderr,"\nUnable to open the adapter. %s is not supported by WinPcap\n", d->name);
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+ return -1;
+ }
+
+ /* Open the dump file */
+ dumpfile = pcap_dump_open(adhandle, argv[1]);
+
+ if(dumpfile==NULL)
+ {
+ fprintf(stderr,"\nError opening output file\n");
+ return -1;
+ }
+
+ printf("\nlistening on %s... Press Ctrl+C to stop...\n", d->description);
+
+ /* At this point, we no longer need the device list. Free it */
+ pcap_freealldevs(alldevs);
+
+ /* start the capture */
+ pcap_loop(adhandle, 0, packet_handler, (unsigned char *)dumpfile);
+
+ pcap_close(adhandle);
+ return 0;
+}
+
+/* Callback function invoked by libpcap for every incoming packet */
+void packet_handler(u_char *dumpfile, const struct pcap_pkthdr *header, const u_char *pkt_data)
+{
+ /* save the packet on the dump file */
+ pcap_dump(dumpfile, header, pkt_data);
+}
diff --git a/3rdparty/winpcap/Examples-pcap/savedump/savedump.dsp b/3rdparty/winpcap/Examples-pcap/savedump/savedump.dsp
new file mode 100644
index 00000000000..22d5d399777
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/savedump/savedump.dsp
@@ -0,0 +1,110 @@
+# Microsoft Developer Studio Project File - Name="savedump" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=savedump - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "savedump.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "savedump.mak" CFG="savedump - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "savedump - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "savedump - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "savedump - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /c
+# ADD BASE RSC /l 0x410 /d "NDEBUG"
+# ADD RSC /l 0x410 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib ws2_32.lib Iphlpapi.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF "$(CFG)" == "savedump - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /I "D:/Program Files/Microsoft Platform SDK/include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x410 /d "_DEBUG"
+# ADD RSC /l 0x410 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib ws2_32.lib Iphlpapi.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "savedump - Win32 Release"
+# Name "savedump - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\savedump.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=..\..\include\pcap.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# Begin Source File
+
+SOURCE=..\..\lib\Wpcap.lib
+# End Source File
+# End Target
+# End Project
diff --git a/3rdparty/winpcap/Examples-pcap/savedump/savedump.dsw b/3rdparty/winpcap/Examples-pcap/savedump/savedump.dsw
new file mode 100644
index 00000000000..b0e9fc6495e
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/savedump/savedump.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "savedump"=.\savedump.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/3rdparty/winpcap/Examples-pcap/savedump/savedump.vcproj b/3rdparty/winpcap/Examples-pcap/savedump/savedump.vcproj
new file mode 100644
index 00000000000..00873281ddd
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/savedump/savedump.vcproj
@@ -0,0 +1,364 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="savedump"
+ ProjectGUID="{FC4AF1CF-72A5-4862-9F38-5063A588B2A6}"
+ RootNamespace="savedump"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\savedump.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/3rdparty/winpcap/Examples-pcap/sendpack/GNUmakefile b/3rdparty/winpcap/Examples-pcap/sendpack/GNUmakefile
new file mode 100644
index 00000000000..60fd211d4d8
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/sendpack/GNUmakefile
@@ -0,0 +1,17 @@
+# Makefile for cygwin gcc
+# Nate Lawson <nate@rootlabs.com>
+
+PCAP_PATH = ../../lib
+CFLAGS = -g -O -mno-cygwin -I ../../include
+
+OBJS = sendpack.o
+LIBS = -L ${PCAP_PATH} -lwpcap
+
+all: ${OBJS}
+ ${CC} ${CFLAGS} -o sendpack.exe ${OBJS} ${LIBS}
+
+clean:
+ rm -f ${OBJS} sendpack.exe
+
+.c.o:
+ ${CC} ${CFLAGS} -c -o $*.o $<
diff --git a/3rdparty/winpcap/Examples-pcap/sendpack/sendpack.c b/3rdparty/winpcap/Examples-pcap/sendpack/sendpack.c
new file mode 100644
index 00000000000..7c68c9105e7
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/sendpack/sendpack.c
@@ -0,0 +1,68 @@
+#include <stdlib.h>
+#include <stdio.h>
+
+#include <pcap.h>
+
+
+int main(int argc, char **argv)
+{
+ pcap_t *fp;
+ char errbuf[PCAP_ERRBUF_SIZE];
+ u_char packet[100];
+ int i;
+
+ /* Check the validity of the command line */
+ if (argc != 2)
+ {
+ printf("usage: %s interface", argv[0]);
+ return 1;
+ }
+
+ /* Open the adapter */
+ if ((fp = pcap_open_live(argv[1], // name of the device
+ 65536, // portion of the packet to capture. It doesn't matter in this case
+ 1, // promiscuous mode (nonzero means promiscuous)
+ 1000, // read timeout
+ errbuf // error buffer
+ )) == NULL)
+ {
+ fprintf(stderr,"\nUnable to open the adapter. %s is not supported by WinPcap\n", argv[1]);
+ return 2;
+ }
+
+ /* Supposing to be on ethernet, set mac destination to 1:1:1:1:1:1 */
+ packet[0]=1;
+ packet[1]=1;
+ packet[2]=1;
+ packet[3]=1;
+ packet[4]=1;
+ packet[5]=1;
+
+ /* set mac source to 2:2:2:2:2:2 */
+ packet[6]=2;
+ packet[7]=2;
+ packet[8]=2;
+ packet[9]=2;
+ packet[10]=2;
+ packet[11]=2;
+
+ /* Fill the rest of the packet */
+ for(i=12;i<100;i++)
+ {
+ packet[i]= (u_char)i;
+ }
+
+ /* Send down the packet */
+ if (pcap_sendpacket(fp, // Adapter
+ packet, // buffer with the packet
+ 100 // size
+ ) != 0)
+ {
+ fprintf(stderr,"\nError sending the packet: %s\n", pcap_geterr(fp));
+ return 3;
+ }
+
+ pcap_close(fp);
+ return 0;
+}
+
diff --git a/3rdparty/winpcap/Examples-pcap/sendpack/sendpack.dsp b/3rdparty/winpcap/Examples-pcap/sendpack/sendpack.dsp
new file mode 100644
index 00000000000..95022e377dc
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/sendpack/sendpack.dsp
@@ -0,0 +1,110 @@
+# Microsoft Developer Studio Project File - Name="sendpack" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=sendpack - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "sendpack.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "sendpack.mak" CFG="sendpack - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "sendpack - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "sendpack - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "sendpack - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /c
+# ADD BASE RSC /l 0x410 /d "NDEBUG"
+# ADD RSC /l 0x410 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib ws2_32.lib Iphlpapi.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF "$(CFG)" == "sendpack - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /I "D:/Program Files/Microsoft Platform SDK/include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x410 /d "_DEBUG"
+# ADD RSC /l 0x410 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib ws2_32.lib Iphlpapi.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "sendpack - Win32 Release"
+# Name "sendpack - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\sendpack.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=..\..\include\pcap.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# Begin Source File
+
+SOURCE=..\..\lib\Wpcap.lib
+# End Source File
+# End Target
+# End Project
diff --git a/3rdparty/winpcap/Examples-pcap/sendpack/sendpack.dsw b/3rdparty/winpcap/Examples-pcap/sendpack/sendpack.dsw
new file mode 100644
index 00000000000..1ccadc7fe8e
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/sendpack/sendpack.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "sendpack"=.\sendpack.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/3rdparty/winpcap/Examples-pcap/sendpack/sendpack.vcproj b/3rdparty/winpcap/Examples-pcap/sendpack/sendpack.vcproj
new file mode 100644
index 00000000000..6a6b1c223fe
--- /dev/null
+++ b/3rdparty/winpcap/Examples-pcap/sendpack/sendpack.vcproj
@@ -0,0 +1,364 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="sendpack"
+ ProjectGUID="{58E5469B-4C43-43c5-9E63-86D92D870D19}"
+ RootNamespace="sendpack"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\sendpack.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/3rdparty/winpcap/Examples-remote/MakeAll.sln b/3rdparty/winpcap/Examples-remote/MakeAll.sln
new file mode 100644
index 00000000000..f22bc478ae3
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/MakeAll.sln
@@ -0,0 +1,196 @@
+
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual Studio 2005
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iflist", "iflist\iflist.vcproj", "{B0C740E1-73A3-43C7-B0CB-B715A4E691DD}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic_dump", "misc\basic_dump.vcproj", "{66297062-96A0-4F0E-B147-3C8384031232}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic_dump_ex", "misc\basic_dump_ex.vcproj", "{92849630-6B09-409C-A7AD-E91E682558B1}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "readfile", "misc\readfile.vcproj", "{161E7606-F4CD-4A04-AB6B-5837F7818EE1}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "readfile_ex", "misc\readfile_ex.vcproj", "{3071DFB6-68F8-41EF-A56C-0C7A71B6967C}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "savedump", "misc\savedump.vcproj", "{1B8791CB-DD15-46BF-B0A2-879892085538}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sendpack", "misc\sendpack.vcproj", "{1C376689-5F61-48E7-AE83-0DED9EE9E458}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pcap_filter", "pcap_filter\pcap_filter.vcproj", "{B9F68F6F-22AE-47A2-A3A3-1212831AF9FF}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pktdump_ex", "pktdump_ex\pktdump_ex.vcproj", "{3D62DEB4-3536-44AE-8E4B-AD6DFF1B795E}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sendcap", "sendcap\sendcap.vcproj", "{C6712171-F9B8-4A1E-A774-5D93C9116CEE}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "smp_1", "smp_1\smp_1.vcproj", "{21F49E7F-6C58-4DA5-ABE5-A9DFB6165C83}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tcptop", "tcptop\tcptop.vcproj", "{B671D5DF-3A80-4A21-BC01-79E3FB73D372}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UDPdump", "UDPdump\UDPdump.vcproj", "{42E5F1D6-6E83-4C13-83CC-C6CD83478C58}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UserBridge", "UserLevelBridge\UserBridge.vcproj", "{BB73BFD4-454F-42C8-AFE6-FA890A8BD8FC}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GetMacAddress", "PacketDriver\GetMacAddress\GetMacAddress.vcproj", "{0E6A3C08-86E8-495B-976B-2666AB16501C}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestPacketCapture", "PacketDriver\TestPacketCapture\TestPacketCapture.vcproj", "{79942922-E02C-486D-9EE3-A13C0876C4C2}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestPacketSend", "PacketDriver\TestPacketSend\TestPacketSend.vcproj", "{1E3BED58-2F2C-463A-B9FD-9A55235C6840}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pcap_fopen", "pcap_fopen\pcap_fopen.vcproj", "{DD317CB5-6337-498F-A560-553B5558E133}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {B0C740E1-73A3-43C7-B0CB-B715A4E691DD}.Debug|Win32.ActiveCfg = Debug|Win32
+ {B0C740E1-73A3-43C7-B0CB-B715A4E691DD}.Debug|Win32.Build.0 = Debug|Win32
+ {B0C740E1-73A3-43C7-B0CB-B715A4E691DD}.Debug|x64.ActiveCfg = Debug|x64
+ {B0C740E1-73A3-43C7-B0CB-B715A4E691DD}.Debug|x64.Build.0 = Debug|x64
+ {B0C740E1-73A3-43C7-B0CB-B715A4E691DD}.Release|Win32.ActiveCfg = Release|Win32
+ {B0C740E1-73A3-43C7-B0CB-B715A4E691DD}.Release|Win32.Build.0 = Release|Win32
+ {B0C740E1-73A3-43C7-B0CB-B715A4E691DD}.Release|x64.ActiveCfg = Release|x64
+ {B0C740E1-73A3-43C7-B0CB-B715A4E691DD}.Release|x64.Build.0 = Release|x64
+ {66297062-96A0-4F0E-B147-3C8384031232}.Debug|Win32.ActiveCfg = Debug|Win32
+ {66297062-96A0-4F0E-B147-3C8384031232}.Debug|Win32.Build.0 = Debug|Win32
+ {66297062-96A0-4F0E-B147-3C8384031232}.Debug|x64.ActiveCfg = Debug|x64
+ {66297062-96A0-4F0E-B147-3C8384031232}.Debug|x64.Build.0 = Debug|x64
+ {66297062-96A0-4F0E-B147-3C8384031232}.Release|Win32.ActiveCfg = Release|Win32
+ {66297062-96A0-4F0E-B147-3C8384031232}.Release|Win32.Build.0 = Release|Win32
+ {66297062-96A0-4F0E-B147-3C8384031232}.Release|x64.ActiveCfg = Release|x64
+ {66297062-96A0-4F0E-B147-3C8384031232}.Release|x64.Build.0 = Release|x64
+ {92849630-6B09-409C-A7AD-E91E682558B1}.Debug|Win32.ActiveCfg = Debug|Win32
+ {92849630-6B09-409C-A7AD-E91E682558B1}.Debug|Win32.Build.0 = Debug|Win32
+ {92849630-6B09-409C-A7AD-E91E682558B1}.Debug|x64.ActiveCfg = Debug|x64
+ {92849630-6B09-409C-A7AD-E91E682558B1}.Debug|x64.Build.0 = Debug|x64
+ {92849630-6B09-409C-A7AD-E91E682558B1}.Release|Win32.ActiveCfg = Release|Win32
+ {92849630-6B09-409C-A7AD-E91E682558B1}.Release|Win32.Build.0 = Release|Win32
+ {92849630-6B09-409C-A7AD-E91E682558B1}.Release|x64.ActiveCfg = Release|x64
+ {92849630-6B09-409C-A7AD-E91E682558B1}.Release|x64.Build.0 = Release|x64
+ {161E7606-F4CD-4A04-AB6B-5837F7818EE1}.Debug|Win32.ActiveCfg = Debug|Win32
+ {161E7606-F4CD-4A04-AB6B-5837F7818EE1}.Debug|Win32.Build.0 = Debug|Win32
+ {161E7606-F4CD-4A04-AB6B-5837F7818EE1}.Debug|x64.ActiveCfg = Debug|x64
+ {161E7606-F4CD-4A04-AB6B-5837F7818EE1}.Debug|x64.Build.0 = Debug|x64
+ {161E7606-F4CD-4A04-AB6B-5837F7818EE1}.Release|Win32.ActiveCfg = Release|Win32
+ {161E7606-F4CD-4A04-AB6B-5837F7818EE1}.Release|Win32.Build.0 = Release|Win32
+ {161E7606-F4CD-4A04-AB6B-5837F7818EE1}.Release|x64.ActiveCfg = Release|x64
+ {161E7606-F4CD-4A04-AB6B-5837F7818EE1}.Release|x64.Build.0 = Release|x64
+ {3071DFB6-68F8-41EF-A56C-0C7A71B6967C}.Debug|Win32.ActiveCfg = Debug|Win32
+ {3071DFB6-68F8-41EF-A56C-0C7A71B6967C}.Debug|Win32.Build.0 = Debug|Win32
+ {3071DFB6-68F8-41EF-A56C-0C7A71B6967C}.Debug|x64.ActiveCfg = Debug|x64
+ {3071DFB6-68F8-41EF-A56C-0C7A71B6967C}.Debug|x64.Build.0 = Debug|x64
+ {3071DFB6-68F8-41EF-A56C-0C7A71B6967C}.Release|Win32.ActiveCfg = Release|Win32
+ {3071DFB6-68F8-41EF-A56C-0C7A71B6967C}.Release|Win32.Build.0 = Release|Win32
+ {3071DFB6-68F8-41EF-A56C-0C7A71B6967C}.Release|x64.ActiveCfg = Release|x64
+ {3071DFB6-68F8-41EF-A56C-0C7A71B6967C}.Release|x64.Build.0 = Release|x64
+ {1B8791CB-DD15-46BF-B0A2-879892085538}.Debug|Win32.ActiveCfg = Debug|Win32
+ {1B8791CB-DD15-46BF-B0A2-879892085538}.Debug|Win32.Build.0 = Debug|Win32
+ {1B8791CB-DD15-46BF-B0A2-879892085538}.Debug|x64.ActiveCfg = Debug|x64
+ {1B8791CB-DD15-46BF-B0A2-879892085538}.Debug|x64.Build.0 = Debug|x64
+ {1B8791CB-DD15-46BF-B0A2-879892085538}.Release|Win32.ActiveCfg = Release|Win32
+ {1B8791CB-DD15-46BF-B0A2-879892085538}.Release|Win32.Build.0 = Release|Win32
+ {1B8791CB-DD15-46BF-B0A2-879892085538}.Release|x64.ActiveCfg = Release|x64
+ {1B8791CB-DD15-46BF-B0A2-879892085538}.Release|x64.Build.0 = Release|x64
+ {1C376689-5F61-48E7-AE83-0DED9EE9E458}.Debug|Win32.ActiveCfg = Debug|Win32
+ {1C376689-5F61-48E7-AE83-0DED9EE9E458}.Debug|Win32.Build.0 = Debug|Win32
+ {1C376689-5F61-48E7-AE83-0DED9EE9E458}.Debug|x64.ActiveCfg = Debug|x64
+ {1C376689-5F61-48E7-AE83-0DED9EE9E458}.Debug|x64.Build.0 = Debug|x64
+ {1C376689-5F61-48E7-AE83-0DED9EE9E458}.Release|Win32.ActiveCfg = Release|Win32
+ {1C376689-5F61-48E7-AE83-0DED9EE9E458}.Release|Win32.Build.0 = Release|Win32
+ {1C376689-5F61-48E7-AE83-0DED9EE9E458}.Release|x64.ActiveCfg = Release|x64
+ {1C376689-5F61-48E7-AE83-0DED9EE9E458}.Release|x64.Build.0 = Release|x64
+ {B9F68F6F-22AE-47A2-A3A3-1212831AF9FF}.Debug|Win32.ActiveCfg = Debug|Win32
+ {B9F68F6F-22AE-47A2-A3A3-1212831AF9FF}.Debug|Win32.Build.0 = Debug|Win32
+ {B9F68F6F-22AE-47A2-A3A3-1212831AF9FF}.Debug|x64.ActiveCfg = Debug|x64
+ {B9F68F6F-22AE-47A2-A3A3-1212831AF9FF}.Debug|x64.Build.0 = Debug|x64
+ {B9F68F6F-22AE-47A2-A3A3-1212831AF9FF}.Release|Win32.ActiveCfg = Release|Win32
+ {B9F68F6F-22AE-47A2-A3A3-1212831AF9FF}.Release|Win32.Build.0 = Release|Win32
+ {B9F68F6F-22AE-47A2-A3A3-1212831AF9FF}.Release|x64.ActiveCfg = Release|x64
+ {B9F68F6F-22AE-47A2-A3A3-1212831AF9FF}.Release|x64.Build.0 = Release|x64
+ {3D62DEB4-3536-44AE-8E4B-AD6DFF1B795E}.Debug|Win32.ActiveCfg = Debug|Win32
+ {3D62DEB4-3536-44AE-8E4B-AD6DFF1B795E}.Debug|Win32.Build.0 = Debug|Win32
+ {3D62DEB4-3536-44AE-8E4B-AD6DFF1B795E}.Debug|x64.ActiveCfg = Debug|x64
+ {3D62DEB4-3536-44AE-8E4B-AD6DFF1B795E}.Debug|x64.Build.0 = Debug|x64
+ {3D62DEB4-3536-44AE-8E4B-AD6DFF1B795E}.Release|Win32.ActiveCfg = Release|Win32
+ {3D62DEB4-3536-44AE-8E4B-AD6DFF1B795E}.Release|Win32.Build.0 = Release|Win32
+ {3D62DEB4-3536-44AE-8E4B-AD6DFF1B795E}.Release|x64.ActiveCfg = Release|x64
+ {3D62DEB4-3536-44AE-8E4B-AD6DFF1B795E}.Release|x64.Build.0 = Release|x64
+ {C6712171-F9B8-4A1E-A774-5D93C9116CEE}.Debug|Win32.ActiveCfg = Debug|Win32
+ {C6712171-F9B8-4A1E-A774-5D93C9116CEE}.Debug|Win32.Build.0 = Debug|Win32
+ {C6712171-F9B8-4A1E-A774-5D93C9116CEE}.Debug|x64.ActiveCfg = Debug|x64
+ {C6712171-F9B8-4A1E-A774-5D93C9116CEE}.Debug|x64.Build.0 = Debug|x64
+ {C6712171-F9B8-4A1E-A774-5D93C9116CEE}.Release|Win32.ActiveCfg = Release|Win32
+ {C6712171-F9B8-4A1E-A774-5D93C9116CEE}.Release|Win32.Build.0 = Release|Win32
+ {C6712171-F9B8-4A1E-A774-5D93C9116CEE}.Release|x64.ActiveCfg = Release|x64
+ {C6712171-F9B8-4A1E-A774-5D93C9116CEE}.Release|x64.Build.0 = Release|x64
+ {21F49E7F-6C58-4DA5-ABE5-A9DFB6165C83}.Debug|Win32.ActiveCfg = Debug|Win32
+ {21F49E7F-6C58-4DA5-ABE5-A9DFB6165C83}.Debug|Win32.Build.0 = Debug|Win32
+ {21F49E7F-6C58-4DA5-ABE5-A9DFB6165C83}.Debug|x64.ActiveCfg = Debug|x64
+ {21F49E7F-6C58-4DA5-ABE5-A9DFB6165C83}.Debug|x64.Build.0 = Debug|x64
+ {21F49E7F-6C58-4DA5-ABE5-A9DFB6165C83}.Release|Win32.ActiveCfg = Release|Win32
+ {21F49E7F-6C58-4DA5-ABE5-A9DFB6165C83}.Release|Win32.Build.0 = Release|Win32
+ {21F49E7F-6C58-4DA5-ABE5-A9DFB6165C83}.Release|x64.ActiveCfg = Release|x64
+ {21F49E7F-6C58-4DA5-ABE5-A9DFB6165C83}.Release|x64.Build.0 = Release|x64
+ {B671D5DF-3A80-4A21-BC01-79E3FB73D372}.Debug|Win32.ActiveCfg = Debug|Win32
+ {B671D5DF-3A80-4A21-BC01-79E3FB73D372}.Debug|Win32.Build.0 = Debug|Win32
+ {B671D5DF-3A80-4A21-BC01-79E3FB73D372}.Debug|x64.ActiveCfg = Debug|x64
+ {B671D5DF-3A80-4A21-BC01-79E3FB73D372}.Debug|x64.Build.0 = Debug|x64
+ {B671D5DF-3A80-4A21-BC01-79E3FB73D372}.Release|Win32.ActiveCfg = Release|Win32
+ {B671D5DF-3A80-4A21-BC01-79E3FB73D372}.Release|Win32.Build.0 = Release|Win32
+ {B671D5DF-3A80-4A21-BC01-79E3FB73D372}.Release|x64.ActiveCfg = Release|x64
+ {B671D5DF-3A80-4A21-BC01-79E3FB73D372}.Release|x64.Build.0 = Release|x64
+ {42E5F1D6-6E83-4C13-83CC-C6CD83478C58}.Debug|Win32.ActiveCfg = Debug|Win32
+ {42E5F1D6-6E83-4C13-83CC-C6CD83478C58}.Debug|Win32.Build.0 = Debug|Win32
+ {42E5F1D6-6E83-4C13-83CC-C6CD83478C58}.Debug|x64.ActiveCfg = Debug|x64
+ {42E5F1D6-6E83-4C13-83CC-C6CD83478C58}.Debug|x64.Build.0 = Debug|x64
+ {42E5F1D6-6E83-4C13-83CC-C6CD83478C58}.Release|Win32.ActiveCfg = Release|Win32
+ {42E5F1D6-6E83-4C13-83CC-C6CD83478C58}.Release|Win32.Build.0 = Release|Win32
+ {42E5F1D6-6E83-4C13-83CC-C6CD83478C58}.Release|x64.ActiveCfg = Release|x64
+ {42E5F1D6-6E83-4C13-83CC-C6CD83478C58}.Release|x64.Build.0 = Release|x64
+ {BB73BFD4-454F-42C8-AFE6-FA890A8BD8FC}.Debug|Win32.ActiveCfg = Debug|Win32
+ {BB73BFD4-454F-42C8-AFE6-FA890A8BD8FC}.Debug|Win32.Build.0 = Debug|Win32
+ {BB73BFD4-454F-42C8-AFE6-FA890A8BD8FC}.Debug|x64.ActiveCfg = Debug|x64
+ {BB73BFD4-454F-42C8-AFE6-FA890A8BD8FC}.Debug|x64.Build.0 = Debug|x64
+ {BB73BFD4-454F-42C8-AFE6-FA890A8BD8FC}.Release|Win32.ActiveCfg = Release|Win32
+ {BB73BFD4-454F-42C8-AFE6-FA890A8BD8FC}.Release|Win32.Build.0 = Release|Win32
+ {BB73BFD4-454F-42C8-AFE6-FA890A8BD8FC}.Release|x64.ActiveCfg = Release|x64
+ {BB73BFD4-454F-42C8-AFE6-FA890A8BD8FC}.Release|x64.Build.0 = Release|x64
+ {0E6A3C08-86E8-495B-976B-2666AB16501C}.Debug|Win32.ActiveCfg = Debug|Win32
+ {0E6A3C08-86E8-495B-976B-2666AB16501C}.Debug|Win32.Build.0 = Debug|Win32
+ {0E6A3C08-86E8-495B-976B-2666AB16501C}.Debug|x64.ActiveCfg = Debug|x64
+ {0E6A3C08-86E8-495B-976B-2666AB16501C}.Debug|x64.Build.0 = Debug|x64
+ {0E6A3C08-86E8-495B-976B-2666AB16501C}.Release|Win32.ActiveCfg = Release|Win32
+ {0E6A3C08-86E8-495B-976B-2666AB16501C}.Release|Win32.Build.0 = Release|Win32
+ {0E6A3C08-86E8-495B-976B-2666AB16501C}.Release|x64.ActiveCfg = Release|x64
+ {0E6A3C08-86E8-495B-976B-2666AB16501C}.Release|x64.Build.0 = Release|x64
+ {79942922-E02C-486D-9EE3-A13C0876C4C2}.Debug|Win32.ActiveCfg = Debug|Win32
+ {79942922-E02C-486D-9EE3-A13C0876C4C2}.Debug|Win32.Build.0 = Debug|Win32
+ {79942922-E02C-486D-9EE3-A13C0876C4C2}.Debug|x64.ActiveCfg = Debug|x64
+ {79942922-E02C-486D-9EE3-A13C0876C4C2}.Debug|x64.Build.0 = Debug|x64
+ {79942922-E02C-486D-9EE3-A13C0876C4C2}.Release|Win32.ActiveCfg = Release|Win32
+ {79942922-E02C-486D-9EE3-A13C0876C4C2}.Release|Win32.Build.0 = Release|Win32
+ {79942922-E02C-486D-9EE3-A13C0876C4C2}.Release|x64.ActiveCfg = Release|x64
+ {79942922-E02C-486D-9EE3-A13C0876C4C2}.Release|x64.Build.0 = Release|x64
+ {1E3BED58-2F2C-463A-B9FD-9A55235C6840}.Debug|Win32.ActiveCfg = Debug|Win32
+ {1E3BED58-2F2C-463A-B9FD-9A55235C6840}.Debug|Win32.Build.0 = Debug|Win32
+ {1E3BED58-2F2C-463A-B9FD-9A55235C6840}.Debug|x64.ActiveCfg = Debug|x64
+ {1E3BED58-2F2C-463A-B9FD-9A55235C6840}.Debug|x64.Build.0 = Debug|x64
+ {1E3BED58-2F2C-463A-B9FD-9A55235C6840}.Release|Win32.ActiveCfg = Release|Win32
+ {1E3BED58-2F2C-463A-B9FD-9A55235C6840}.Release|Win32.Build.0 = Release|Win32
+ {1E3BED58-2F2C-463A-B9FD-9A55235C6840}.Release|x64.ActiveCfg = Release|x64
+ {1E3BED58-2F2C-463A-B9FD-9A55235C6840}.Release|x64.Build.0 = Release|x64
+ {DD317CB5-6337-498F-A560-553B5558E133}.Debug|Win32.ActiveCfg = Debug|Win32
+ {DD317CB5-6337-498F-A560-553B5558E133}.Debug|Win32.Build.0 = Debug|Win32
+ {DD317CB5-6337-498F-A560-553B5558E133}.Debug|x64.ActiveCfg = Debug|x64
+ {DD317CB5-6337-498F-A560-553B5558E133}.Debug|x64.Build.0 = Debug|x64
+ {DD317CB5-6337-498F-A560-553B5558E133}.Release|Win32.ActiveCfg = Release|Win32
+ {DD317CB5-6337-498F-A560-553B5558E133}.Release|Win32.Build.0 = Release|Win32
+ {DD317CB5-6337-498F-A560-553B5558E133}.Release|x64.ActiveCfg = Release|x64
+ {DD317CB5-6337-498F-A560-553B5558E133}.Release|x64.Build.0 = Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/3rdparty/winpcap/Examples-remote/MakeaAll.dsw b/3rdparty/winpcap/Examples-remote/MakeaAll.dsw
new file mode 100644
index 00000000000..3236b64134f
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/MakeaAll.dsw
@@ -0,0 +1,221 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "GetMacAddress"=".\PacketDriver\GetMacAddress\GetMacAddress.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "TestPacketCapture"=".\PacketDriver\TestPacketCapture\TestPacketCapture.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "TestPacketSend"=".\PacketDriver\TestPacketSend\TestPacketSend.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "UDPdump"=".\UDPdump\UDPdump.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "UserBridge"=".\UserLevelBridge\UserBridge.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "basic_dump"=".\misc\basic_dump.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "basic_dump_ex"=".\misc\basic_dump_ex.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "iflist"=".\iflist\iflist.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "pcap_filter"=".\pcap_filter\pcap_filter.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "pktdump_ex"=".\pktdump_ex\pktdump_ex.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "readfile"=".\misc\readfile.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "readfile_ex"=".\misc\readfile_ex.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "savedump"=".\misc\savedump.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "sendcap"=".\sendcap\sendcap.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "sendpack"=".\misc\sendpack.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "smp_1"=".\smp_1\smp_1.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "tcptop"=".\tcptop\tcptop.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/3rdparty/winpcap/Examples-remote/PacketDriver/GetMacAddress/GetMacAddress.c b/3rdparty/winpcap/Examples-remote/PacketDriver/GetMacAddress/GetMacAddress.c
new file mode 100644
index 00000000000..014da74fa03
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/PacketDriver/GetMacAddress/GetMacAddress.c
@@ -0,0 +1,152 @@
+/*
+ * Copyright (c) 1999 - 2005 NetGroup, Politecnico di Torino (Italy)
+ * Copyright (c) 2005 - 2006 CACE Technologies, Davis (California)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the Politecnico di Torino, CACE Technologies
+ * nor the names of its contributors may be used to endorse or promote
+ * products derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <stdio.h>
+#include <conio.h>
+#include "..\..\..\Include\packet32.h"
+#include <ntddndis.h>
+
+#define Max_Num_Adapter 10
+char AdapterList[Max_Num_Adapter][1024];
+
+int main()
+{
+ LPADAPTER lpAdapter = 0;
+ int i;
+ DWORD dwErrorCode;
+ char AdapterName[8192];
+ char *temp,*temp1;
+ int AdapterNum=0,Open;
+ ULONG AdapterLength;
+ PPACKET_OID_DATA OidData;
+ BOOLEAN Status;
+
+ //
+ // Obtain the name of the adapters installed on this machine
+ //
+
+ printf("Packet.dll test application. Library version:%s\n", PacketGetVersion());
+
+ printf("Adapters installed:\n");
+ i=0;
+
+ AdapterLength = sizeof(AdapterName);
+
+ if(PacketGetAdapterNames(AdapterName,&AdapterLength)==FALSE){
+ printf("Unable to retrieve the list of the adapters!\n");
+ return -1;
+ }
+ temp=AdapterName;
+ temp1=AdapterName;
+
+ while ((*temp!='\0')||(*(temp-1)!='\0'))
+ {
+ if (*temp=='\0')
+ {
+ memcpy(AdapterList[i],temp1,temp-temp1);
+ temp1=temp+1;
+ i++;
+ }
+ temp++;
+ }
+
+ AdapterNum=i;
+ for (i=0;i<AdapterNum;i++)
+ printf("\n%d- %s\n",i+1,AdapterList[i]);
+ printf("\n");
+
+
+ do
+ {
+ printf("Select the number of the adapter to open : ");
+ scanf_s("%d",&Open);
+ if (Open>AdapterNum) printf("\nThe number must be smaller than %d",AdapterNum);
+ } while (Open>AdapterNum);
+
+
+ //
+ // Open the selected adapter
+ //
+
+ lpAdapter = PacketOpenAdapter(AdapterList[Open-1]);
+
+ if (!lpAdapter || (lpAdapter->hFile == INVALID_HANDLE_VALUE))
+ {
+ dwErrorCode=GetLastError();
+ printf("Unable to open the adapter, Error Code : %lx\n",dwErrorCode);
+
+ return -1;
+ }
+
+ //
+ // Allocate a buffer to get the MAC adress
+ //
+
+ OidData = malloc(6 + sizeof(PACKET_OID_DATA));
+ if (OidData == NULL)
+ {
+ printf("error allocating memory!\n");
+ PacketCloseAdapter(lpAdapter);
+ return -1;
+ }
+
+ //
+ // Retrieve the adapter MAC querying the NIC driver
+ //
+
+ OidData->Oid = OID_802_3_CURRENT_ADDRESS;
+
+ OidData->Length = 6;
+ ZeroMemory(OidData->Data, 6);
+
+ Status = PacketRequest(lpAdapter, FALSE, OidData);
+ if(Status)
+ {
+ printf("The MAC address of the adapter is %.2x:%.2x:%.2x:%.2x:%.2x:%.2x\n",
+ (OidData->Data)[0],
+ (OidData->Data)[1],
+ (OidData->Data)[2],
+ (OidData->Data)[3],
+ (OidData->Data)[4],
+ (OidData->Data)[5]);
+ }
+ else
+ {
+ printf("error retrieving the MAC address of the adapter!\n");
+ }
+
+ free(OidData);
+ PacketCloseAdapter(lpAdapter);
+ return (0);
+}
+
diff --git a/3rdparty/winpcap/Examples-remote/PacketDriver/GetMacAddress/GetMacAddress.dsp b/3rdparty/winpcap/Examples-remote/PacketDriver/GetMacAddress/GetMacAddress.dsp
new file mode 100644
index 00000000000..d7012902129
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/PacketDriver/GetMacAddress/GetMacAddress.dsp
@@ -0,0 +1,105 @@
+# Microsoft Developer Studio Project File - Name="GetMacAddress" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=GetMacAddress - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "GetMacAddress.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "GetMacAddress.mak" CFG="GetMacAddress - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "GetMacAddress - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "GetMacAddress - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "GetMacAddress - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x410 /d "NDEBUG"
+# ADD RSC /l 0x410 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF "$(CFG)" == "GetMacAddress - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x410 /d "_DEBUG"
+# ADD RSC /l 0x410 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "GetMacAddress - Win32 Release"
+# Name "GetMacAddress - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\GetMacAddress.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# Begin Source File
+
+SOURCE=..\..\..\lib\Packet.lib
+# End Source File
+# End Target
+# End Project
diff --git a/3rdparty/winpcap/Examples-remote/PacketDriver/GetMacAddress/GetMacAddress.vcproj b/3rdparty/winpcap/Examples-remote/PacketDriver/GetMacAddress/GetMacAddress.vcproj
new file mode 100644
index 00000000000..4130c3f9443
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/PacketDriver/GetMacAddress/GetMacAddress.vcproj
@@ -0,0 +1,364 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="GetMacAddress"
+ ProjectGUID="{0E6A3C08-86E8-495B-976B-2666AB16501C}"
+ RootNamespace="GetMacAddress"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib packet.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib packet.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib packet.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib packet.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\GetMacAddress.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/3rdparty/winpcap/Examples-remote/PacketDriver/TestPacketCapture/TestPacketCapture.c b/3rdparty/winpcap/Examples-remote/PacketDriver/TestPacketCapture/TestPacketCapture.c
new file mode 100644
index 00000000000..4bc676dc5e7
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/PacketDriver/TestPacketCapture/TestPacketCapture.c
@@ -0,0 +1,244 @@
+/*
+ * Copyright (c) 1999 - 2005 NetGroup, Politecnico di Torino (Italy)
+ * Copyright (c) 2005 - 2006 CACE Technologies, Davis (California)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the Politecnico di Torino, CACE Technologies
+ * nor the names of its contributors may be used to endorse or promote
+ * products derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+
+#include <stdio.h>
+#include <conio.h>
+
+
+#include "..\..\..\Include\packet32.h"
+#include <ntddndis.h>
+
+#define Max_Num_Adapter 10
+
+// Prototypes
+
+void PrintPackets(LPPACKET lpPacket);
+
+char AdapterList[Max_Num_Adapter][1024];
+
+int main()
+{
+//define a pointer to an ADAPTER structure
+
+LPADAPTER lpAdapter = 0;
+
+//define a pointer to a PACKET structure
+
+LPPACKET lpPacket;
+
+int i;
+DWORD dwErrorCode;
+
+//ascii strings
+char AdapterName[8192]; // string that contains a list of the network adapters
+char *temp,*temp1;
+
+
+int AdapterNum=0,Open;
+ULONG AdapterLength;
+
+char buffer[256000]; // buffer to hold the data coming from the driver
+
+struct bpf_stat stat;
+
+ //
+ // Obtain the name of the adapters installed on this machine
+ //
+ printf("Packet.dll test application. Library version:%s\n", PacketGetVersion());
+
+ printf("Adapters installed:\n");
+ i=0;
+
+ AdapterLength = sizeof(AdapterName);
+
+ if(PacketGetAdapterNames(AdapterName,&AdapterLength)==FALSE){
+ printf("Unable to retrieve the list of the adapters!\n");
+ return -1;
+ }
+ temp=AdapterName;
+ temp1=AdapterName;
+
+ while ((*temp!='\0')||(*(temp-1)!='\0'))
+ {
+ if (*temp=='\0')
+ {
+ memcpy(AdapterList[i],temp1,temp-temp1);
+ temp1=temp+1;
+ i++;
+ }
+ temp++;
+ }
+
+ AdapterNum=i;
+ for (i=0;i<AdapterNum;i++)
+ printf("\n%d- %s\n",i+1,AdapterList[i]);
+ printf("\n");
+
+
+ do
+ {
+ printf("Select the number of the adapter to open : ");
+ scanf_s("%d",&Open);
+ if (Open>AdapterNum) printf("\nThe number must be smaller than %d",AdapterNum);
+ } while (Open>AdapterNum);
+
+
+
+
+ lpAdapter = PacketOpenAdapter(AdapterList[Open-1]);
+
+ if (!lpAdapter || (lpAdapter->hFile == INVALID_HANDLE_VALUE))
+ {
+ dwErrorCode=GetLastError();
+ printf("Unable to open the adapter, Error Code : %lx\n",dwErrorCode);
+
+ return -1;
+ }
+
+ // set the network adapter in promiscuous mode
+
+ if(PacketSetHwFilter(lpAdapter,NDIS_PACKET_TYPE_PROMISCUOUS)==FALSE){
+ printf("Warning: unable to set promiscuous mode!\n");
+ }
+
+ // set a 512K buffer in the driver
+ if(PacketSetBuff(lpAdapter,512000)==FALSE){
+ printf("Unable to set the kernel buffer!\n");
+ return -1;
+ }
+
+ // set a 1 second read timeout
+ if(PacketSetReadTimeout(lpAdapter,1000)==FALSE){
+ printf("Warning: unable to set the read tiemout!\n");
+ }
+
+ //allocate and initialize a packet structure that will be used to
+ //receive the packets.
+ if((lpPacket = PacketAllocatePacket())==NULL){
+ printf("\nError: failed to allocate the LPPACKET structure.");
+ return (-1);
+ }
+ PacketInitPacket(lpPacket,(char*)buffer,256000);
+
+ //main capture loop
+ while(!_kbhit())
+ {
+ // capture the packets
+ if(PacketReceivePacket(lpAdapter,lpPacket,TRUE)==FALSE){
+ printf("Error: PacketReceivePacket failed");
+ return (-1);
+ }
+
+ PrintPackets(lpPacket);
+ }
+
+
+ //print the capture statistics
+ if(PacketGetStats(lpAdapter,&stat)==FALSE){
+ printf("Warning: unable to get stats from the kernel!\n");
+ }
+ else
+ printf("\n\n%d packets received.\n%d Packets lost",stat.bs_recv,stat.bs_drop);
+
+ PacketFreePacket(lpPacket);
+
+ // close the adapter and exit
+
+ PacketCloseAdapter(lpAdapter);
+ return (0);
+}
+
+// this function prints the content of a block of packets received from the driver
+
+void PrintPackets(LPPACKET lpPacket)
+{
+
+ ULONG i, j, ulLines, ulen, ulBytesReceived;
+ char *pChar, *pLine, *base;
+ char *buf;
+ u_int off=0;
+ u_int tlen,tlen1;
+ struct bpf_hdr *hdr;
+
+ ulBytesReceived = lpPacket->ulBytesReceived;
+
+
+ buf = lpPacket->Buffer;
+
+ off=0;
+
+ while(off<ulBytesReceived){
+ if(_kbhit())return;
+ hdr=(struct bpf_hdr *)(buf+off);
+ tlen1=hdr->bh_datalen;
+ tlen=hdr->bh_caplen;
+ printf("Packet length, captured portion: %ld, %ld\n", tlen1, tlen);
+ off+=hdr->bh_hdrlen;
+
+ ulLines = (tlen + 15) / 16;
+
+ pChar =(char*)(buf+off);
+ base=pChar;
+ off=Packet_WORDALIGN(off+tlen);
+
+ for ( i=0; i<ulLines; i++ )
+ {
+
+ pLine =pChar;
+
+ printf( "%08lx : ", pChar-base );
+
+ ulen=tlen;
+ ulen = ( ulen > 16 ) ? 16 : ulen;
+ tlen -= ulen;
+
+ for ( j=0; j<ulen; j++ )
+ printf( "%02x ", *(BYTE *)pChar++ );
+
+ if ( ulen < 16 )
+ printf( "%*s", (16-ulen)*3, " " );
+
+ pChar = pLine;
+
+ for ( j=0; j<ulen; j++, pChar++ )
+ printf( "%c", isprint( (unsigned char)*pChar ) ? *pChar : '.' );
+
+ printf( "\n" );
+ }
+
+ printf( "\n" );
+ }
+}
+
+ \ No newline at end of file
diff --git a/3rdparty/winpcap/Examples-remote/PacketDriver/TestPacketCapture/TestPacketCapture.dsp b/3rdparty/winpcap/Examples-remote/PacketDriver/TestPacketCapture/TestPacketCapture.dsp
new file mode 100644
index 00000000000..f81d81fab15
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/PacketDriver/TestPacketCapture/TestPacketCapture.dsp
@@ -0,0 +1,105 @@
+# Microsoft Developer Studio Project File - Name="TestPacketCapture" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=TestPacketCapture - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "TestPacketCapture.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "TestPacketCapture.mak" CFG="TestPacketCapture - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "TestPacketCapture - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "TestPacketCapture - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "TestPacketCapture - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x410 /d "NDEBUG"
+# ADD RSC /l 0x410 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF "$(CFG)" == "TestPacketCapture - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x410 /d "_DEBUG"
+# ADD RSC /l 0x410 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "TestPacketCapture - Win32 Release"
+# Name "TestPacketCapture - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\TestPacketCapture.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# Begin Source File
+
+SOURCE=..\..\..\lib\Packet.lib
+# End Source File
+# End Target
+# End Project
diff --git a/3rdparty/winpcap/Examples-remote/PacketDriver/TestPacketCapture/TestPacketCapture.vcproj b/3rdparty/winpcap/Examples-remote/PacketDriver/TestPacketCapture/TestPacketCapture.vcproj
new file mode 100644
index 00000000000..ab5783cdfcf
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/PacketDriver/TestPacketCapture/TestPacketCapture.vcproj
@@ -0,0 +1,364 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="TestPacketCapture"
+ ProjectGUID="{79942922-E02C-486D-9EE3-A13C0876C4C2}"
+ RootNamespace="TestPacketCapture"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib packet.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib packet.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib packet.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib packet.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\TestPacketCapture.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/3rdparty/winpcap/Examples-remote/PacketDriver/TestPacketSend/TestPacketSend.c b/3rdparty/winpcap/Examples-remote/PacketDriver/TestPacketSend/TestPacketSend.c
new file mode 100644
index 00000000000..b4a73bce9a4
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/PacketDriver/TestPacketSend/TestPacketSend.c
@@ -0,0 +1,235 @@
+/*
+ * Copyright (c) 1999 - 2005 NetGroup, Politecnico di Torino (Italy)
+ * Copyright (c) 2005 - 2006 CACE Technologies, Davis (California)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the Politecnico di Torino, CACE Technologies
+ * nor the names of its contributors may be used to endorse or promote
+ * products derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <stdio.h>
+#include <conio.h>
+#include <time.h>
+
+#include "..\..\..\Include\packet32.h"
+
+
+#define Max_Num_Adapter 10
+
+// Prototypes
+
+void PrintPackets(LPPACKET lpPacket);
+
+char AdapterList[Max_Num_Adapter][8192];
+
+
+
+int main(int argc, char **argv)
+{
+char packetbuff[5000];
+
+// define a pointer to a ADAPTER structure
+
+LPADAPTER lpAdapter = 0;
+
+// define a pointer to a PACKET structure
+
+LPPACKET lpPacket;
+
+int i,npacks,Snaplen;
+DWORD dwErrorCode;
+
+//ascii strings
+char AdapterName[8192]; // string that contains a list of the network adapters
+char *temp,*temp1;
+
+int AdapterNum=0,Open;
+ULONG AdapterLength;
+
+float cpu_time;
+
+ printf("Traffic Generator v 0.9999\nCopyright 1999 Loris Degioanni (loris@netgroup-serv.polito.it)");
+ printf("\nSends a set of packets to the network using packet.dll API.\n");
+
+ if (argc == 1){
+ printf("\n\n Usage: TestpacketSend [-i adapter] -n npacks -s size");
+ printf("\n size is between 60 and 1514\n\n");
+ return -1;
+ }
+
+
+ AdapterName[0]=0;
+
+ //get the command line parameters
+ for(i=1;i<argc;i+=2){
+
+ switch (argv[i] [1])
+ {
+
+ case 'i':
+ sscanf_s(argv[i+1],"%s",AdapterName);
+ break;
+
+ case 'n':
+ sscanf_s(argv[i+1],"%d",&npacks);
+ break;
+
+ case 's':
+ sscanf_s(argv[i+1],"%d",&Snaplen);
+ break;
+
+ }
+
+ }
+
+
+
+ if(AdapterName[0]==0){
+
+ //
+ // Obtain the name of the adapters installed on this machine
+ //
+ printf("Adapters installed:\n");
+ i=0;
+
+ AdapterLength = sizeof(AdapterName);
+
+ if(PacketGetAdapterNames(AdapterName,&AdapterLength)==FALSE){
+ printf("Unable to retrieve the list of the adapters!\n");
+ return -1;
+ }
+ temp=AdapterName;
+ temp1=AdapterName;
+
+ while ((*temp!='\0')||(*(temp-1)!='\0'))
+ {
+ if (*temp=='\0')
+ {
+ memcpy(AdapterList[i],temp1,temp-temp1);
+ temp1=temp+1;
+ i++;
+ }
+ temp++;
+ }
+
+ AdapterNum=i;
+ for (i=0;i<AdapterNum;i++)
+ printf("\n%d- %s\n",i+1,AdapterList[i]);
+ printf("\n");
+
+ do
+ {
+ printf("Select the number of the adapter to open : ");scanf_s("%d",&Open);
+ if (Open>AdapterNum) printf("\nThe number must be smaller than %d",AdapterNum);
+ } while (Open>AdapterNum);
+
+
+
+
+ lpAdapter = PacketOpenAdapter(AdapterList[Open-1]);
+
+ if (!lpAdapter || (lpAdapter->hFile == INVALID_HANDLE_VALUE))
+ {
+ dwErrorCode=GetLastError();
+ printf("Unable to open the driver, Error Code : %lx\n",dwErrorCode);
+
+ return(-1);
+ }
+
+ }
+ else{
+
+ lpAdapter = PacketOpenAdapter(AdapterName);
+
+ if (!lpAdapter || (lpAdapter->hFile == INVALID_HANDLE_VALUE))
+ {
+ dwErrorCode=GetLastError();
+ printf("Unable to open the driver, Error Code : %lx\n",dwErrorCode);
+
+ return(-1);
+ }
+
+ }
+
+ if((lpPacket = PacketAllocatePacket())==NULL){
+ printf("\nError:failed to allocate the LPPACKET structure.");
+ return (-1);
+ }
+
+ packetbuff[0]=1;
+ packetbuff[1]=1;
+ packetbuff[2]=1;
+ packetbuff[3]=1;
+ packetbuff[4]=1;
+ packetbuff[5]=1;
+
+ packetbuff[6]=2;
+ packetbuff[7]=2;
+ packetbuff[8]=2;
+ packetbuff[9]=2;
+ packetbuff[10]=2;
+ packetbuff[11]=2;
+
+ for(i=12;i<1514;i++){
+ packetbuff[i]= (char)i;
+ }
+
+ PacketInitPacket(lpPacket,packetbuff,Snaplen);
+ // capture the packet
+
+
+ if(PacketSetNumWrites(lpAdapter,npacks)==FALSE){
+ printf("warning: Unable to send more than one packet in a single write!\n");
+ }
+
+ printf("\n\nGenerating %d packets...",npacks);
+
+ cpu_time = (float)clock ();
+
+ if(PacketSendPacket(lpAdapter,lpPacket,TRUE)==FALSE){
+ printf("Error sending the packets!\n");
+ return -1;
+ }
+
+ cpu_time = (clock() - cpu_time)/CLK_TCK;
+
+ printf ("\n\nElapsed time: %5.3f\n", cpu_time);
+ printf ("\nTotal packets generated = %d", npacks);
+ printf ("\nTotal bytes generated = %d", (Snaplen+24)*npacks);
+ printf ("\nTotal bits generated = %d", (Snaplen+24)*npacks*8);
+ printf ("\nAverage packets per second = %d", (int)((double)npacks/cpu_time));
+ printf ("\nAverage bytes per second = %d", (int)((double)((Snaplen+24)*npacks)/cpu_time));
+ printf ("\nAverage bits per second = %d", (int)((double)((Snaplen+24)*npacks*8)/cpu_time));
+ printf ("\n");
+
+ PacketFreePacket(lpPacket);
+
+ // close the adapter and exit
+
+ PacketCloseAdapter(lpAdapter);
+ return (0);
+}
diff --git a/3rdparty/winpcap/Examples-remote/PacketDriver/TestPacketSend/TestPacketSend.dsp b/3rdparty/winpcap/Examples-remote/PacketDriver/TestPacketSend/TestPacketSend.dsp
new file mode 100644
index 00000000000..ee2c6f4b13d
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/PacketDriver/TestPacketSend/TestPacketSend.dsp
@@ -0,0 +1,107 @@
+# Microsoft Developer Studio Project File - Name="TestPacketSend" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=TestPacketSend - Win32 Release
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "TestPacketSend.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "TestPacketSend.mak" CFG="TestPacketSend - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "TestPacketSend - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "TestPacketSend - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "TestPacketSend - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x410 /d "NDEBUG"
+# ADD RSC /l 0x410 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /pdb:"Release/TestPacketSend.exe" /machine:I386
+# SUBTRACT LINK32 /pdb:none
+
+!ELSEIF "$(CFG)" == "TestPacketSend - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x410 /d "_DEBUG"
+# ADD RSC /l 0x410 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "TestPacketSend - Win32 Release"
+# Name "TestPacketSend - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\TestPacketSend.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# Begin Source File
+
+SOURCE=..\..\..\lib\Packet.lib
+# End Source File
+# End Target
+# End Project
diff --git a/3rdparty/winpcap/Examples-remote/PacketDriver/TestPacketSend/TestPacketSend.vcproj b/3rdparty/winpcap/Examples-remote/PacketDriver/TestPacketSend/TestPacketSend.vcproj
new file mode 100644
index 00000000000..35feca2fcd2
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/PacketDriver/TestPacketSend/TestPacketSend.vcproj
@@ -0,0 +1,364 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="TestPacketSend"
+ ProjectGUID="{1E3BED58-2F2C-463A-B9FD-9A55235C6840}"
+ RootNamespace="TestPacketSend"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib packet.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib packet.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib packet.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib packet.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\TestPacketSend.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/3rdparty/winpcap/Examples-remote/PacketDriver/readme.txt b/3rdparty/winpcap/Examples-remote/PacketDriver/readme.txt
new file mode 100644
index 00000000000..e64371ea39d
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/PacketDriver/readme.txt
@@ -0,0 +1,2 @@
+These files use the packet.dll API instead of wpcap.dll.
+The use of packet.dll API is strongly discouraged.
diff --git a/3rdparty/winpcap/Examples-remote/UDPdump/UDPdump.dsp b/3rdparty/winpcap/Examples-remote/UDPdump/UDPdump.dsp
new file mode 100644
index 00000000000..b9553123fd8
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/UDPdump/UDPdump.dsp
@@ -0,0 +1,110 @@
+# Microsoft Developer Studio Project File - Name="UDPdump" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=UDPdump - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "UDPdump.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "UDPdump.mak" CFG="UDPdump - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "UDPdump - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "UDPdump - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "UDPdump - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /c
+# ADD BASE RSC /l 0x410 /d "NDEBUG"
+# ADD RSC /l 0x410 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib ws2_32.lib Iphlpapi.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF "$(CFG)" == "UDPdump - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /I "D:/Program Files/Microsoft Platform SDK/include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x410 /d "_DEBUG"
+# ADD RSC /l 0x410 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib ws2_32.lib Iphlpapi.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "UDPdump - Win32 Release"
+# Name "UDPdump - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\udpdump.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=..\..\include\pcap.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# Begin Source File
+
+SOURCE=..\..\lib\Wpcap.lib
+# End Source File
+# End Target
+# End Project
diff --git a/3rdparty/winpcap/Examples-remote/UDPdump/UDPdump.dsw b/3rdparty/winpcap/Examples-remote/UDPdump/UDPdump.dsw
new file mode 100644
index 00000000000..8981cf430d5
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/UDPdump/UDPdump.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "UDPdump"=.\UDPdump.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/3rdparty/winpcap/Examples-remote/UDPdump/UDPdump.vcproj b/3rdparty/winpcap/Examples-remote/UDPdump/UDPdump.vcproj
new file mode 100644
index 00000000000..4b12a25d801
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/UDPdump/UDPdump.vcproj
@@ -0,0 +1,364 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="UDPdump"
+ ProjectGUID="{42E5F1D6-6E83-4C13-83CC-C6CD83478C58}"
+ RootNamespace="UDPdump"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\UDPdump.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/3rdparty/winpcap/Examples-remote/UDPdump/udpdump.c b/3rdparty/winpcap/Examples-remote/UDPdump/udpdump.c
new file mode 100644
index 00000000000..f6479ead891
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/UDPdump/udpdump.c
@@ -0,0 +1,230 @@
+/*
+ * Copyright (c) 1999 - 2005 NetGroup, Politecnico di Torino (Italy)
+ * Copyright (c) 2005 - 2006 CACE Technologies, Davis (California)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the Politecnico di Torino, CACE Technologies
+ * nor the names of its contributors may be used to endorse or promote
+ * products derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include "pcap.h"
+
+/* 4 bytes IP address */
+typedef struct ip_address{
+ u_char byte1;
+ u_char byte2;
+ u_char byte3;
+ u_char byte4;
+}ip_address;
+
+/* IPv4 header */
+typedef struct ip_header{
+ u_char ver_ihl; // Version (4 bits) + Internet header length (4 bits)
+ u_char tos; // Type of service
+ u_short tlen; // Total length
+ u_short identification; // Identification
+ u_short flags_fo; // Flags (3 bits) + Fragment offset (13 bits)
+ u_char ttl; // Time to live
+ u_char proto; // Protocol
+ u_short crc; // Header checksum
+ ip_address saddr; // Source address
+ ip_address daddr; // Destination address
+ u_int op_pad; // Option + Padding
+}ip_header;
+
+/* UDP header*/
+typedef struct udp_header{
+ u_short sport; // Source port
+ u_short dport; // Destination port
+ u_short len; // Datagram length
+ u_short crc; // Checksum
+}udp_header;
+
+/* prototype of the packet handler */
+void packet_handler(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data);
+
+
+int main()
+{
+pcap_if_t *alldevs;
+pcap_if_t *d;
+int inum;
+int i=0;
+pcap_t *adhandle;
+char errbuf[PCAP_ERRBUF_SIZE];
+u_int netmask;
+char packet_filter[] = "ip and udp";
+struct bpf_program fcode;
+
+ /* Retrieve the device list */
+ if (pcap_findalldevs_ex(PCAP_SRC_IF_STRING, NULL, &alldevs, errbuf) == -1)
+ {
+ fprintf(stderr,"Error in pcap_findalldevs: %s\n", errbuf);
+ exit(1);
+ }
+
+ /* Print the list */
+ for(d=alldevs; d; d=d->next)
+ {
+ printf("%d. %s", ++i, d->name);
+ if (d->description)
+ printf(" (%s)\n", d->description);
+ else
+ printf(" (No description available)\n");
+ }
+
+ if(i==0)
+ {
+ printf("\nNo interfaces found! Make sure WinPcap is installed.\n");
+ return -1;
+ }
+
+ printf("Enter the interface number (1-%d):",i);
+ scanf_s("%d", &inum);
+
+ if(inum < 1 || inum > i)
+ {
+ printf("\nInterface number out of range.\n");
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+ return -1;
+ }
+
+ /* Jump to the selected adapter */
+ for(d=alldevs, i=0; i< inum-1 ;d=d->next, i++);
+
+ /* Open the adapter */
+ if ( (adhandle= pcap_open(d->name, // name of the device
+ 65536, // portion of the packet to capture.
+ // 65536 grants that the whole packet will be captured on all the MACs.
+ PCAP_OPENFLAG_PROMISCUOUS, // promiscuous mode
+ 1000, // read timeout
+ NULL, // remote authentication
+ errbuf // error buffer
+ ) ) == NULL)
+ {
+ fprintf(stderr,"\nUnable to open the adapter. %s is not supported by WinPcap\n");
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+ return -1;
+ }
+
+ /* Check the link layer. We support only Ethernet for simplicity. */
+ if(pcap_datalink(adhandle) != DLT_EN10MB)
+ {
+ fprintf(stderr,"\nThis program works only on Ethernet networks.\n");
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+ return -1;
+ }
+
+ if(d->addresses != NULL)
+ /* Retrieve the mask of the first address of the interface */
+ netmask=((struct sockaddr_in *)(d->addresses->netmask))->sin_addr.S_un.S_addr;
+ else
+ /* If the interface is without addresses we suppose to be in a C class network */
+ netmask=0xffffff;
+
+
+ //compile the filter
+ if (pcap_compile(adhandle, &fcode, packet_filter, 1, netmask) <0 )
+ {
+ fprintf(stderr,"\nUnable to compile the packet filter. Check the syntax.\n");
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+ return -1;
+ }
+
+ //set the filter
+ if (pcap_setfilter(adhandle, &fcode)<0)
+ {
+ fprintf(stderr,"\nError setting the filter.\n");
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+ return -1;
+ }
+
+ printf("\nlistening on %s...\n", d->description);
+
+ /* At this point, we don't need any more the device list. Free it */
+ pcap_freealldevs(alldevs);
+
+ /* start the capture */
+ pcap_loop(adhandle, 0, packet_handler, NULL);
+
+ return 0;
+}
+
+/* Callback function invoked by libpcap for every incoming packet */
+void packet_handler(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data)
+{
+ struct tm ltime;
+ char timestr[16];
+ ip_header *ih;
+ udp_header *uh;
+ u_int ip_len;
+ u_short sport,dport;
+ time_t local_tv_sec;
+
+ /*
+ * Unused variable
+ */
+ (VOID)(param);
+
+ /* convert the timestamp to readable format */
+ local_tv_sec = header->ts.tv_sec;
+ localtime_s(&ltime, &local_tv_sec);
+ strftime( timestr, sizeof timestr, "%H:%M:%S", &ltime);
+
+ /* print timestamp and length of the packet */
+ printf("%s.%.6d len:%d ", timestr, header->ts.tv_usec, header->len);
+
+ /* retireve the position of the ip header */
+ ih = (ip_header *) (pkt_data +
+ 14); //length of ethernet header
+
+ /* retireve the position of the udp header */
+ ip_len = (ih->ver_ihl & 0xf) * 4;
+ uh = (udp_header *) ((u_char*)ih + ip_len);
+
+ /* convert from network byte order to host byte order */
+ sport = ntohs( uh->sport );
+ dport = ntohs( uh->dport );
+
+ /* print ip addresses and udp ports */
+ printf("%d.%d.%d.%d.%d -> %d.%d.%d.%d.%d\n",
+ ih->saddr.byte1,
+ ih->saddr.byte2,
+ ih->saddr.byte3,
+ ih->saddr.byte4,
+ sport,
+ ih->daddr.byte1,
+ ih->daddr.byte2,
+ ih->daddr.byte3,
+ ih->daddr.byte4,
+ dport);
+} \ No newline at end of file
diff --git a/3rdparty/winpcap/Examples-remote/UserLevelBridge/UserBridge.c b/3rdparty/winpcap/Examples-remote/UserLevelBridge/UserBridge.c
new file mode 100644
index 00000000000..471f850376f
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/UserLevelBridge/UserBridge.c
@@ -0,0 +1,467 @@
+/*
+ * Copyright (c) 2005 - 2006
+ * CACE Technologies, Davis, CA
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of CACE Technologies nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+/*
+ * This simple program implements a user-level bridge.
+ * It opens two adapters specified by the user and starts two threads.
+ * The first thread receives packets from adapter 1 and sends them down to
+ * adapter 2. The second thread does the same, but in the opposite
+ * direction.
+ */
+
+#include <signal.h>
+#include "pcap.h"
+
+/* Storage data structure used to pass parameters to the threads */
+typedef struct _in_out_adapters
+{
+ unsigned int state; /* Some simple state information */
+ pcap_t *input_adapter;
+ pcap_t *output_adapter;
+}in_out_adapters;
+
+/* Prototypes */
+DWORD WINAPI CaptureAndForwardThread(LPVOID lpParameter);
+void ctrlc_handler(int sig);
+
+/* This prevents the two threads to mess-up when they do printfs */
+CRITICAL_SECTION print_cs;
+
+/* Thread handlers. Global because we wait on the threads from the CTRL+C handler */
+HANDLE threads[2];
+
+/* This global variable tells the forwarder threads they must terminate */
+volatile int kill_forwaders = 0;
+
+
+/*******************************************************************/
+
+int main()
+{
+ pcap_if_t *alldevs;
+ pcap_if_t *d;
+ int inum1, inum2;
+ int i=0;
+ pcap_t *adhandle1, *adhandle2;
+ char errbuf[PCAP_ERRBUF_SIZE];
+ u_int netmask1, netmask2;
+ char packet_filter[256];
+ struct bpf_program fcode;
+ in_out_adapters couple0, couple1;
+
+ /*
+ * Retrieve the device list
+ */
+
+ if (pcap_findalldevs_ex(PCAP_SRC_IF_STRING, NULL, &alldevs, errbuf) == -1)
+ {
+ fprintf(stderr,"Error in pcap_findalldevs: %s\n", errbuf);
+ exit(1);
+ }
+
+ /* Print the list */
+ for(d=alldevs; d; d=d->next)
+ {
+ printf("%d. ", ++i);
+ if (d->description)
+ printf("%s\n", d->description);
+ else
+ printf("<unknown adapter>\n");
+ }
+
+ if(i==0)
+ {
+ printf("\nNo interfaces found! Make sure WinPcap is installed.\n");
+ return -1;
+ }
+
+
+ /*
+ * Get input from the user
+ */
+
+ /* Get the filter*/
+ printf("\nSpecify filter (hit return for no filter):");
+
+ fgets(packet_filter, sizeof(packet_filter), stdin);
+
+ /* Get the first interface number*/
+ printf("\nEnter the number of the first interface to use (1-%d):",i);
+ scanf_s("%d", &inum1);
+
+ if(inum1 < 1 || inum1 > i)
+ {
+ printf("\nInterface number out of range.\n");
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+ return -1;
+ }
+
+ /* Get the second interface number*/
+ printf("Enter the number of the first interface to use (1-%d):",i);
+ scanf_s("%d", &inum2);
+
+ if(inum2 < 1 || inum2 > i)
+ {
+ printf("\nInterface number out of range.\n");
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+ return -1;
+ }
+
+ if(inum1 == inum2 )
+ {
+ printf("\nCannot bridge packets on the same interface.\n");
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+ return -1;
+ }
+
+
+ /*
+ * Open the specified couple of adapters
+ */
+
+ /* Jump to the first selected adapter */
+ for(d = alldevs, i = 0; i< inum1 - 1 ;d = d->next, i++);
+
+ /*
+ * Open the first adapter.
+ * *NOTICE* the flags we are using, they are important for the behavior of the prgram:
+ * - PCAP_OPENFLAG_PROMISCUOUS: tells the adapter to go in promiscuous mode.
+ * This means that we are capturing all the traffic, not only the one to or from
+ * this machine.
+ * - PCAP_OPENFLAG_NOCAPTURE_LOCAL: prevents the adapter from capturing again the packets
+ * transmitted by itself. This avoids annoying loops.
+ * - PCAP_OPENFLAG_MAX_RESPONSIVENESS: configures the adapter to provide minimum latency,
+ * at the cost of higher CPU usage.
+ */
+ if((adhandle1 = pcap_open(d->name, // name of the device
+ 65536, // portion of the packet to capture.
+ // 65536 grants that the whole packet will be captured on every link layer.
+ PCAP_OPENFLAG_PROMISCUOUS | // flags. We specify that we don't want to capture loopback packets, and that the driver should deliver us the packets as fast as possible
+ PCAP_OPENFLAG_NOCAPTURE_LOCAL |
+ PCAP_OPENFLAG_MAX_RESPONSIVENESS,
+ 500, // read timeout
+ NULL, // remote authentication
+ errbuf // error buffer
+ )) == NULL)
+ {
+ fprintf(stderr,"\nUnable to open the adapter. %s is not supported by WinPcap\n", d->description);
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+ return -1;
+ }
+
+ if(d->addresses != NULL)
+ {
+ /* Retrieve the mask of the first address of the interface */
+ netmask1 = ((struct sockaddr_in *)(d->addresses->netmask))->sin_addr.S_un.S_addr;
+ }
+ else
+ {
+ /* If the interface is without addresses we suppose to be in a C class network */
+ netmask1 = 0xffffff;
+ }
+
+ /* Jump to the second selected adapter */
+ for(d = alldevs, i = 0; i< inum2 - 1 ;d = d->next, i++);
+
+ /* Open the second adapter */
+ if((adhandle2 = pcap_open(d->name, // name of the device
+ 65536, // portion of the packet to capture.
+ // 65536 grants that the whole packet will be captured on every link layer.
+ PCAP_OPENFLAG_PROMISCUOUS | // flags. We specify that we don't want to capture loopback packets, and that the driver should deliver us the packets as fast as possible
+ PCAP_OPENFLAG_NOCAPTURE_LOCAL |
+ PCAP_OPENFLAG_MAX_RESPONSIVENESS,
+ 500, // read timeout
+ NULL, // remote authentication
+ errbuf // error buffer
+ )) == NULL)
+ {
+ fprintf(stderr,"\nUnable to open the adapter. %s is not supported by WinPcap\n", d->description);
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+ return -1;
+ }
+
+ if(d->addresses != NULL)
+ {
+ /* Retrieve the mask of the first address of the interface */
+ netmask2 = ((struct sockaddr_in *)(d->addresses->netmask))->sin_addr.S_un.S_addr;
+ }
+ else
+ {
+ /* If the interface is without addresses we suppose to be in a C class network */
+ netmask2 = 0xffffff;
+ }
+
+
+ /*
+ * Compile and set the filters
+ */
+
+ /* compile the filter for the first adapter */
+ if (pcap_compile(adhandle1, &fcode, packet_filter, 1, netmask1) <0 )
+ {
+ fprintf(stderr,"\nUnable to compile the packet filter. Check the syntax.\n");
+
+ /* Close the adapters */
+ pcap_close(adhandle1);
+ pcap_close(adhandle2);
+
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+ return -1;
+ }
+
+ /* set the filter for the first adapter*/
+ if (pcap_setfilter(adhandle1, &fcode)<0)
+ {
+ fprintf(stderr,"\nError setting the filter.\n");
+
+ /* Close the adapters */
+ pcap_close(adhandle1);
+ pcap_close(adhandle2);
+
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+ return -1;
+ }
+
+ /* compile the filter for the second adapter */
+ if (pcap_compile(adhandle2, &fcode, packet_filter, 1, netmask2) <0 )
+ {
+ fprintf(stderr,"\nUnable to compile the packet filter. Check the syntax.\n");
+
+ /* Close the adapters */
+ pcap_close(adhandle1);
+ pcap_close(adhandle2);
+
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+ return -1;
+ }
+
+ /* set the filter for the second adapter*/
+ if (pcap_setfilter(adhandle2, &fcode)<0)
+ {
+ fprintf(stderr,"\nError setting the filter.\n");
+
+ /* Close the adapters */
+ pcap_close(adhandle1);
+ pcap_close(adhandle2);
+
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+ return -1;
+ }
+
+ /* At this point, we don't need the device list any more. Free it */
+ pcap_freealldevs(alldevs);
+
+ /*
+ * Start the threads that will forward the packets
+ */
+
+ /* Initialize the critical section that will be used by the threads for console output */
+ InitializeCriticalSection(&print_cs);
+
+ /* Init input parameters of the threads */
+ couple0.state = 0;
+ couple0.input_adapter = adhandle1;
+ couple0.output_adapter = adhandle2;
+ couple1.state = 1;
+ couple1.input_adapter = adhandle2;
+ couple1.output_adapter = adhandle1;
+
+ /* Start first thread */
+ if((threads[0] = CreateThread(
+ NULL,
+ 0,
+ CaptureAndForwardThread,
+ &couple0,
+ 0,
+ NULL)) == NULL)
+ {
+ fprintf(stderr, "error creating the first forward thread");
+
+ /* Close the adapters */
+ pcap_close(adhandle1);
+ pcap_close(adhandle2);
+
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+ return -1;
+ }
+
+ /* Start second thread */
+ if((threads[1] = CreateThread(
+ NULL,
+ 0,
+ CaptureAndForwardThread,
+ &couple1,
+ 0,
+ NULL)) == NULL)
+ {
+ fprintf(stderr, "error creating the second forward thread");
+
+ /* Kill the first thread. Not very gentle at all...*/
+ TerminateThread(threads[0], 0);
+
+ /* Close the adapters */
+ pcap_close(adhandle1);
+ pcap_close(adhandle2);
+
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+ return -1;
+ }
+
+ /*
+ * Install a CTRL+C handler that will do the cleanups on exit
+ */
+ signal(SIGINT, ctrlc_handler);
+
+ /*
+ * Done!
+ * Wait for the Greek calends...
+ */
+ printf("\nStart bridging the two adapters...\n", d->description);
+ Sleep(INFINITE);
+ return 0;
+}
+
+/*******************************************************************
+ * Forwarding thread.
+ * Gets the packets from the input adapter and sends them to the output one.
+ *******************************************************************/
+DWORD WINAPI CaptureAndForwardThread(LPVOID lpParameter)
+{
+ struct pcap_pkthdr *header;
+ const u_char *pkt_data;
+ int res = 0;
+ in_out_adapters* ad_couple = lpParameter;
+ unsigned int n_fwd = 0;
+
+ /*
+ * Loop receiving packets from the first input adapter
+ */
+
+ while((!kill_forwaders) && (res = pcap_next_ex(ad_couple->input_adapter, &header, &pkt_data)) >= 0)
+ {
+ if(res != 0) /* Note: res=0 means "read timeout elapsed"*/
+ {
+ /*
+ * Print something, just to show when we have activity.
+ * BEWARE: acquiring a critical section and printing strings with printf
+ * is something inefficient that you seriously want to avoid in your packet loop!
+ * However, since this is a *sample program*, we privilege visual output to efficiency.
+ */
+ EnterCriticalSection(&print_cs);
+
+ if(ad_couple->state == 0)
+ printf(">> Len: %u\n", header->caplen);
+ else
+ printf("<< Len: %u\n", header->caplen);
+
+ LeaveCriticalSection(&print_cs);
+
+ /*
+ * Send the just received packet to the output adaper
+ */
+ if(pcap_sendpacket(ad_couple->output_adapter, pkt_data, header->caplen) != 0)
+ {
+ EnterCriticalSection(&print_cs);
+
+ printf("Error sending a %u bytes packets on interface %u: %s\n",
+ header->caplen,
+ ad_couple->state,
+ pcap_geterr(ad_couple->output_adapter));
+
+ LeaveCriticalSection(&print_cs);
+ }
+ else
+ {
+ n_fwd++;
+ }
+ }
+ }
+
+ /*
+ * We're out of the main loop. Check the reason.
+ */
+ if(res < 0)
+ {
+ EnterCriticalSection(&print_cs);
+
+ printf("Error capturing the packets: %s\n", pcap_geterr(ad_couple->input_adapter));
+ fflush(stdout);
+
+ LeaveCriticalSection(&print_cs);
+ }
+ else
+ {
+ EnterCriticalSection(&print_cs);
+
+ printf("End of bridging on interface %u. Forwarded packets:%u\n",
+ ad_couple->state,
+ n_fwd);
+ fflush(stdout);
+
+ LeaveCriticalSection(&print_cs);
+ }
+
+ return 0;
+}
+
+/*******************************************************************
+ * CTRL+C hanlder.
+ * We order the threads to die and then we patiently wait for their
+ * suicide.
+ *******************************************************************/
+void ctrlc_handler(int sig)
+{
+ /*
+ * unused variable
+ */
+ (VOID)(sig);
+
+ kill_forwaders = 1;
+
+ WaitForMultipleObjects(2,
+ threads,
+ TRUE, /* Wait for all the handles */
+ 5000); /* Timeout */
+
+ exit(0);
+} \ No newline at end of file
diff --git a/3rdparty/winpcap/Examples-remote/UserLevelBridge/UserBridge.dsp b/3rdparty/winpcap/Examples-remote/UserLevelBridge/UserBridge.dsp
new file mode 100644
index 00000000000..f8ef34a591d
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/UserLevelBridge/UserBridge.dsp
@@ -0,0 +1,106 @@
+# Microsoft Developer Studio Project File - Name="UserBridge" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=UserBridge - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "UserBridge.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "UserBridge.mak" CFG="UserBridge - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "UserBridge - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "UserBridge - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "UserBridge - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MT /W3 /GX /O2 /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /c
+# ADD BASE RSC /l 0x410 /d "NDEBUG"
+# ADD RSC /l 0x410 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib ws2_32.lib Iphlpapi.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF "$(CFG)" == "UserBridge - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /I "D:/Program Files/Microsoft Platform SDK/include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x410 /d "_DEBUG"
+# ADD RSC /l 0x410 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib ws2_32.lib Iphlpapi.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "UserBridge - Win32 Release"
+# Name "UserBridge - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\UserBridge.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# Begin Source File
+
+SOURCE=..\..\lib\Wpcap.lib
+# End Source File
+# End Target
+# End Project
diff --git a/3rdparty/winpcap/Examples-remote/UserLevelBridge/UserBridge.dsw b/3rdparty/winpcap/Examples-remote/UserLevelBridge/UserBridge.dsw
new file mode 100644
index 00000000000..7104a543514
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/UserLevelBridge/UserBridge.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "UserBridge"=.\UserBridge.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/3rdparty/winpcap/Examples-remote/UserLevelBridge/UserBridge.vcproj b/3rdparty/winpcap/Examples-remote/UserLevelBridge/UserBridge.vcproj
new file mode 100644
index 00000000000..06e00b2ae11
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/UserLevelBridge/UserBridge.vcproj
@@ -0,0 +1,364 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="UserBridge"
+ ProjectGUID="{BB73BFD4-454F-42C8-AFE6-FA890A8BD8FC}"
+ RootNamespace="UserBridge"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\UserBridge.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/3rdparty/winpcap/Examples-remote/iflist/iflist.c b/3rdparty/winpcap/Examples-remote/iflist/iflist.c
new file mode 100644
index 00000000000..391dda173ea
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/iflist/iflist.c
@@ -0,0 +1,176 @@
+/*
+ * Copyright (c) 1999 - 2005 NetGroup, Politecnico di Torino (Italy)
+ * Copyright (c) 2005 - 2006 CACE Technologies, Davis (California)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the Politecnico di Torino, CACE Technologies
+ * nor the names of its contributors may be used to endorse or promote
+ * products derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <stdio.h>
+
+#include "pcap.h"
+
+#ifndef WIN32
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+#else
+ #include <winsock.h>
+#endif
+
+
+// Function prototypes
+void ifprint(pcap_if_t *d);
+char *iptos(u_long in);
+char* ip6tos(struct sockaddr *sockaddr, char *address, int addrlen);
+
+
+int main()
+{
+ pcap_if_t *alldevs;
+ pcap_if_t *d;
+ char errbuf[PCAP_ERRBUF_SIZE+1];
+ char source[PCAP_ERRBUF_SIZE+1];
+
+ printf("Enter the device you want to list:\n"
+ "rpcap:// ==> lists interfaces in the local machine\n"
+ "rpcap://hostname:port ==> lists interfaces in a remote machine\n"
+ " (rpcapd daemon must be up and running\n"
+ " and it must accept 'null' authentication)\n"
+ "file://foldername ==> lists all pcap files in the give folder\n\n"
+ "Enter your choice: ");
+
+ fgets(source, PCAP_ERRBUF_SIZE, stdin);
+ source[PCAP_ERRBUF_SIZE] = '\0';
+
+ /* Retrieve the interfaces list */
+ if (pcap_findalldevs_ex(source, NULL, &alldevs, errbuf) == -1)
+ {
+ fprintf(stderr,"Error in pcap_findalldevs: %s\n",errbuf);
+ exit(1);
+ }
+
+ /* Scan the list printing every entry */
+ for(d=alldevs;d;d=d->next)
+ {
+ ifprint(d);
+ }
+
+ pcap_freealldevs(alldevs);
+
+ return 1;
+}
+
+
+
+/* Print all the available information on the given interface */
+void ifprint(pcap_if_t *d)
+{
+ pcap_addr_t *a;
+ char ip6str[128];
+
+ /* Name */
+ printf("%s\n",d->name);
+
+ /* Description */
+ if (d->description)
+ printf("\tDescription: %s\n",d->description);
+
+ /* Loopback Address*/
+ printf("\tLoopback: %s\n",(d->flags & PCAP_IF_LOOPBACK)?"yes":"no");
+
+ /* IP addresses */
+ for(a=d->addresses;a;a=a->next) {
+ printf("\tAddress Family: #%d\n",a->addr->sa_family);
+
+ switch(a->addr->sa_family)
+ {
+ case AF_INET:
+ printf("\tAddress Family Name: AF_INET\n");
+ if (a->addr)
+ printf("\tAddress: %s\n",iptos(((struct sockaddr_in *)a->addr)->sin_addr.s_addr));
+ if (a->netmask)
+ printf("\tNetmask: %s\n",iptos(((struct sockaddr_in *)a->netmask)->sin_addr.s_addr));
+ if (a->broadaddr)
+ printf("\tBroadcast Address: %s\n",iptos(((struct sockaddr_in *)a->broadaddr)->sin_addr.s_addr));
+ if (a->dstaddr)
+ printf("\tDestination Address: %s\n",iptos(((struct sockaddr_in *)a->dstaddr)->sin_addr.s_addr));
+ break;
+
+ case AF_INET6:
+ printf("\tAddress Family Name: AF_INET6\n");
+ if (a->addr)
+ printf("\tAddress: %s\n", ip6tos(a->addr, ip6str, sizeof(ip6str)));
+ break;
+
+ default:
+ printf("\tAddress Family Name: Unknown\n");
+ break;
+ }
+ }
+ printf("\n");
+}
+
+
+
+/* From tcptraceroute, convert a numeric IP address to a string */
+#define IPTOSBUFFERS 12
+char *iptos(u_long in)
+{
+ static char output[IPTOSBUFFERS][3*4+3+1];
+ static short which;
+ u_char *p;
+
+ p = (u_char *)&in;
+ which = (which + 1 == IPTOSBUFFERS ? 0 : which + 1);
+ _snprintf_s(output[which], sizeof(output[which]), sizeof(output[which]),"%d.%d.%d.%d", p[0], p[1], p[2], p[3]);
+ return output[which];
+}
+
+char* ip6tos(struct sockaddr *sockaddr, char *address, int addrlen)
+{
+ socklen_t sockaddrlen;
+
+ #ifdef WIN32
+ sockaddrlen = sizeof(struct sockaddr_in6);
+ #else
+ sockaddrlen = sizeof(struct sockaddr_storage);
+ #endif
+
+
+ if(getnameinfo(sockaddr,
+ sockaddrlen,
+ address,
+ addrlen,
+ NULL,
+ 0,
+ NI_NUMERICHOST) != 0) address = NULL;
+
+ return address;
+}
+
+
diff --git a/3rdparty/winpcap/Examples-remote/iflist/iflist.dsp b/3rdparty/winpcap/Examples-remote/iflist/iflist.dsp
new file mode 100644
index 00000000000..418236446ee
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/iflist/iflist.dsp
@@ -0,0 +1,110 @@
+# Microsoft Developer Studio Project File - Name="iflist" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=iflist - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "iflist.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "iflist.mak" CFG="iflist - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "iflist - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "iflist - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "iflist - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /c
+# ADD BASE RSC /l 0x410 /d "NDEBUG"
+# ADD RSC /l 0x410 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib ws2_32.lib Iphlpapi.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF "$(CFG)" == "iflist - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /I "D:/Program Files/Microsoft Platform SDK/include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x410 /d "_DEBUG"
+# ADD RSC /l 0x410 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib ws2_32.lib Iphlpapi.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "iflist - Win32 Release"
+# Name "iflist - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\iflist.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=..\..\include\pcap.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# Begin Source File
+
+SOURCE=..\..\lib\Wpcap.lib
+# End Source File
+# End Target
+# End Project
diff --git a/3rdparty/winpcap/Examples-remote/iflist/iflist.dsw b/3rdparty/winpcap/Examples-remote/iflist/iflist.dsw
new file mode 100644
index 00000000000..1425db243af
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/iflist/iflist.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "iflist"=.\iflist.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/3rdparty/winpcap/Examples-remote/iflist/iflist.vcproj b/3rdparty/winpcap/Examples-remote/iflist/iflist.vcproj
new file mode 100644
index 00000000000..2b41203f750
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/iflist/iflist.vcproj
@@ -0,0 +1,364 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="iflist"
+ ProjectGUID="{B0C740E1-73A3-43C7-B0CB-B715A4E691DD}"
+ RootNamespace="iflist"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\iflist.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/3rdparty/winpcap/Examples-remote/misc/MakeAll.sln b/3rdparty/winpcap/Examples-remote/misc/MakeAll.sln
new file mode 100644
index 00000000000..8984e0fe852
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/misc/MakeAll.sln
@@ -0,0 +1,76 @@
+
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual Studio 2005
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic_dump", "basic_dump.vcproj", "{66297062-96A0-4F0E-B147-3C8384031232}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basic_dump_ex", "basic_dump_ex.vcproj", "{92849630-6B09-409C-A7AD-E91E682558B1}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "readfile", "readfile.vcproj", "{161E7606-F4CD-4A04-AB6B-5837F7818EE1}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "readfile_ex", "readfile_ex.vcproj", "{3071DFB6-68F8-41EF-A56C-0C7A71B6967C}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "savedump", "savedump.vcproj", "{1B8791CB-DD15-46BF-B0A2-879892085538}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sendpack", "sendpack.vcproj", "{1C376689-5F61-48E7-AE83-0DED9EE9E458}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {66297062-96A0-4F0E-B147-3C8384031232}.Debug|Win32.ActiveCfg = Debug|Win32
+ {66297062-96A0-4F0E-B147-3C8384031232}.Debug|Win32.Build.0 = Debug|Win32
+ {66297062-96A0-4F0E-B147-3C8384031232}.Debug|x64.ActiveCfg = Debug|x64
+ {66297062-96A0-4F0E-B147-3C8384031232}.Debug|x64.Build.0 = Debug|x64
+ {66297062-96A0-4F0E-B147-3C8384031232}.Release|Win32.ActiveCfg = Release|Win32
+ {66297062-96A0-4F0E-B147-3C8384031232}.Release|Win32.Build.0 = Release|Win32
+ {66297062-96A0-4F0E-B147-3C8384031232}.Release|x64.ActiveCfg = Release|x64
+ {66297062-96A0-4F0E-B147-3C8384031232}.Release|x64.Build.0 = Release|x64
+ {92849630-6B09-409C-A7AD-E91E682558B1}.Debug|Win32.ActiveCfg = Debug|Win32
+ {92849630-6B09-409C-A7AD-E91E682558B1}.Debug|Win32.Build.0 = Debug|Win32
+ {92849630-6B09-409C-A7AD-E91E682558B1}.Debug|x64.ActiveCfg = Debug|x64
+ {92849630-6B09-409C-A7AD-E91E682558B1}.Debug|x64.Build.0 = Debug|x64
+ {92849630-6B09-409C-A7AD-E91E682558B1}.Release|Win32.ActiveCfg = Release|Win32
+ {92849630-6B09-409C-A7AD-E91E682558B1}.Release|Win32.Build.0 = Release|Win32
+ {92849630-6B09-409C-A7AD-E91E682558B1}.Release|x64.ActiveCfg = Release|x64
+ {92849630-6B09-409C-A7AD-E91E682558B1}.Release|x64.Build.0 = Release|x64
+ {161E7606-F4CD-4A04-AB6B-5837F7818EE1}.Debug|Win32.ActiveCfg = Debug|Win32
+ {161E7606-F4CD-4A04-AB6B-5837F7818EE1}.Debug|Win32.Build.0 = Debug|Win32
+ {161E7606-F4CD-4A04-AB6B-5837F7818EE1}.Debug|x64.ActiveCfg = Debug|x64
+ {161E7606-F4CD-4A04-AB6B-5837F7818EE1}.Debug|x64.Build.0 = Debug|x64
+ {161E7606-F4CD-4A04-AB6B-5837F7818EE1}.Release|Win32.ActiveCfg = Release|Win32
+ {161E7606-F4CD-4A04-AB6B-5837F7818EE1}.Release|Win32.Build.0 = Release|Win32
+ {161E7606-F4CD-4A04-AB6B-5837F7818EE1}.Release|x64.ActiveCfg = Release|x64
+ {161E7606-F4CD-4A04-AB6B-5837F7818EE1}.Release|x64.Build.0 = Release|x64
+ {3071DFB6-68F8-41EF-A56C-0C7A71B6967C}.Debug|Win32.ActiveCfg = Debug|Win32
+ {3071DFB6-68F8-41EF-A56C-0C7A71B6967C}.Debug|Win32.Build.0 = Debug|Win32
+ {3071DFB6-68F8-41EF-A56C-0C7A71B6967C}.Debug|x64.ActiveCfg = Debug|x64
+ {3071DFB6-68F8-41EF-A56C-0C7A71B6967C}.Debug|x64.Build.0 = Debug|x64
+ {3071DFB6-68F8-41EF-A56C-0C7A71B6967C}.Release|Win32.ActiveCfg = Release|Win32
+ {3071DFB6-68F8-41EF-A56C-0C7A71B6967C}.Release|Win32.Build.0 = Release|Win32
+ {3071DFB6-68F8-41EF-A56C-0C7A71B6967C}.Release|x64.ActiveCfg = Release|x64
+ {3071DFB6-68F8-41EF-A56C-0C7A71B6967C}.Release|x64.Build.0 = Release|x64
+ {1B8791CB-DD15-46BF-B0A2-879892085538}.Debug|Win32.ActiveCfg = Debug|Win32
+ {1B8791CB-DD15-46BF-B0A2-879892085538}.Debug|Win32.Build.0 = Debug|Win32
+ {1B8791CB-DD15-46BF-B0A2-879892085538}.Debug|x64.ActiveCfg = Debug|x64
+ {1B8791CB-DD15-46BF-B0A2-879892085538}.Debug|x64.Build.0 = Debug|x64
+ {1B8791CB-DD15-46BF-B0A2-879892085538}.Release|Win32.ActiveCfg = Release|Win32
+ {1B8791CB-DD15-46BF-B0A2-879892085538}.Release|Win32.Build.0 = Release|Win32
+ {1B8791CB-DD15-46BF-B0A2-879892085538}.Release|x64.ActiveCfg = Release|x64
+ {1B8791CB-DD15-46BF-B0A2-879892085538}.Release|x64.Build.0 = Release|x64
+ {1C376689-5F61-48E7-AE83-0DED9EE9E458}.Debug|Win32.ActiveCfg = Debug|Win32
+ {1C376689-5F61-48E7-AE83-0DED9EE9E458}.Debug|Win32.Build.0 = Debug|Win32
+ {1C376689-5F61-48E7-AE83-0DED9EE9E458}.Debug|x64.ActiveCfg = Debug|x64
+ {1C376689-5F61-48E7-AE83-0DED9EE9E458}.Debug|x64.Build.0 = Debug|x64
+ {1C376689-5F61-48E7-AE83-0DED9EE9E458}.Release|Win32.ActiveCfg = Release|Win32
+ {1C376689-5F61-48E7-AE83-0DED9EE9E458}.Release|Win32.Build.0 = Release|Win32
+ {1C376689-5F61-48E7-AE83-0DED9EE9E458}.Release|x64.ActiveCfg = Release|x64
+ {1C376689-5F61-48E7-AE83-0DED9EE9E458}.Release|x64.Build.0 = Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/3rdparty/winpcap/Examples-remote/misc/MakeaAll.dsw b/3rdparty/winpcap/Examples-remote/misc/MakeaAll.dsw
new file mode 100644
index 00000000000..8223f54def6
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/misc/MakeaAll.dsw
@@ -0,0 +1,89 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "basic_dump"=.\basic_dump.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "basic_dump_ex"=.\basic_dump_ex.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "readfile"=.\readfile.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "readfile_ex"=.\readfile_ex.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "savedump"=.\savedump.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "sendpack"=.\sendpack.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/3rdparty/winpcap/Examples-remote/misc/basic_dump.c b/3rdparty/winpcap/Examples-remote/misc/basic_dump.c
new file mode 100644
index 00000000000..8c660f3eba8
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/misc/basic_dump.c
@@ -0,0 +1,100 @@
+#include "pcap.h"
+
+/* prototype of the packet handler */
+void packet_handler(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data);
+
+int main()
+{
+pcap_if_t *alldevs;
+pcap_if_t *d;
+int inum;
+int i=0;
+pcap_t *adhandle;
+char errbuf[PCAP_ERRBUF_SIZE];
+
+ /* Retrieve the device list on the local machine */
+ if (pcap_findalldevs_ex(PCAP_SRC_IF_STRING, NULL, &alldevs, errbuf) == -1)
+ {
+ fprintf(stderr,"Error in pcap_findalldevs: %s\n", errbuf);
+ exit(1);
+ }
+
+ /* Print the list */
+ for(d=alldevs; d; d=d->next)
+ {
+ printf("%d. %s", ++i, d->name);
+ if (d->description)
+ printf(" (%s)\n", d->description);
+ else
+ printf(" (No description available)\n");
+ }
+
+ if(i==0)
+ {
+ printf("\nNo interfaces found! Make sure WinPcap is installed.\n");
+ return -1;
+ }
+
+ printf("Enter the interface number (1-%d):",i);
+ scanf_s("%d", &inum);
+
+ if(inum < 1 || inum > i)
+ {
+ printf("\nInterface number out of range.\n");
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+ return -1;
+ }
+
+ /* Jump to the selected adapter */
+ for(d=alldevs, i=0; i< inum-1 ;d=d->next, i++);
+
+ /* Open the device */
+ if ( (adhandle= pcap_open(d->name, // name of the device
+ 65536, // portion of the packet to capture
+ // 65536 guarantees that the whole packet will be captured on all the link layers
+ PCAP_OPENFLAG_PROMISCUOUS, // promiscuous mode
+ 1000, // read timeout
+ NULL, // authentication on the remote machine
+ errbuf // error buffer
+ ) ) == NULL)
+ {
+ fprintf(stderr,"\nUnable to open the adapter. %s is not supported by WinPcap\n", d->name);
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+ return -1;
+ }
+
+ printf("\nlistening on %s...\n", d->description);
+
+ /* At this point, we don't need any more the device list. Free it */
+ pcap_freealldevs(alldevs);
+
+ /* start the capture */
+ pcap_loop(adhandle, 0, packet_handler, NULL);
+
+ return 0;
+}
+
+
+/* Callback function invoked by libpcap for every incoming packet */
+void packet_handler(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data)
+{
+ struct tm ltime;
+ char timestr[16];
+ time_t local_tv_sec;
+
+ /*
+ * unused variables
+ */
+ (VOID)(param);
+ (VOID)(pkt_data);
+
+ /* convert the timestamp to readable format */
+ local_tv_sec = header->ts.tv_sec;
+ localtime_s(&ltime, &local_tv_sec);
+ strftime( timestr, sizeof timestr, "%H:%M:%S", &ltime);
+
+ printf("%s,%.6d len:%d\n", timestr, header->ts.tv_usec, header->len);
+
+}
diff --git a/3rdparty/winpcap/Examples-remote/misc/basic_dump.dsp b/3rdparty/winpcap/Examples-remote/misc/basic_dump.dsp
new file mode 100644
index 00000000000..7e74aaa0396
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/misc/basic_dump.dsp
@@ -0,0 +1,110 @@
+# Microsoft Developer Studio Project File - Name="basic_dump" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=basic_dump - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "basic_dump.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "basic_dump.mak" CFG="basic_dump - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "basic_dump - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "basic_dump - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "basic_dump - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /c
+# ADD BASE RSC /l 0x410 /d "NDEBUG"
+# ADD RSC /l 0x410 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib ws2_32.lib Iphlpapi.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF "$(CFG)" == "basic_dump - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /I "D:/Program Files/Microsoft Platform SDK/include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x410 /d "_DEBUG"
+# ADD RSC /l 0x410 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib ws2_32.lib Iphlpapi.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "basic_dump - Win32 Release"
+# Name "basic_dump - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\basic_dump.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=..\..\include\pcap.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# Begin Source File
+
+SOURCE=..\..\lib\Wpcap.lib
+# End Source File
+# End Target
+# End Project
diff --git a/3rdparty/winpcap/Examples-remote/misc/basic_dump.vcproj b/3rdparty/winpcap/Examples-remote/misc/basic_dump.vcproj
new file mode 100644
index 00000000000..6fb00fe2476
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/misc/basic_dump.vcproj
@@ -0,0 +1,364 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="basic_dump"
+ ProjectGUID="{66297062-96A0-4F0E-B147-3C8384031232}"
+ RootNamespace="basic_dump"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\basic_dump.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/3rdparty/winpcap/Examples-remote/misc/basic_dump_ex.c b/3rdparty/winpcap/Examples-remote/misc/basic_dump_ex.c
new file mode 100644
index 00000000000..ec047b3b28b
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/misc/basic_dump_ex.c
@@ -0,0 +1,99 @@
+#include "pcap.h"
+
+
+int main()
+{
+pcap_if_t *alldevs;
+pcap_if_t *d;
+int inum;
+int i=0;
+pcap_t *adhandle;
+int res;
+char errbuf[PCAP_ERRBUF_SIZE];
+struct tm ltime;
+char timestr[16];
+struct pcap_pkthdr *header;
+const u_char *pkt_data;
+time_t local_tv_sec;
+
+
+ /* Retrieve the device list on the local machine */
+ if (pcap_findalldevs_ex(PCAP_SRC_IF_STRING, NULL, &alldevs, errbuf) == -1)
+ {
+ fprintf(stderr,"Error in pcap_findalldevs: %s\n", errbuf);
+ exit(1);
+ }
+
+ /* Print the list */
+ for(d=alldevs; d; d=d->next)
+ {
+ printf("%d. %s", ++i, d->name);
+ if (d->description)
+ printf(" (%s)\n", d->description);
+ else
+ printf(" (No description available)\n");
+ }
+
+ if(i==0)
+ {
+ printf("\nNo interfaces found! Make sure WinPcap is installed.\n");
+ return -1;
+ }
+
+ printf("Enter the interface number (1-%d):",i);
+ scanf_s("%d", &inum);
+
+ if(inum < 1 || inum > i)
+ {
+ printf("\nInterface number out of range.\n");
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+ return -1;
+ }
+
+ /* Jump to the selected adapter */
+ for(d=alldevs, i=0; i< inum-1 ;d=d->next, i++);
+
+ /* Open the device */
+ if ( (adhandle= pcap_open(d->name, // name of the device
+ 65536, // portion of the packet to capture.
+ // 65536 guarantees that the whole packet will be captured on all the link layers
+ PCAP_OPENFLAG_PROMISCUOUS, // promiscuous mode
+ 1000, // read timeout
+ NULL, // authentication on the remote machine
+ errbuf // error buffer
+ ) ) == NULL)
+ {
+ fprintf(stderr,"\nUnable to open the adapter. %s is not supported by WinPcap\n", d->name);
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+ return -1;
+ }
+
+ printf("\nlistening on %s...\n", d->description);
+
+ /* At this point, we don't need any more the device list. Free it */
+ pcap_freealldevs(alldevs);
+
+ /* Retrieve the packets */
+ while((res = pcap_next_ex( adhandle, &header, &pkt_data)) >= 0){
+
+ if(res == 0)
+ /* Timeout elapsed */
+ continue;
+
+ /* convert the timestamp to readable format */
+ local_tv_sec = header->ts.tv_sec;
+ localtime_s(&ltime, &local_tv_sec);
+ strftime( timestr, sizeof timestr, "%H:%M:%S", &ltime);
+
+ printf("%s,%.6d len:%d\n", timestr, header->ts.tv_usec, header->len);
+ }
+
+ if(res == -1){
+ printf("Error reading the packets: %s\n", pcap_geterr(adhandle));
+ return -1;
+ }
+
+ return 0;
+} \ No newline at end of file
diff --git a/3rdparty/winpcap/Examples-remote/misc/basic_dump_ex.dsp b/3rdparty/winpcap/Examples-remote/misc/basic_dump_ex.dsp
new file mode 100644
index 00000000000..0405d29236a
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/misc/basic_dump_ex.dsp
@@ -0,0 +1,110 @@
+# Microsoft Developer Studio Project File - Name="basic_dump_ex" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=basic_dump_ex - Win32 Release
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "basic_dump_ex.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "basic_dump_ex.mak" CFG="basic_dump_ex - Win32 Release"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "basic_dump_ex - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "basic_dump_ex - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "basic_dump_ex - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /c
+# ADD BASE RSC /l 0x410 /d "NDEBUG"
+# ADD RSC /l 0x410 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib ws2_32.lib Iphlpapi.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF "$(CFG)" == "basic_dump_ex - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /I "D:/Program Files/Microsoft Platform SDK/include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x410 /d "_DEBUG"
+# ADD RSC /l 0x410 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib ws2_32.lib Iphlpapi.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "basic_dump_ex - Win32 Release"
+# Name "basic_dump_ex - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\basic_dump_ex.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=..\..\include\pcap.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# Begin Source File
+
+SOURCE=..\..\lib\Wpcap.lib
+# End Source File
+# End Target
+# End Project
diff --git a/3rdparty/winpcap/Examples-remote/misc/basic_dump_ex.vcproj b/3rdparty/winpcap/Examples-remote/misc/basic_dump_ex.vcproj
new file mode 100644
index 00000000000..5815203631c
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/misc/basic_dump_ex.vcproj
@@ -0,0 +1,364 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="basic_dump_ex"
+ ProjectGUID="{92849630-6B09-409C-A7AD-E91E682558B1}"
+ RootNamespace="basic_dump_ex"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\basic_dump_ex.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/3rdparty/winpcap/Examples-remote/misc/readfile.c b/3rdparty/winpcap/Examples-remote/misc/readfile.c
new file mode 100644
index 00000000000..7db43b43df7
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/misc/readfile.c
@@ -0,0 +1,78 @@
+#include <stdio.h>
+#include <pcap.h>
+
+#define LINE_LEN 16
+
+void dispatcher_handler(u_char *, const struct pcap_pkthdr *, const u_char *);
+
+int main(int argc, char **argv)
+{
+pcap_t *fp;
+char errbuf[PCAP_ERRBUF_SIZE];
+char source[PCAP_BUF_SIZE];
+
+ if(argc != 2){
+
+ printf("usage: %s filename", argv[0]);
+ return -1;
+
+ }
+
+ /* Create the source string according to the new WinPcap syntax */
+ if ( pcap_createsrcstr( source, // variable that will keep the source string
+ PCAP_SRC_FILE, // we want to open a file
+ NULL, // remote host
+ NULL, // port on the remote host
+ argv[1], // name of the file we want to open
+ errbuf // error buffer
+ ) != 0)
+ {
+ fprintf(stderr,"\nError creating a source string\n");
+ return -1;
+ }
+
+ /* Open the capture file */
+ if ( (fp= pcap_open(source, // name of the device
+ 65536, // portion of the packet to capture
+ // 65536 guarantees that the whole packet will be captured on all the link layers
+ PCAP_OPENFLAG_PROMISCUOUS, // promiscuous mode
+ 1000, // read timeout
+ NULL, // authentication on the remote machine
+ errbuf // error buffer
+ ) ) == NULL)
+ {
+ fprintf(stderr,"\nUnable to open the file %s.\n", source);
+ return -1;
+ }
+
+ // read and dispatch packets until EOF is reached
+ pcap_loop(fp, 0, dispatcher_handler, NULL);
+
+ return 0;
+}
+
+
+
+void dispatcher_handler(u_char *temp1,
+ const struct pcap_pkthdr *header, const u_char *pkt_data)
+{
+ u_int i=0;
+
+ /*
+ * Unused variable
+ */
+ (VOID)temp1;
+
+ /* print pkt timestamp and pkt len */
+ printf("%ld:%ld (%ld)\n", header->ts.tv_sec, header->ts.tv_usec, header->len);
+
+ /* Print the packet */
+ for (i=1; (i < header->caplen + 1 ) ; i++)
+ {
+ printf("%.2x ", pkt_data[i-1]);
+ if ( (i % LINE_LEN) == 0) printf("\n");
+ }
+
+ printf("\n\n");
+
+}
diff --git a/3rdparty/winpcap/Examples-remote/misc/readfile.dsp b/3rdparty/winpcap/Examples-remote/misc/readfile.dsp
new file mode 100644
index 00000000000..5d45bde1454
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/misc/readfile.dsp
@@ -0,0 +1,110 @@
+# Microsoft Developer Studio Project File - Name="readfile" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=readfile - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "readfile.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "readfile.mak" CFG="readfile - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "readfile - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "readfile - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "readfile - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /c
+# ADD BASE RSC /l 0x410 /d "NDEBUG"
+# ADD RSC /l 0x410 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib ws2_32.lib Iphlpapi.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF "$(CFG)" == "readfile - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /I "D:/Program Files/Microsoft Platform SDK/include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x410 /d "_DEBUG"
+# ADD RSC /l 0x410 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib ws2_32.lib Iphlpapi.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "readfile - Win32 Release"
+# Name "readfile - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\readfile.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=..\..\include\pcap.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# Begin Source File
+
+SOURCE=..\..\lib\Wpcap.lib
+# End Source File
+# End Target
+# End Project
diff --git a/3rdparty/winpcap/Examples-remote/misc/readfile.vcproj b/3rdparty/winpcap/Examples-remote/misc/readfile.vcproj
new file mode 100644
index 00000000000..34f7c1af8c3
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/misc/readfile.vcproj
@@ -0,0 +1,364 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="readfile"
+ ProjectGUID="{161E7606-F4CD-4A04-AB6B-5837F7818EE1}"
+ RootNamespace="readfile"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\readfile.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/3rdparty/winpcap/Examples-remote/misc/readfile_ex.c b/3rdparty/winpcap/Examples-remote/misc/readfile_ex.c
new file mode 100644
index 00000000000..622bc9e71b0
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/misc/readfile_ex.c
@@ -0,0 +1,73 @@
+#include <stdio.h>
+#include <pcap.h>
+
+#define LINE_LEN 16
+
+int main(int argc, char **argv)
+{
+pcap_t *fp;
+char errbuf[PCAP_ERRBUF_SIZE];
+char source[PCAP_BUF_SIZE];
+struct pcap_pkthdr *header;
+const u_char *pkt_data;
+u_int i=0;
+int res;
+
+ if(argc != 2)
+ {
+ printf("usage: %s filename", argv[0]);
+ return -1;
+ }
+
+ /* Create the source string according to the new WinPcap syntax */
+ if ( pcap_createsrcstr( source, // variable that will keep the source string
+ PCAP_SRC_FILE, // we want to open a file
+ NULL, // remote host
+ NULL, // port on the remote host
+ argv[1], // name of the file we want to open
+ errbuf // error buffer
+ ) != 0)
+ {
+ fprintf(stderr,"\nError creating a source string\n");
+ return -1;
+ }
+
+ /* Open the capture file */
+ if ( (fp= pcap_open(source, // name of the device
+ 65536, // portion of the packet to capture
+ // 65536 guarantees that the whole packet will be captured on all the link layers
+ PCAP_OPENFLAG_PROMISCUOUS, // promiscuous mode
+ 1000, // read timeout
+ NULL, // authentication on the remote machine
+ errbuf // error buffer
+ ) ) == NULL)
+ {
+ fprintf(stderr,"\nUnable to open the file %s.\n", source);
+ return -1;
+ }
+
+ /* Retrieve the packets from the file */
+ while((res = pcap_next_ex( fp, &header, &pkt_data)) >= 0)
+ {
+ /* print pkt timestamp and pkt len */
+ printf("%ld:%ld (%ld)\n", header->ts.tv_sec, header->ts.tv_usec, header->len);
+
+ /* Print the packet */
+ for (i=1; (i < header->caplen + 1 ) ; i++)
+ {
+ printf("%.2x ", pkt_data[i-1]);
+ if ( (i % LINE_LEN) == 0) printf("\n");
+ }
+
+ printf("\n\n");
+ }
+
+
+ if (res == -1)
+ {
+ printf("Error reading the packets: %s\n", pcap_geterr(fp));
+ }
+
+ return 0;
+}
+
diff --git a/3rdparty/winpcap/Examples-remote/misc/readfile_ex.dsp b/3rdparty/winpcap/Examples-remote/misc/readfile_ex.dsp
new file mode 100644
index 00000000000..07dcf9ffb96
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/misc/readfile_ex.dsp
@@ -0,0 +1,110 @@
+# Microsoft Developer Studio Project File - Name="readfile_ex" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=readfile_ex - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "readfile_ex.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "readfile_ex.mak" CFG="readfile_ex - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "readfile_ex - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "readfile_ex - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "readfile_ex - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /c
+# ADD BASE RSC /l 0x410 /d "NDEBUG"
+# ADD RSC /l 0x410 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib ws2_32.lib Iphlpapi.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF "$(CFG)" == "readfile_ex - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /I "D:/Program Files/Microsoft Platform SDK/include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x410 /d "_DEBUG"
+# ADD RSC /l 0x410 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib ws2_32.lib Iphlpapi.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "readfile_ex - Win32 Release"
+# Name "readfile_ex - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\readfile_ex.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=..\..\include\pcap.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# Begin Source File
+
+SOURCE=..\..\lib\Wpcap.lib
+# End Source File
+# End Target
+# End Project
diff --git a/3rdparty/winpcap/Examples-remote/misc/readfile_ex.vcproj b/3rdparty/winpcap/Examples-remote/misc/readfile_ex.vcproj
new file mode 100644
index 00000000000..b194a625d08
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/misc/readfile_ex.vcproj
@@ -0,0 +1,364 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="readfile_ex"
+ ProjectGUID="{3071DFB6-68F8-41EF-A56C-0C7A71B6967C}"
+ RootNamespace="readfile_ex"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\readfile_ex.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/3rdparty/winpcap/Examples-remote/misc/savedump.c b/3rdparty/winpcap/Examples-remote/misc/savedump.c
new file mode 100644
index 00000000000..6316939bd63
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/misc/savedump.c
@@ -0,0 +1,104 @@
+#include "pcap.h"
+
+/* prototype of the packet handler */
+void packet_handler(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data);
+
+int main(int argc, char **argv)
+{
+pcap_if_t *alldevs;
+pcap_if_t *d;
+int inum;
+int i=0;
+pcap_t *adhandle;
+char errbuf[PCAP_ERRBUF_SIZE];
+pcap_dumper_t *dumpfile;
+
+
+
+ /* Check command line */
+ if(argc != 2)
+ {
+ printf("usage: %s filename", argv[0]);
+ return -1;
+ }
+
+ /* Retrieve the device list on the local machine */
+ if (pcap_findalldevs_ex(PCAP_SRC_IF_STRING, NULL, &alldevs, errbuf) == -1)
+ {
+ fprintf(stderr,"Error in pcap_findalldevs: %s\n", errbuf);
+ exit(1);
+ }
+
+ /* Print the list */
+ for(d=alldevs; d; d=d->next)
+ {
+ printf("%d. %s", ++i, d->name);
+ if (d->description)
+ printf(" (%s)\n", d->description);
+ else
+ printf(" (No description available)\n");
+ }
+
+ if(i==0)
+ {
+ printf("\nNo interfaces found! Make sure WinPcap is installed.\n");
+ return -1;
+ }
+
+ printf("Enter the interface number (1-%d):",i);
+ scanf_s("%d", &inum);
+
+ if(inum < 1 || inum > i)
+ {
+ printf("\nInterface number out of range.\n");
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+ return -1;
+ }
+
+ /* Jump to the selected adapter */
+ for(d=alldevs, i=0; i< inum-1 ;d=d->next, i++);
+
+
+ /* Open the device */
+ if ( (adhandle= pcap_open(d->name, // name of the device
+ 65536, // portion of the packet to capture
+ // 65536 guarantees that the whole packet will be captured on all the link layers
+ PCAP_OPENFLAG_PROMISCUOUS, // promiscuous mode
+ 1000, // read timeout
+ NULL, // authentication on the remote machine
+ errbuf // error buffer
+ ) ) == NULL)
+ {
+ fprintf(stderr,"\nUnable to open the adapter. %s is not supported by WinPcap\n", d->name);
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+ return -1;
+ }
+
+ /* Open the dump file */
+ dumpfile = pcap_dump_open(adhandle, argv[1]);
+
+ if(dumpfile==NULL)
+ {
+ fprintf(stderr,"\nError opening output file\n");
+ return -1;
+ }
+
+ printf("\nlistening on %s... Press Ctrl+C to stop...\n", d->description);
+
+ /* At this point, we no longer need the device list. Free it */
+ pcap_freealldevs(alldevs);
+
+ /* start the capture */
+ pcap_loop(adhandle, 0, packet_handler, (unsigned char *)dumpfile);
+
+ return 0;
+}
+
+/* Callback function invoked by libpcap for every incoming packet */
+void packet_handler(u_char *dumpfile, const struct pcap_pkthdr *header, const u_char *pkt_data)
+{
+ /* save the packet on the dump file */
+ pcap_dump(dumpfile, header, pkt_data);
+}
diff --git a/3rdparty/winpcap/Examples-remote/misc/savedump.dsp b/3rdparty/winpcap/Examples-remote/misc/savedump.dsp
new file mode 100644
index 00000000000..22d5d399777
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/misc/savedump.dsp
@@ -0,0 +1,110 @@
+# Microsoft Developer Studio Project File - Name="savedump" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=savedump - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "savedump.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "savedump.mak" CFG="savedump - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "savedump - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "savedump - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "savedump - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /c
+# ADD BASE RSC /l 0x410 /d "NDEBUG"
+# ADD RSC /l 0x410 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib ws2_32.lib Iphlpapi.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF "$(CFG)" == "savedump - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /I "D:/Program Files/Microsoft Platform SDK/include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x410 /d "_DEBUG"
+# ADD RSC /l 0x410 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib ws2_32.lib Iphlpapi.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "savedump - Win32 Release"
+# Name "savedump - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\savedump.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=..\..\include\pcap.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# Begin Source File
+
+SOURCE=..\..\lib\Wpcap.lib
+# End Source File
+# End Target
+# End Project
diff --git a/3rdparty/winpcap/Examples-remote/misc/savedump.vcproj b/3rdparty/winpcap/Examples-remote/misc/savedump.vcproj
new file mode 100644
index 00000000000..fd4c12a81f0
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/misc/savedump.vcproj
@@ -0,0 +1,364 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="savedump"
+ ProjectGUID="{1B8791CB-DD15-46BF-B0A2-879892085538}"
+ RootNamespace="savedump"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\savedump.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/3rdparty/winpcap/Examples-remote/misc/sendpack.c b/3rdparty/winpcap/Examples-remote/misc/sendpack.c
new file mode 100644
index 00000000000..55b1a5b3462
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/misc/sendpack.c
@@ -0,0 +1,64 @@
+#include <stdlib.h>
+#include <stdio.h>
+
+#include <pcap.h>
+
+
+void main(int argc, char **argv)
+{
+pcap_t *fp;
+char errbuf[PCAP_ERRBUF_SIZE];
+u_char packet[100];
+int i;
+
+ /* Check the validity of the command line */
+ if (argc != 2)
+ {
+ printf("usage: %s interface (e.g. 'rpcap://eth0')", argv[0]);
+ return;
+ }
+
+ /* Open the output device */
+ if ( (fp= pcap_open(argv[1], // name of the device
+ 100, // portion of the packet to capture (only the first 100 bytes)
+ PCAP_OPENFLAG_PROMISCUOUS, // promiscuous mode
+ 1000, // read timeout
+ NULL, // authentication on the remote machine
+ errbuf // error buffer
+ ) ) == NULL)
+ {
+ fprintf(stderr,"\nUnable to open the adapter. %s is not supported by WinPcap\n", argv[1]);
+ return;
+ }
+
+ /* Supposing to be on ethernet, set mac destination to 1:1:1:1:1:1 */
+ packet[0]=1;
+ packet[1]=1;
+ packet[2]=1;
+ packet[3]=1;
+ packet[4]=1;
+ packet[5]=1;
+
+ /* set mac source to 2:2:2:2:2:2 */
+ packet[6]=2;
+ packet[7]=2;
+ packet[8]=2;
+ packet[9]=2;
+ packet[10]=2;
+ packet[11]=2;
+
+ /* Fill the rest of the packet */
+ for(i=12;i<100;i++)
+ {
+ packet[i]=(u_char)i;
+ }
+
+ /* Send down the packet */
+ if (pcap_sendpacket(fp, packet, 100 /* size */) != 0)
+ {
+ fprintf(stderr,"\nError sending the packet: %s\n", pcap_geterr(fp));
+ return;
+ }
+
+ return;
+}
diff --git a/3rdparty/winpcap/Examples-remote/misc/sendpack.dsp b/3rdparty/winpcap/Examples-remote/misc/sendpack.dsp
new file mode 100644
index 00000000000..95022e377dc
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/misc/sendpack.dsp
@@ -0,0 +1,110 @@
+# Microsoft Developer Studio Project File - Name="sendpack" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=sendpack - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "sendpack.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "sendpack.mak" CFG="sendpack - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "sendpack - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "sendpack - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "sendpack - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /c
+# ADD BASE RSC /l 0x410 /d "NDEBUG"
+# ADD RSC /l 0x410 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib ws2_32.lib Iphlpapi.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF "$(CFG)" == "sendpack - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /I "D:/Program Files/Microsoft Platform SDK/include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x410 /d "_DEBUG"
+# ADD RSC /l 0x410 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib ws2_32.lib Iphlpapi.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "sendpack - Win32 Release"
+# Name "sendpack - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\sendpack.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=..\..\include\pcap.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# Begin Source File
+
+SOURCE=..\..\lib\Wpcap.lib
+# End Source File
+# End Target
+# End Project
diff --git a/3rdparty/winpcap/Examples-remote/misc/sendpack.vcproj b/3rdparty/winpcap/Examples-remote/misc/sendpack.vcproj
new file mode 100644
index 00000000000..ee5d3ae7026
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/misc/sendpack.vcproj
@@ -0,0 +1,364 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="sendpack"
+ ProjectGUID="{1C376689-5F61-48E7-AE83-0DED9EE9E458}"
+ RootNamespace="sendpack"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\sendpack.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/3rdparty/winpcap/Examples-remote/pcap_filter/pcap_filter.c b/3rdparty/winpcap/Examples-remote/pcap_filter/pcap_filter.c
new file mode 100644
index 00000000000..ad83a16e9cf
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/pcap_filter/pcap_filter.c
@@ -0,0 +1,169 @@
+/*
+ * Copyright (c) 1999 - 2005 NetGroup, Politecnico di Torino (Italy)
+ * Copyright (c) 2005 - 2006 CACE Technologies, Davis (California)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the Politecnico di Torino, CACE Technologies
+ * nor the names of its contributors may be used to endorse or promote
+ * products derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+
+#include <stdlib.h>
+#include <stdio.h>
+
+#include <pcap.h>
+
+#define MAX_PRINT 80
+#define MAX_LINE 16
+
+
+void usage();
+
+
+void main(int argc, char **argv)
+{
+pcap_t *fp;
+char errbuf[PCAP_ERRBUF_SIZE];
+char *source=NULL;
+char *ofilename=NULL;
+char *filter=NULL;
+int i;
+pcap_dumper_t *dumpfile;
+struct bpf_program fcode;
+bpf_u_int32 NetMask;
+int res;
+struct pcap_pkthdr *header;
+const u_char *pkt_data;
+
+ if (argc == 1)
+ {
+ usage();
+ return;
+ }
+
+ for(i=1;i < argc; i+= 2)
+ {
+
+ switch (argv[i] [1])
+ {
+ case 's':
+ {
+ source=argv[i+1];
+ };
+ break;
+
+ case 'o':
+ {
+ ofilename=argv[i+1];
+ };
+ break;
+
+ case 'f':
+ {
+ filter=argv[i+1];
+ };
+ break;
+ }
+ }
+
+ // open a capture from the network
+ if (source != NULL)
+ {
+ if ( (fp= pcap_open(source,
+ 1514 /*snaplen*/,
+ PCAP_OPENFLAG_PROMISCUOUS /*flags*/,
+ 20 /*read timeout*/,
+ NULL /* remote authentication */,
+ errbuf)
+ ) == NULL)
+ {
+ fprintf(stderr,"\nUnable to open the adapter.\n");
+ return;
+ }
+ }
+
+ else usage();
+
+ if (filter != NULL)
+ {
+ // We should loop through the adapters returned by the pcap_findalldevs_ex()
+ // in order to locate the correct one.
+ //
+ // Let's do things simpler: we suppose to be in a C class network ;-)
+ NetMask=0xffffff;
+
+ //compile the filter
+ if(pcap_compile(fp, &fcode, filter, 1, NetMask) < 0)
+ {
+ fprintf(stderr,"\nError compiling filter: wrong syntax.\n");
+ return;
+ }
+
+ //set the filter
+ if(pcap_setfilter(fp, &fcode)<0)
+ {
+ fprintf(stderr,"\nError setting the filter\n");
+ return;
+ }
+
+ }
+
+ //open the dump file
+ if (ofilename != NULL)
+ {
+ dumpfile= pcap_dump_open(fp, ofilename);
+
+ if (dumpfile == NULL)
+ {
+ fprintf(stderr,"\nError opening output file\n");
+ return;
+ }
+ }
+ else usage();
+
+ //start the capture
+ while((res = pcap_next_ex( fp, &header, &pkt_data)) >= 0)
+ {
+
+ if(res == 0)
+ /* Timeout elapsed */
+ continue;
+
+ //save the packet on the dump file
+ pcap_dump((unsigned char *) dumpfile, header, pkt_data);
+
+ }
+}
+
+
+void usage()
+{
+
+ printf("\npf - Generic Packet Filter.\n");
+ printf("\nUsage:\npf -s source -o output_file_name [-f filter_string]\n\n");
+ exit(0);
+} \ No newline at end of file
diff --git a/3rdparty/winpcap/Examples-remote/pcap_filter/pcap_filter.dsp b/3rdparty/winpcap/Examples-remote/pcap_filter/pcap_filter.dsp
new file mode 100644
index 00000000000..c01d2e7e31f
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/pcap_filter/pcap_filter.dsp
@@ -0,0 +1,110 @@
+# Microsoft Developer Studio Project File - Name="pcap_filter" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=pcap_filter - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "pcap_filter.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "pcap_filter.mak" CFG="pcap_filter - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "pcap_filter - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "pcap_filter - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "pcap_filter - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /c
+# ADD BASE RSC /l 0x410 /d "NDEBUG"
+# ADD RSC /l 0x410 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib /nologo /subsystem:console /machine:I386 /out:"Release/pf.exe"
+
+!ELSEIF "$(CFG)" == "pcap_filter - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x410 /d "_DEBUG"
+# ADD RSC /l 0x410 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib /nologo /subsystem:console /debug /machine:I386 /out:"Debug/pf.exe" /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "pcap_filter - Win32 Release"
+# Name "pcap_filter - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\pcap_filter.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=..\..\include\pcap.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# Begin Source File
+
+SOURCE=..\..\lib\Wpcap.lib
+# End Source File
+# End Target
+# End Project
diff --git a/3rdparty/winpcap/Examples-remote/pcap_filter/pcap_filter.dsw b/3rdparty/winpcap/Examples-remote/pcap_filter/pcap_filter.dsw
new file mode 100644
index 00000000000..1d39119b4d7
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/pcap_filter/pcap_filter.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "pcap_filter"=.\pcap_filter.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/3rdparty/winpcap/Examples-remote/pcap_filter/pcap_filter.vcproj b/3rdparty/winpcap/Examples-remote/pcap_filter/pcap_filter.vcproj
new file mode 100644
index 00000000000..ff322b543fb
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/pcap_filter/pcap_filter.vcproj
@@ -0,0 +1,364 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="pcap_filter"
+ ProjectGUID="{B9F68F6F-22AE-47A2-A3A3-1212831AF9FF}"
+ RootNamespace="pcap_filter"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WPCAP;HAVE_REMOTE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WPCAP;HAVE_REMOTE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WPCAP;HAVE_REMOTE"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WPCAP;HAVE_REMOTE"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\pcap_filter.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/3rdparty/winpcap/Examples-remote/pcap_fopen/pcap_fopen.cpp b/3rdparty/winpcap/Examples-remote/pcap_fopen/pcap_fopen.cpp
new file mode 100644
index 00000000000..0476e40edd5
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/pcap_fopen/pcap_fopen.cpp
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 2008 CACE Technologies, Davis (California)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of CACE Technologies nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This sample was contributed by
+ * Marcin Okraszewski (Marcin.OkraszewskiATpl.compuware.com)
+ *
+ */
+
+#include <tchar.h>
+#include <pcap.h>
+#include <stdio.h>
+
+/** Prints packet timestaps regardless of format*/
+int _tmain(int argc, _TCHAR* argv[])
+{
+ char errbuf[PCAP_ERRBUF_SIZE];
+ wchar_t cmd[1024];
+ wchar_t tshark_path[MAX_PATH];
+ wchar_t file_path[MAX_PATH];
+
+ if ( argc != 3 ) {
+ wprintf(L"Prints packet timestaps regardless of format.\n");
+ wprintf(L"Usage:\n\t%ls <tshark path> <trace file>\n", argv[0]);
+ return 1;
+ }
+
+ // conversion to short path name in case there are spaces
+ if ( ! GetShortPathNameW(argv[1], tshark_path, MAX_PATH) ||
+ ! GetShortPathNameW(argv[2], file_path, MAX_PATH) )
+ {
+ printf("Failed to convert paths to short form.");
+ return 1;
+ }
+
+ // create tshark command, which will make the trace conversion and print in libpcap format to stdout
+ if ( swprintf_s(cmd, 1024, L"%ls -r %ls -w - -F libpcap", tshark_path, file_path) < 0 ) {
+ wprintf(L"Failed to create command\n");
+ return 1;
+ }
+
+ // start tshark
+ FILE *tshark_out = _wpopen(cmd, L"rb");
+ if ( tshark_out == NULL ) {
+ strerror_s(errbuf, PCAP_ERRBUF_SIZE, errno);
+ printf("Failed run tshark: %s\n", errbuf);
+ wprintf(L"Command: %ls", cmd);
+ return 1;
+ }
+
+ // open stdout from tshark
+ pcap_t *pcap = pcap_fopen_offline(tshark_out, errbuf);
+ if ( pcap == NULL ) {
+ printf("Error opening stream from tshark: %s\n", errbuf);
+ return 1;
+ }
+
+ // print information about every packet int trace
+ struct pcap_pkthdr hdr;
+ while ( pcap_next(pcap, &hdr) ) {
+ printf("packet: ts: %u.%06u, len: %4u, caplen: %4u\n", hdr.ts.tv_sec, hdr.ts.tv_usec, hdr.len, hdr.caplen);
+ }
+
+ // clean up
+ pcap_close(pcap);
+ _pclose(tshark_out);
+ return 0;
+}
+
diff --git a/3rdparty/winpcap/Examples-remote/pcap_fopen/pcap_fopen.vcproj b/3rdparty/winpcap/Examples-remote/pcap_fopen/pcap_fopen.vcproj
new file mode 100644
index 00000000000..73f4c6e027b
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/pcap_fopen/pcap_fopen.vcproj
@@ -0,0 +1,364 @@
+<?xml version="1.0" encoding="windows-1250"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="pcap_fopen"
+ ProjectGUID="{DD317CB5-6337-498F-A560-553B5558E133}"
+ RootNamespace="pcap_fopen"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../Include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="../../Lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../Include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="../../Lib/x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="../../Include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="../../Lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="../../Include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="../../Lib/x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\pcap_fopen.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/3rdparty/winpcap/Examples-remote/pktdump_ex/pktdump_ex.c b/3rdparty/winpcap/Examples-remote/pktdump_ex/pktdump_ex.c
new file mode 100644
index 00000000000..6198e7dd392
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/pktdump_ex/pktdump_ex.c
@@ -0,0 +1,163 @@
+/*
+ * Copyright (c) 1999 - 2005 NetGroup, Politecnico di Torino (Italy)
+ * Copyright (c) 2005 - 2006 CACE Technologies, Davis (California)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the Politecnico di Torino, CACE Technologies
+ * nor the names of its contributors may be used to endorse or promote
+ * products derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+
+#include <stdlib.h>
+#include <stdio.h>
+
+//
+// NOTE: remember to include WPCAP and HAVE_REMOTE among your
+// preprocessor definitions.
+//
+
+#include <pcap.h>
+
+#define LINE_LEN 16
+
+int main(int argc, char **argv)
+{
+pcap_if_t *alldevs, *d;
+pcap_t *fp;
+u_int inum, i=0;
+char errbuf[PCAP_ERRBUF_SIZE];
+int res;
+struct pcap_pkthdr *header;
+const u_char *pkt_data;
+
+ printf("pktdump_ex: prints the packets of the network using WinPcap.\n");
+ printf(" Usage: pktdump_ex [-s source]\n\n"
+ " Examples:\n"
+ " pktdump_ex -s file://c:/temp/file.acp\n"
+ " pktdump_ex -s rpcap://\\Device\\NPF_{C8736017-F3C3-4373-94AC-9A34B7DAD998}\n\n");
+
+ if(argc < 3)
+ {
+
+ printf("\nNo adapter selected: printing the device list:\n");
+ /* The user didn't provide a packet source: Retrieve the local device list */
+ if (pcap_findalldevs_ex(PCAP_SRC_IF_STRING, NULL, &alldevs, errbuf) == -1)
+ {
+ fprintf(stderr,"Error in pcap_findalldevs_ex: %s\n", errbuf);
+ return -1;
+ }
+
+ /* Print the list */
+ for(d=alldevs; d; d=d->next)
+ {
+ printf("%d. %s\n ", ++i, d->name);
+
+ if (d->description)
+ printf(" (%s)\n", d->description);
+ else
+ printf(" (No description available)\n");
+ }
+
+ if (i==0)
+ {
+ fprintf(stderr,"No interfaces found! Exiting.\n");
+ return -1;
+ }
+
+ printf("Enter the interface number (1-%d):",i);
+ scanf_s("%d", &inum);
+
+ if (inum < 1 || inum > i)
+ {
+ printf("\nInterface number out of range.\n");
+
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+ return -1;
+ }
+
+ /* Jump to the selected adapter */
+ for (d=alldevs, i=0; i< inum-1 ;d=d->next, i++);
+
+ /* Open the device */
+ if ( (fp= pcap_open(d->name,
+ 100 /*snaplen*/,
+ PCAP_OPENFLAG_PROMISCUOUS /*flags*/,
+ 20 /*read timeout*/,
+ NULL /* remote authentication */,
+ errbuf)
+ ) == NULL)
+ {
+ fprintf(stderr,"\nError opening adapter\n");
+ return -1;
+ }
+ }
+ else
+ {
+ // Do not check for the switch type ('-s')
+ if ( (fp= pcap_open(argv[2],
+ 100 /*snaplen*/,
+ PCAP_OPENFLAG_PROMISCUOUS /*flags*/,
+ 20 /*read timeout*/,
+ NULL /* remote authentication */,
+ errbuf)
+ ) == NULL)
+ {
+ fprintf(stderr,"\nError opening source: %s\n", errbuf);
+ return -1;
+ }
+ }
+
+ /* Read the packets */
+ while((res = pcap_next_ex( fp, &header, &pkt_data)) >= 0)
+ {
+
+ if(res == 0)
+ /* Timeout elapsed */
+ continue;
+
+ /* print pkt timestamp and pkt len */
+ printf("%ld:%ld (%ld)\n", header->ts.tv_sec, header->ts.tv_usec, header->len);
+
+ /* Print the packet */
+ for (i=1; (i < header->caplen + 1 ) ; i++)
+ {
+ printf("%.2x ", pkt_data[i-1]);
+ if ( (i % LINE_LEN) == 0) printf("\n");
+ }
+
+ printf("\n\n");
+ }
+
+ if(res == -1)
+ {
+ fprintf(stderr, "Error reading the packets: %s\n", pcap_geterr(fp));
+ return -1;
+ }
+
+ return 0;
+}
diff --git a/3rdparty/winpcap/Examples-remote/pktdump_ex/pktdump_ex.dsp b/3rdparty/winpcap/Examples-remote/pktdump_ex/pktdump_ex.dsp
new file mode 100644
index 00000000000..a9800e6a1e5
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/pktdump_ex/pktdump_ex.dsp
@@ -0,0 +1,110 @@
+# Microsoft Developer Studio Project File - Name="pktdump_ex" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=pktdump_ex - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "pktdump_ex.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "pktdump_ex.mak" CFG="pktdump_ex - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "pktdump_ex - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "pktdump_ex - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "pktdump_ex - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /c
+# ADD BASE RSC /l 0x410 /d "NDEBUG"
+# ADD RSC /l 0x410 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF "$(CFG)" == "pktdump_ex - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x410 /d "_DEBUG"
+# ADD RSC /l 0x410 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "pktdump_ex - Win32 Release"
+# Name "pktdump_ex - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\pktdump_ex.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=..\..\include\pcap.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# Begin Source File
+
+SOURCE=..\..\lib\Wpcap.lib
+# End Source File
+# End Target
+# End Project
diff --git a/3rdparty/winpcap/Examples-remote/pktdump_ex/pktdump_ex.dsw b/3rdparty/winpcap/Examples-remote/pktdump_ex/pktdump_ex.dsw
new file mode 100644
index 00000000000..ec247333283
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/pktdump_ex/pktdump_ex.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "pktdump_ex"=.\pktdump_ex.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/3rdparty/winpcap/Examples-remote/pktdump_ex/pktdump_ex.vcproj b/3rdparty/winpcap/Examples-remote/pktdump_ex/pktdump_ex.vcproj
new file mode 100644
index 00000000000..d99862f409e
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/pktdump_ex/pktdump_ex.vcproj
@@ -0,0 +1,364 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="pktdump_ex"
+ ProjectGUID="{3D62DEB4-3536-44AE-8E4B-AD6DFF1B795E}"
+ RootNamespace="pktdump_ex"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WPCAP;HAVE_REMOTE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WPCAP;HAVE_REMOTE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WPCAP;HAVE_REMOTE"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WPCAP;HAVE_REMOTE"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\pktdump_ex.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/3rdparty/winpcap/Examples-remote/sendcap/sencap.dsw b/3rdparty/winpcap/Examples-remote/sendcap/sencap.dsw
new file mode 100644
index 00000000000..eae0bc2c787
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/sendcap/sencap.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "sendcap"=.\sendcap.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/3rdparty/winpcap/Examples-remote/sendcap/sendcap.c b/3rdparty/winpcap/Examples-remote/sendcap/sendcap.c
new file mode 100644
index 00000000000..876c6d80520
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/sendcap/sendcap.c
@@ -0,0 +1,184 @@
+/*
+ * Copyright (c) 1999 - 2005 NetGroup, Politecnico di Torino (Italy)
+ * Copyright (c) 2005 - 2006 CACE Technologies, Davis (California)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the Politecnico di Torino, CACE Technologies
+ * nor the names of its contributors may be used to endorse or promote
+ * products derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <stdlib.h>
+#include <stdio.h>
+
+#include <pcap.h>
+
+void usage();
+
+void main(int argc, char **argv)
+{
+ pcap_t *indesc,*outdesc;
+ char errbuf[PCAP_ERRBUF_SIZE];
+ char source[PCAP_BUF_SIZE];
+ FILE *capfile;
+ int caplen, sync;
+ u_int res;
+ pcap_send_queue *squeue;
+ struct pcap_pkthdr *pktheader;
+ u_char *pktdata;
+ float cpu_time;
+ u_int npacks = 0;
+ errno_t fopen_error;
+
+ /* Check the validity of the command line */
+ if (argc <= 2 || argc >= 5)
+ {
+ usage();
+ return;
+ }
+
+ /* Retrieve the length of the capture file */
+ fopen_error = fopen_s(&capfile, argv[1],"rb");
+ if(fopen_error != 0){
+ printf("Error opening the file, errno %d.\n", fopen_error);
+ return;
+ }
+
+ fseek(capfile , 0, SEEK_END);
+ caplen= ftell(capfile)- sizeof(struct pcap_file_header);
+ fclose(capfile);
+
+ /* Chek if the timestamps must be respected */
+ if(argc == 4 && argv[3][0] == 's')
+ sync = TRUE;
+ else
+ sync = FALSE;
+
+ /* Open the capture */
+ /* Create the source string according to the new WinPcap syntax */
+ if ( pcap_createsrcstr( source, // variable that will keep the source string
+ PCAP_SRC_FILE, // we want to open a file
+ NULL, // remote host
+ NULL, // port on the remote host
+ argv[1], // name of the file we want to open
+ errbuf // error buffer
+ ) != 0)
+ {
+ fprintf(stderr,"\nError creating a source string\n");
+ return;
+ }
+
+ /* Open the capture file */
+ if ( (indesc= pcap_open(source, 65536, PCAP_OPENFLAG_PROMISCUOUS, 1000, NULL, errbuf) ) == NULL)
+ {
+ fprintf(stderr,"\nUnable to open the file %s.\n", source);
+ return;
+ }
+
+ /* Open the output adapter */
+ if ( (outdesc= pcap_open(argv[2], 100, PCAP_OPENFLAG_PROMISCUOUS, 1000, NULL, errbuf) ) == NULL)
+ {
+ fprintf(stderr,"\nUnable to open adapter %s.\n", source);
+ return;
+ }
+
+ /* Check the MAC type */
+ if (pcap_datalink(indesc) != pcap_datalink(outdesc))
+ {
+ printf("Warning: the datalink of the capture differs from the one of the selected interface.\n");
+ printf("Press a key to continue, or CTRL+C to stop.\n");
+ getchar();
+ }
+
+ /* Allocate a send queue */
+ squeue = pcap_sendqueue_alloc(caplen);
+
+ /* Fill the queue with the packets from the file */
+ while ((res = pcap_next_ex( indesc, &pktheader, &pktdata)) == 1)
+ {
+ if (pcap_sendqueue_queue(squeue, pktheader, pktdata) == -1)
+ {
+ printf("Warning: packet buffer too small, not all the packets will be sent.\n");
+ break;
+ }
+
+ npacks++;
+ }
+
+ if (res == -1)
+ {
+ printf("Corrupted input file.\n");
+ pcap_sendqueue_destroy(squeue);
+ return;
+ }
+
+ /* Transmit the queue */
+
+ cpu_time = (float)clock ();
+
+ if ((res = pcap_sendqueue_transmit(outdesc, squeue, sync)) < squeue->len)
+ {
+ printf("An error occurred sending the packets: %s. Only %d bytes were sent\n", pcap_geterr(outdesc), res);
+ }
+
+ cpu_time = (clock() - cpu_time)/CLK_TCK;
+
+ printf ("\n\nElapsed time: %5.3f\n", cpu_time);
+ printf ("\nTotal packets generated = %d", npacks);
+ printf ("\nAverage packets per second = %d", (int)((double)npacks/cpu_time));
+ printf ("\n");
+
+ /* free the send queue */
+ pcap_sendqueue_destroy(squeue);
+
+ /* Close the input file */
+ pcap_close(indesc);
+
+ /*
+ * lose the output adapter
+ * IMPORTANT: remember to close the adapter, otherwise there will be no guarantee that all the
+ * packets will be sent!
+ */
+ pcap_close(outdesc);
+
+
+ return;
+}
+
+
+void usage()
+{
+
+ printf("\nSendcap, sends a libpcap/tcpdump capture file to the net. Copyright (C) 2002 Loris Degioanni.\n");
+ printf("\nUsage:\n");
+ printf("\t sendcap file_name adapter [s]\n");
+ printf("\nParameters:\n");
+ printf("\nfile_name: the name of the dump file that will be sent to the network\n");
+ printf("\nadapter: the device to use. Use \"WinDump -D\" for a list of valid devices\n");
+ printf("\ns: if present, forces the packets to be sent synchronously, i.e. respecting the timestamps in the dump file. This option will work only under Windows NTx.\n\n");
+
+ exit(0);
+} \ No newline at end of file
diff --git a/3rdparty/winpcap/Examples-remote/sendcap/sendcap.dsp b/3rdparty/winpcap/Examples-remote/sendcap/sendcap.dsp
new file mode 100644
index 00000000000..230d09b6067
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/sendcap/sendcap.dsp
@@ -0,0 +1,110 @@
+# Microsoft Developer Studio Project File - Name="sendcap" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=sendcap - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "sendcap.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "sendcap.mak" CFG="sendcap - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "sendcap - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "sendcap - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "sendcap - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "PCAP_DONT_INCLUDE_PCAP_BPF_H" /YX /FD /c
+# ADD BASE RSC /l 0x410 /d "NDEBUG"
+# ADD RSC /l 0x410 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF "$(CFG)" == "sendcap - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "PCAP_DONT_INCLUDE_PCAP_BPF_H" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x410 /d "_DEBUG"
+# ADD RSC /l 0x410 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "sendcap - Win32 Release"
+# Name "sendcap - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\sendcap.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=..\..\include\pcap.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# Begin Source File
+
+SOURCE=..\..\lib\Wpcap.lib
+# End Source File
+# End Target
+# End Project
diff --git a/3rdparty/winpcap/Examples-remote/sendcap/sendcap.vcproj b/3rdparty/winpcap/Examples-remote/sendcap/sendcap.vcproj
new file mode 100644
index 00000000000..c95da3c4885
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/sendcap/sendcap.vcproj
@@ -0,0 +1,364 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="sendcap"
+ ProjectGUID="{C6712171-F9B8-4A1E-A774-5D93C9116CEE}"
+ RootNamespace="sendcap"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\sendcap.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/3rdparty/winpcap/Examples-remote/smp_1/smp_1.c b/3rdparty/winpcap/Examples-remote/smp_1/smp_1.c
new file mode 100644
index 00000000000..9b99114328d
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/smp_1/smp_1.c
@@ -0,0 +1,134 @@
+/*
+ * Copyright (c) 1999 - 2005 NetGroup, Politecnico di Torino (Italy)
+ * Copyright (c) 2005 - 2006 CACE Technologies, Davis (California)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the Politecnico di Torino, CACE Technologies
+ * nor the names of its contributors may be used to endorse or promote
+ * products derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <conio.h>
+
+#include <pcap.h>
+
+
+int main()
+{
+pcap_if_t *alldevs, *d;
+pcap_t *fp;
+u_int inum, i=0;
+char errbuf[PCAP_ERRBUF_SIZE];
+int res;
+struct pcap_pkthdr *header;
+const u_char *pkt_data;
+struct pcap_pkthdr old;
+
+ printf("SMP_1\n");
+ printf("\nThis program tests the WinPcap kernel driver on SMP machines.\n");
+ printf("The program tests that timestamps on the captured packets are consistent,\n");
+ printf("and that the caplen is equal to the packet length.\n");
+ printf("If there is an error, it will print out a message saying \"Inconsistent XXX\"\n");
+
+ if (pcap_findalldevs_ex(PCAP_SRC_IF_STRING, NULL, &alldevs, errbuf) == -1)
+ {
+ fprintf(stderr,"Error in pcap_findalldevs: %s\n", errbuf);
+ exit(1);
+ }
+
+ /* Print the list */
+ for(d=alldevs; d; d=d->next)
+ {
+ printf("%d. %s", ++i, d->name);
+ if (d->description)
+ printf(" (%s)\n", d->description);
+ else
+ printf(" (No description available)\n");
+ }
+
+ if(i==0)
+ {
+ printf("\nNo interfaces found! Make sure WinPcap is installed.\n");
+ return -1;
+ }
+
+ printf("Enter the interface number (1-%d):",i);
+ scanf_s("%d", &inum);
+
+ if(inum < 1 || inum > i)
+ {
+ printf("\nInterface number out of range.\n");
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+ return -1;
+ }
+
+ /* Jump to the selected adapter */
+ for(d=alldevs, i=0; i< inum-1 ;d=d->next, i++);
+
+ /* Open the device */
+ if ( (fp= pcap_open(d->name, 65536, PCAP_OPENFLAG_PROMISCUOUS, 1000, NULL, errbuf) ) == NULL)
+ {
+ fprintf(stderr,"\nUnable to open the adapter. %s is not supported by WinPcap\n", d->name);
+ /* Free the device list */
+ pcap_freealldevs(alldevs);
+ return -1;
+ }
+
+ old.ts.tv_sec=0;
+ old.ts.tv_usec=0;
+
+
+ /* Read the packets */
+ while((res = pcap_next_ex( fp, &header, &pkt_data)) >= 0){
+
+ if(res == 0)
+ continue;
+
+ //check that caplen is equal to packet length
+ if (header->caplen!=header->len)
+ printf("Inconsistent header: CapLen %d\t Len %d\n",header->caplen,header->len);
+
+ //check that timestamps always grow
+ if ( old.ts.tv_sec > header->ts.tv_sec || (old.ts.tv_sec == header->ts.tv_sec && old.ts.tv_usec > header->ts.tv_usec))
+ printf("Inconsistent Timestamps! Old was %d.%.06d - New is %d.%.06d\n",old.ts.tv_sec,old.ts.tv_usec, header->ts.tv_sec,header->ts.tv_usec);
+
+ old=*header;
+
+ }
+
+ if(res == -1){
+ printf("Error reading the packets: %s\n", pcap_geterr(fp));
+ return -1;
+ }
+
+ _getch();
+
+ return 0;
+}
diff --git a/3rdparty/winpcap/Examples-remote/smp_1/smp_1.dsp b/3rdparty/winpcap/Examples-remote/smp_1/smp_1.dsp
new file mode 100644
index 00000000000..e759c3086f1
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/smp_1/smp_1.dsp
@@ -0,0 +1,102 @@
+# Microsoft Developer Studio Project File - Name="smp_1" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=smp_1 - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "smp_1.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "smp_1.mak" CFG="smp_1 - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "smp_1 - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "smp_1 - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "smp_1 - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /I "..\..\include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /c
+# ADD BASE RSC /l 0x410 /d "NDEBUG"
+# ADD RSC /l 0x410 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wpcap.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\lib"
+
+!ELSEIF "$(CFG)" == "smp_1 - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\..\include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x410 /d "_DEBUG"
+# ADD RSC /l 0x410 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wpcap.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "smp_1 - Win32 Release"
+# Name "smp_1 - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\SMP_1.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/3rdparty/winpcap/Examples-remote/smp_1/smp_1.dsw b/3rdparty/winpcap/Examples-remote/smp_1/smp_1.dsw
new file mode 100644
index 00000000000..36c8e46725a
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/smp_1/smp_1.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "smp_1"=.\smp_1.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/3rdparty/winpcap/Examples-remote/smp_1/smp_1.vcproj b/3rdparty/winpcap/Examples-remote/smp_1/smp_1.vcproj
new file mode 100644
index 00000000000..f789df3351d
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/smp_1/smp_1.vcproj
@@ -0,0 +1,364 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="smp_1"
+ ProjectGUID="{21F49E7F-6C58-4DA5-ABE5-A9DFB6165C83}"
+ RootNamespace="smp_1"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\smp_1.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/3rdparty/winpcap/Examples-remote/tcptop/tcptop.c b/3rdparty/winpcap/Examples-remote/tcptop/tcptop.c
new file mode 100644
index 00000000000..2d83c3fdb80
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/tcptop/tcptop.c
@@ -0,0 +1,158 @@
+/*
+ * Copyright (c) 1999 - 2005 NetGroup, Politecnico di Torino (Italy)
+ * Copyright (c) 2005 - 2006 CACE Technologies, Davis (California)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the Politecnico di Torino, CACE Technologies
+ * nor the names of its contributors may be used to endorse or promote
+ * products derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <stdlib.h>
+#include <stdio.h>
+
+#include <pcap.h>
+
+void usage();
+
+void dispatcher_handler(u_char *, const struct pcap_pkthdr *, const u_char *);
+
+
+void main(int argc, char **argv)
+{
+pcap_t *fp;
+char errbuf[PCAP_ERRBUF_SIZE];
+struct timeval st_ts;
+u_int netmask;
+struct bpf_program fcode;
+
+ /* Check the validity of the command line */
+ if (argc != 2)
+ {
+ usage();
+ return;
+ }
+
+ /* Open the output adapter */
+ if ( (fp= pcap_open(argv[1], 100, PCAP_OPENFLAG_PROMISCUOUS, 1000, NULL, errbuf) ) == NULL)
+ {
+ fprintf(stderr,"\nUnable to open adapter %s.\n", errbuf);
+ return;
+ }
+
+ /* Don't care about netmask, it won't be used for this filter */
+ netmask=0xffffff;
+
+ //compile the filter
+ if (pcap_compile(fp, &fcode, "tcp", 1, netmask) <0 )
+ {
+ fprintf(stderr,"\nUnable to compile the packet filter. Check the syntax.\n");
+ /* Free the device list */
+ return;
+ }
+
+ //set the filter
+ if (pcap_setfilter(fp, &fcode)<0)
+ {
+ fprintf(stderr,"\nError setting the filter.\n");
+ pcap_close(fp);
+ /* Free the device list */
+ return;
+ }
+
+ /* Put the interface in statstics mode */
+ if (pcap_setmode(fp, MODE_STAT)<0)
+ {
+ fprintf(stderr,"\nError setting the mode.\n");
+ pcap_close(fp);
+ /* Free the device list */
+ return;
+ }
+
+
+ printf("TCP traffic summary:\n");
+
+ /* Start the main loop */
+ pcap_loop(fp, 0, dispatcher_handler, (PUCHAR)&st_ts);
+
+ pcap_close(fp);
+ return;
+}
+
+void dispatcher_handler(u_char *state, const struct pcap_pkthdr *header, const u_char *pkt_data)
+{
+ struct timeval *old_ts = (struct timeval *)state;
+ u_int delay;
+ LARGE_INTEGER Bps,Pps;
+ struct tm ltime;
+ char timestr[16];
+ time_t local_tv_sec;
+
+ /* Calculate the delay in microseconds from the last sample. */
+ /* This value is obtained from the timestamp that the associated with the sample. */
+ delay=(header->ts.tv_sec - old_ts->tv_sec) * 1000000 - old_ts->tv_usec + header->ts.tv_usec;
+ /* Get the number of Bits per second */
+ Bps.QuadPart=(((*(LONGLONG*)(pkt_data + 8)) * 8 * 1000000) / (delay));
+ /* ^ ^
+ | |
+ | |
+ | |
+ converts bytes in bits -- |
+ |
+ delay is expressed in microseconds --
+ */
+
+ /* Get the number of Packets per second */
+ Pps.QuadPart=(((*(LONGLONG*)(pkt_data)) * 1000000) / (delay));
+
+ /* Convert the timestamp to readable format */
+ local_tv_sec = header->ts.tv_sec;
+ localtime_s(&ltime, &local_tv_sec);
+ strftime( timestr, sizeof timestr, "%H:%M:%S", &ltime);
+
+ /* Print timestamp*/
+ printf("%s ", timestr);
+
+ /* Print the samples */
+ printf("BPS=%I64u ", Bps.QuadPart);
+ printf("PPS=%I64u\n", Pps.QuadPart);
+
+ //store current timestamp
+ old_ts->tv_sec=header->ts.tv_sec;
+ old_ts->tv_usec=header->ts.tv_usec;
+}
+
+
+void usage()
+{
+
+ printf("\nShows the TCP traffic load, in bits per second and packets per second.\nCopyright (C) 2002 Loris Degioanni.\n");
+ printf("\nUsage:\n");
+ printf("\t tcptop adapter\n");
+ printf("\t You can use \"WinDump -D\" if you don't know the name of your adapters.\n");
+
+ exit(0);
+} \ No newline at end of file
diff --git a/3rdparty/winpcap/Examples-remote/tcptop/tcptop.dsp b/3rdparty/winpcap/Examples-remote/tcptop/tcptop.dsp
new file mode 100644
index 00000000000..95d9fccb01f
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/tcptop/tcptop.dsp
@@ -0,0 +1,110 @@
+# Microsoft Developer Studio Project File - Name="tcptop" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=tcptop - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "tcptop.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "tcptop.mak" CFG="tcptop - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "tcptop - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "tcptop - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "tcptop - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /c
+# ADD BASE RSC /l 0x410 /d "NDEBUG"
+# ADD RSC /l 0x410 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF "$(CFG)" == "tcptop - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../" /I "../bpf/" /I "../lbl/" /I "../../Include/" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_UNICODE" /D "WPCAP" /D "HAVE_REMOTE" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x410 /d "_DEBUG"
+# ADD RSC /l 0x410 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "tcptop - Win32 Release"
+# Name "tcptop - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\tcptop.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=..\..\include\pcap.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# Begin Source File
+
+SOURCE=..\..\lib\Wpcap.lib
+# End Source File
+# End Target
+# End Project
diff --git a/3rdparty/winpcap/Examples-remote/tcptop/tcptop.dsw b/3rdparty/winpcap/Examples-remote/tcptop/tcptop.dsw
new file mode 100644
index 00000000000..d680f734574
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/tcptop/tcptop.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "tcptop"=.\tcptop.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/3rdparty/winpcap/Examples-remote/tcptop/tcptop.vcproj b/3rdparty/winpcap/Examples-remote/tcptop/tcptop.vcproj
new file mode 100644
index 00000000000..5143b4a29a6
--- /dev/null
+++ b/3rdparty/winpcap/Examples-remote/tcptop/tcptop.vcproj
@@ -0,0 +1,364 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="tcptop"
+ ProjectGUID="{B671D5DF-3A80-4A21-BC01-79E3FB73D372}"
+ RootNamespace="tcptop"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x86"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(SolutionDir)\$(ConfigurationName)\x64"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_REMOTE;WPCAP"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="wpcap.lib ws2_32.lib"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib\x64"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\tcptop.c"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/src/lib/winpcap/Packet32.h b/3rdparty/winpcap/Include/Packet32.h
index 061c6460a4f..64be055d96c 100644
--- a/src/lib/winpcap/Packet32.h
+++ b/3rdparty/winpcap/Include/Packet32.h
@@ -12,9 +12,9 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the Politecnico di Torino, CACE Technologies
- * nor the names of its contributors may be used to endorse or promote
- * products derived from this software without specific prior written
+ * 3. Neither the name of the Politecnico di Torino, CACE Technologies
+ * nor the names of its contributors may be used to endorse or promote
+ * products derived from this software without specific prior written
* permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
@@ -32,7 +32,7 @@
*/
/** @ingroup packetapi
- * @{
+ * @{
*/
/** @defgroup packet32h Packet.dll definitions and data structures
@@ -70,19 +70,19 @@ typedef struct _AirpcapHandle *PAirpcapHandle;
/// Alignment macro. Defines the alignment size.
#define Packet_ALIGNMENT sizeof(int)
-/// Alignment macro. Rounds up to the next even multiple of Packet_ALIGNMENT.
+/// Alignment macro. Rounds up to the next even multiple of Packet_ALIGNMENT.
#define Packet_WORDALIGN(x) (((x)+(Packet_ALIGNMENT-1))&~(Packet_ALIGNMENT-1))
-#define NdisMediumNull -1 ///< Custom linktype: NDIS doesn't provide an equivalent
-#define NdisMediumCHDLC -2 ///< Custom linktype: NDIS doesn't provide an equivalent
-#define NdisMediumPPPSerial -3 ///< Custom linktype: NDIS doesn't provide an equivalent
-#define NdisMediumBare80211 -4 ///< Custom linktype: NDIS doesn't provide an equivalent
-#define NdisMediumRadio80211 -5 ///< Custom linktype: NDIS doesn't provide an equivalent
-#define NdisMediumPpi -6 ///< Custom linktype: NDIS doesn't provide an equivalent
+#define NdisMediumNull -1 ///< Custom linktype: NDIS doesn't provide an equivalent
+#define NdisMediumCHDLC -2 ///< Custom linktype: NDIS doesn't provide an equivalent
+#define NdisMediumPPPSerial -3 ///< Custom linktype: NDIS doesn't provide an equivalent
+#define NdisMediumBare80211 -4 ///< Custom linktype: NDIS doesn't provide an equivalent
+#define NdisMediumRadio80211 -5 ///< Custom linktype: NDIS doesn't provide an equivalent
+#define NdisMediumPpi -6 ///< Custom linktype: NDIS doesn't provide an equivalent
// Loopback behaviour definitions
-#define NPF_DISABLE_LOOPBACK 1 ///< Drop the packets sent by the NPF driver
-#define NPF_ENABLE_LOOPBACK 2 ///< Capture the packets sent by the NPF driver
+#define NPF_DISABLE_LOOPBACK 1 ///< Drop the packets sent by the NPF driver
+#define NPF_ENABLE_LOOPBACK 2 ///< Capture the packets sent by the NPF driver
/*!
\brief Network type structure.
@@ -91,8 +91,8 @@ typedef struct _AirpcapHandle *PAirpcapHandle;
*/
typedef struct NetType
{
- UINT LinkType; ///< The MAC of the current network adapter (see function PacketGetNetType() for more information)
- ULONGLONG LinkSpeed; ///< The speed of the network in bits per second
+ UINT LinkType; ///< The MAC of the current network adapter (see function PacketGetNetType() for more information)
+ ULONGLONG LinkSpeed; ///< The speed of the network in bits per second
}NetType;
@@ -103,12 +103,12 @@ typedef struct NetType
/*!
\brief A BPF pseudo-assembly program.
- The program will be injected in the kernel by the PacketSetBPF() function and applied to every incoming packet.
+ The program will be injected in the kernel by the PacketSetBPF() function and applied to every incoming packet.
*/
-struct bpf_program
+struct bpf_program
{
- UINT bf_len; ///< Indicates the number of instructions of the program, i.e. the number of struct bpf_insn that will follow.
- struct bpf_insn *bf_insns; ///< A pointer to the first instruction of the program.
+ UINT bf_len; ///< Indicates the number of instructions of the program, i.e. the number of struct bpf_insn that will follow.
+ struct bpf_insn *bf_insns; ///< A pointer to the first instruction of the program.
};
/*!
@@ -116,12 +116,12 @@ struct bpf_program
bpf_insn contains a single instruction for the BPF register-machine. It is used to send a filter program to the driver.
*/
-struct bpf_insn
+struct bpf_insn
{
- USHORT code; ///< Instruction type and addressing mode.
- UCHAR jt; ///< Jump if true
- UCHAR jf; ///< Jump if false
- int k; ///< Generic field used for various purposes.
+ USHORT code; ///< Instruction type and addressing mode.
+ UCHAR jt; ///< Jump if true
+ UCHAR jf; ///< Jump if false
+ int k; ///< Generic field used for various purposes.
};
/*!
@@ -129,16 +129,16 @@ struct bpf_insn
It is used by packet.dll to return statistics about a capture session.
*/
-struct bpf_stat
+struct bpf_stat
{
- UINT bs_recv; ///< Number of packets that the driver received from the network adapter
- ///< from the beginning of the current capture. This value includes the packets
+ UINT bs_recv; ///< Number of packets that the driver received from the network adapter
+ ///< from the beginning of the current capture. This value includes the packets
///< lost by the driver.
- UINT bs_drop; ///< number of packets that the driver lost from the beginning of a capture.
- ///< Basically, a packet is lost when the buffer of the driver is full.
+ UINT bs_drop; ///< number of packets that the driver lost from the beginning of a capture.
+ ///< Basically, a packet is lost when the the buffer of the driver is full.
///< In this situation the packet cannot be stored and the driver rejects it.
- UINT ps_ifdrop; ///< drops by interface. XXX not yet supported
- UINT bs_capt; ///< number of packets that pass the filter, find place in the kernel buffer and
+ UINT ps_ifdrop; ///< drops by interface. XXX not yet supported
+ UINT bs_capt; ///< number of packets that pass the filter, find place in the kernel buffer and
///< thus reach the application.
};
@@ -147,17 +147,17 @@ struct bpf_stat
This structure defines the header associated with every packet delivered to the application.
*/
-struct bpf_hdr
+struct bpf_hdr
{
- struct timeval bh_tstamp; ///< The timestamp associated with the captured packet.
+ struct timeval bh_tstamp; ///< The timestamp associated with the captured packet.
///< It is stored in a TimeVal structure.
- UINT bh_caplen; ///< Length of captured portion. The captured portion <b>can be different</b>
+ UINT bh_caplen; ///< Length of captured portion. The captured portion <b>can be different</b>
///< from the original packet, because it is possible (with a proper filter)
///< to instruct the driver to capture only a portion of the packets.
- UINT bh_datalen; ///< Original length of packet
- USHORT bh_hdrlen; ///< Length of bpf header (this struct plus alignment padding). In some cases,
+ UINT bh_datalen; ///< Original length of packet
+ USHORT bh_hdrlen; ///< Length of bpf header (this struct plus alignment padding). In some cases,
///< a padding could be added between the end of this structure and the packet
- ///< data for performance reasons. This filed can be used to retrieve the actual data
+ ///< data for performance reasons. This filed can be used to retrieve the actual data
///< of the packet.
};
@@ -169,11 +169,11 @@ struct bpf_hdr
packet in a dump file. This makes straightforward sending WinPcap dump files to the network.
*/
struct dump_bpf_hdr{
- struct timeval ts; ///< Time stamp of the packet
- UINT caplen; ///< Length of captured portion. The captured portion can smaller than the
- ///< the original packet, because it is possible (with a proper filter) to
- ///< instruct the driver to capture only a portion of the packets.
- UINT len; ///< Length of the original packet (off wire).
+ struct timeval ts; ///< Time stamp of the packet
+ UINT caplen; ///< Length of captured portion. The captured portion can smaller than the
+ ///< the original packet, because it is possible (with a proper filter) to
+ ///< instruct the driver to capture only a portion of the packets.
+ UINT len; ///< Length of the original packet (off wire).
};
@@ -181,39 +181,39 @@ struct dump_bpf_hdr{
struct bpf_stat;
-#define DOSNAMEPREFIX TEXT("Packet_") ///< Prefix added to the adapters device names to create the WinPcap devices
-#define MAX_LINK_NAME_LENGTH 64 //< Maximum length of the devices symbolic links
+#define DOSNAMEPREFIX TEXT("Packet_") ///< Prefix added to the adapters device names to create the WinPcap devices
+#define MAX_LINK_NAME_LENGTH 64 //< Maximum length of the devices symbolic links
#define NMAX_PACKET 65535
/*!
\brief Addresses of a network adapter.
- This structure is used by the PacketGetNetInfoEx() function to return the IP addresses associated with
+ This structure is used by the PacketGetNetInfoEx() function to return the IP addresses associated with
an adapter.
*/
typedef struct npf_if_addr {
- struct sockaddr_storage IPAddress; ///< IP address.
- struct sockaddr_storage SubnetMask; ///< Netmask for that address.
- struct sockaddr_storage Broadcast; ///< Broadcast address.
+ struct sockaddr_storage IPAddress; ///< IP address.
+ struct sockaddr_storage SubnetMask; ///< Netmask for that address.
+ struct sockaddr_storage Broadcast; ///< Broadcast address.
}npf_if_addr;
-#define ADAPTER_NAME_LENGTH 256 + 12 ///< Maximum length for the name of an adapter. The value is the same used by the IP Helper API.
-#define ADAPTER_DESC_LENGTH 128 ///< Maximum length for the description of an adapter. The value is the same used by the IP Helper API.
-#define MAX_MAC_ADDR_LENGTH 8 ///< Maximum length for the link layer address of an adapter. The value is the same used by the IP Helper API.
-#define MAX_NETWORK_ADDRESSES 16 ///< Maximum length for the link layer address of an adapter. The value is the same used by the IP Helper API.
+#define ADAPTER_NAME_LENGTH 256 + 12 ///< Maximum length for the name of an adapter. The value is the same used by the IP Helper API.
+#define ADAPTER_DESC_LENGTH 128 ///< Maximum length for the description of an adapter. The value is the same used by the IP Helper API.
+#define MAX_MAC_ADDR_LENGTH 8 ///< Maximum length for the link layer address of an adapter. The value is the same used by the IP Helper API.
+#define MAX_NETWORK_ADDRESSES 16 ///< Maximum length for the link layer address of an adapter. The value is the same used by the IP Helper API.
typedef struct WAN_ADAPTER_INT WAN_ADAPTER; ///< Describes an opened wan (dialup, VPN...) network adapter using the NetMon API
typedef WAN_ADAPTER *PWAN_ADAPTER; ///< Describes an opened wan (dialup, VPN...) network adapter using the NetMon API
-#define INFO_FLAG_NDIS_ADAPTER 0 ///< Flag for ADAPTER_INFO: this is a traditional ndis adapter
-#define INFO_FLAG_NDISWAN_ADAPTER 1 ///< Flag for ADAPTER_INFO: this is a NdisWan adapter, and it's managed by WANPACKET
-#define INFO_FLAG_DAG_CARD 2 ///< Flag for ADAPTER_INFO: this is a DAG card
-#define INFO_FLAG_DAG_FILE 6 ///< Flag for ADAPTER_INFO: this is a DAG file
-#define INFO_FLAG_DONT_EXPORT 8 ///< Flag for ADAPTER_INFO: when this flag is set, the adapter will not be listed or openend by winpcap. This allows to prevent exporting broken network adapters, like for example FireWire ones.
-#define INFO_FLAG_AIRPCAP_CARD 16 ///< Flag for ADAPTER_INFO: this is an airpcap card
-#define INFO_FLAG_NPFIM_DEVICE 32
+#define INFO_FLAG_NDIS_ADAPTER 0 ///< Flag for ADAPTER_INFO: this is a traditional ndis adapter
+#define INFO_FLAG_NDISWAN_ADAPTER 1 ///< Flag for ADAPTER_INFO: this is a NdisWan adapter, and it's managed by WANPACKET
+#define INFO_FLAG_DAG_CARD 2 ///< Flag for ADAPTER_INFO: this is a DAG card
+#define INFO_FLAG_DAG_FILE 6 ///< Flag for ADAPTER_INFO: this is a DAG file
+#define INFO_FLAG_DONT_EXPORT 8 ///< Flag for ADAPTER_INFO: when this flag is set, the adapter will not be listed or openend by winpcap. This allows to prevent exporting broken network adapters, like for example FireWire ones.
+#define INFO_FLAG_AIRPCAP_CARD 16 ///< Flag for ADAPTER_INFO: this is an airpcap card
+#define INFO_FLAG_NPFIM_DEVICE 32
/*!
\brief Describes an opened network adapter.
@@ -221,27 +221,27 @@ typedef WAN_ADAPTER *PWAN_ADAPTER; ///< Describes an opened wan (dialup, VPN...)
This structure is the most important for the functioning of packet.dll, but the great part of its fields
should be ignored by the user, since the library offers functions that avoid to cope with low-level parameters
*/
-typedef struct _ADAPTER {
- HANDLE hFile; ///< \internal Handle to an open instance of the NPF driver.
+typedef struct _ADAPTER {
+ HANDLE hFile; ///< \internal Handle to an open instance of the NPF driver.
CHAR SymbolicLink[MAX_LINK_NAME_LENGTH]; ///< \internal A string containing the name of the network adapter currently opened.
- int NumWrites; ///< \internal Number of times a packets written on this adapter will be repeated
+ int NumWrites; ///< \internal Number of times a packets written on this adapter will be repeated
///< on the wire.
- HANDLE ReadEvent; ///< A notification event associated with the read calls on the adapter.
+ HANDLE ReadEvent; ///< A notification event associated with the read calls on the adapter.
///< It can be passed to standard Win32 functions (like WaitForSingleObject
- ///< or WaitForMultipleObjects) to wait until the driver's buffer contains some
- ///< data. It is particularly useful in GUI applications that need to wait
+ ///< or WaitForMultipleObjects) to wait until the driver's buffer contains some
+ ///< data. It is particularly useful in GUI applications that need to wait
///< concurrently on several events. In Windows NT/2000 the PacketSetMinToCopy()
///< function can be used to define the minimum amount of data in the kernel buffer
- ///< that will cause the event to be signalled.
-
- UINT ReadTimeOut; ///< \internal The amount of time after which a read on the driver will be released and
+ ///< that will cause the event to be signalled.
+
+ UINT ReadTimeOut; ///< \internal The amount of time after which a read on the driver will be released and
///< ReadEvent will be signaled, also if no packets were captured
CHAR Name[ADAPTER_NAME_LENGTH];
PWAN_ADAPTER pWanAdapter;
- UINT Flags; ///< Adapter's flags. Tell if this adapter must be treated in a different way, using the Netmon API or the dagc API.
+ UINT Flags; ///< Adapter's flags. Tell if this adapter must be treated in a different way, using the Netmon API or the dagc API.
#ifdef HAVE_AIRPCAP_API
- PAirpcapHandle AirpcapAd;
+ PAirpcapHandle AirpcapAd;
#endif // HAVE_AIRPCAP_API
#ifdef HAVE_NPFIM_API
@@ -249,11 +249,11 @@ typedef struct _ADAPTER {
#endif // HAVE_NPFIM_API
#ifdef HAVE_DAG_API
- dagc_t *pDagCard; ///< Pointer to the dagc API adapter descriptor for this adapter
- PCHAR DagBuffer; ///< Pointer to the buffer with the packets that is received from the DAG card
- struct timeval DagReadTimeout; ///< Read timeout. The dagc API requires a timeval structure
- unsigned DagFcsLen; ///< Length of the frame check sequence attached to any packet by the card. Obtained from the registry
- DWORD DagFastProcess; ///< True if the user requests fast capture processing on this card. Higher level applications can use this value to provide a faster but possibly unprecise capture (for example, libpcap doesn't convert the timestamps).
+ dagc_t *pDagCard; ///< Pointer to the dagc API adapter descriptor for this adapter
+ PCHAR DagBuffer; ///< Pointer to the buffer with the packets that is received from the DAG card
+ struct timeval DagReadTimeout; ///< Read timeout. The dagc API requires a timeval structure
+ unsigned DagFcsLen; ///< Length of the frame check sequence attached to any packet by the card. Obtained from the registry
+ DWORD DagFastProcess; ///< True if the user requests fast capture processing on this card. Higher level applications can use this value to provide a faster but possibly unprecise capture (for example, libpcap doesn't convert the timestamps).
#endif // HAVE_DAG_API
} ADAPTER, *LPADAPTER;
@@ -262,31 +262,31 @@ typedef struct _ADAPTER {
This structure defines the header associated with every packet delivered to the application.
*/
-typedef struct _PACKET {
- HANDLE hEvent; ///< \deprecated Still present for compatibility with old applications.
- OVERLAPPED OverLapped; ///< \deprecated Still present for compatibility with old applications.
- PVOID Buffer; ///< Buffer with containing the packets. See the PacketReceivePacket() for
+typedef struct _PACKET {
+ HANDLE hEvent; ///< \deprecated Still present for compatibility with old applications.
+ OVERLAPPED OverLapped; ///< \deprecated Still present for compatibility with old applications.
+ PVOID Buffer; ///< Buffer with containing the packets. See the PacketReceivePacket() for
///< details about the organization of the data in this buffer
- UINT Length; ///< Length of the buffer
- DWORD ulBytesReceived; ///< Number of valid bytes present in the buffer, i.e. amount of data
+ UINT Length; ///< Length of the buffer
+ DWORD ulBytesReceived; ///< Number of valid bytes present in the buffer, i.e. amount of data
///< received by the last call to PacketReceivePacket()
- BOOLEAN bIoComplete; ///< \deprecated Still present for compatibility with old applications.
+ BOOLEAN bIoComplete; ///< \deprecated Still present for compatibility with old applications.
} PACKET, *LPPACKET;
/*!
\brief Structure containing an OID request.
- It is used by the PacketRequest() function to send an OID to the interface card driver.
- It can be used, for example, to retrieve the status of the error counters on the adapter, its MAC address,
+ It is used by the PacketRequest() function to send an OID to the interface card driver.
+ It can be used, for example, to retrieve the status of the error counters on the adapter, its MAC address,
the list of the multicast groups defined on it, and so on.
*/
struct _PACKET_OID_DATA {
- ULONG Oid; ///< OID code. See the Microsoft DDK documentation or the file ntddndis.h
+ ULONG Oid; ///< OID code. See the Microsoft DDK documentation or the file ntddndis.h
///< for a complete list of valid codes.
- ULONG Length; ///< Length of the data field
- UCHAR Data[1]; ///< variable-lenght field that contains the information passed to or received
+ ULONG Length; ///< Length of the data field
+ UCHAR Data[1]; ///< variable-lenght field that contains the information passed to or received
///< from the adapter.
-};
+};
typedef struct _PACKET_OID_DATA PACKET_OID_DATA, *PPACKET_OID_DATA;
#ifdef __cplusplus
@@ -299,16 +299,16 @@ extern "C" {
/*
BOOLEAN QueryWinPcapRegistryStringA(CHAR *SubKeyName,
- CHAR *Value,
- UINT *pValueLen,
- CHAR *DefaultVal);
+ CHAR *Value,
+ UINT *pValueLen,
+ CHAR *DefaultVal);
BOOLEAN QueryWinPcapRegistryStringW(WCHAR *SubKeyName,
- WCHAR *Value,
- UINT *pValueLen,
- WCHAR *DefaultVal);
+ WCHAR *Value,
+ UINT *pValueLen,
+ WCHAR *DefaultVal);
*/
-
+
//---------------------------------------------------------------------------
// EXPORTED FUNCTIONS
//---------------------------------------------------------------------------
@@ -350,10 +350,10 @@ PAirpcapHandle PacketGetAirPcapHandle(LPADAPTER AdapterObject);
//
// Used by PacketStartOemEx
//
-#define PACKET_START_OEM_NO_NETMON 0x00000001
+#define PACKET_START_OEM_NO_NETMON 0x00000001
#ifdef __cplusplus
}
-#endif
+#endif
#endif //__PACKET32
diff --git a/src/lib/winpcap/Win32-Extensions.h b/3rdparty/winpcap/Include/Win32-Extensions.h
index 3f12994ce24..ad3be25cfaf 100644
--- a/src/lib/winpcap/Win32-Extensions.h
+++ b/3rdparty/winpcap/Include/Win32-Extensions.h
@@ -12,9 +12,9 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the Politecnico di Torino, CACE Technologies
- * nor the names of its contributors may be used to endorse or promote
- * products derived from this software without specific prior written
+ * 3. Neither the name of the Politecnico di Torino, CACE Technologies
+ * nor the names of its contributors may be used to endorse or promote
+ * products derived from this software without specific prior written
* permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
@@ -45,9 +45,9 @@ extern "C" {
*/
struct pcap_send_queue
{
- u_int maxlen; ///< Maximum size of the queue, in bytes. This variable contains the size of the buffer field.
- u_int len; ///< Current size of the queue, in bytes.
- char *buffer; ///< Buffer containing the packets to be sent.
+ u_int maxlen; ///< Maximum size of the the queue, in bytes. This variable contains the size of the buffer field.
+ u_int len; ///< Current size of the queue, in bytes.
+ char *buffer; ///< Buffer containing the packets to be sent.
};
typedef struct pcap_send_queue pcap_send_queue;
@@ -60,26 +60,26 @@ typedef struct pcap_send_queue pcap_send_queue;
typedef struct _AirpcapHandle *PAirpcapHandle;
#endif
-#define BPF_MEM_EX_IMM 0xc0
-#define BPF_MEM_EX_IND 0xe0
+#define BPF_MEM_EX_IMM 0xc0
+#define BPF_MEM_EX_IND 0xe0
/*used for ST*/
-#define BPF_MEM_EX 0xc0
-#define BPF_TME 0x08
-
-#define BPF_LOOKUP 0x90
-#define BPF_EXECUTE 0xa0
-#define BPF_INIT 0xb0
-#define BPF_VALIDATE 0xc0
-#define BPF_SET_ACTIVE 0xd0
-#define BPF_RESET 0xe0
-#define BPF_SET_MEMORY 0x80
-#define BPF_GET_REGISTER_VALUE 0x70
-#define BPF_SET_REGISTER_VALUE 0x60
-#define BPF_SET_WORKING 0x50
-#define BPF_SET_ACTIVE_READ 0x40
-#define BPF_SET_AUTODELETION 0x30
-#define BPF_SEPARATION 0xff
+#define BPF_MEM_EX 0xc0
+#define BPF_TME 0x08
+
+#define BPF_LOOKUP 0x90
+#define BPF_EXECUTE 0xa0
+#define BPF_INIT 0xb0
+#define BPF_VALIDATE 0xc0
+#define BPF_SET_ACTIVE 0xd0
+#define BPF_RESET 0xe0
+#define BPF_SET_MEMORY 0x80
+#define BPF_GET_REGISTER_VALUE 0x70
+#define BPF_SET_REGISTER_VALUE 0x60
+#define BPF_SET_WORKING 0x50
+#define BPF_SET_ACTIVE_READ 0x40
+#define BPF_SET_AUTODELETION 0x30
+#define BPF_SEPARATION 0xff
/* Prototypes */
pcap_send_queue* pcap_sendqueue_alloc(u_int memsize);
diff --git a/src/lib/winpcap/bittypes.h b/3rdparty/winpcap/Include/bittypes.h
index d9fed096fcb..558a0b5c0d8 100644
--- a/src/lib/winpcap/bittypes.h
+++ b/3rdparty/winpcap/Include/bittypes.h
@@ -1,7 +1,7 @@
/*
* Copyright (C) 1999 WIDE Project.
* All rights reserved.
- *
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
@@ -13,7 +13,7 @@
* 3. Neither the name of the project nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
- *
+ *
* THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
@@ -45,7 +45,7 @@ typedef signed int int8_t;
#endif /* HAVE_U_INT8_T */
-#ifndef HAVE_U_INT16_T
+#ifndef HAVE_U_INT16_T
#if SIZEOF_SHORT == 2
typedef unsigned short u_int16_t;
@@ -69,7 +69,7 @@ typedef signed char int16_t;
#if SIZEOF_INT == 4
typedef unsigned int u_int32_t;
typedef signed int int32_t;
-#elif defined(SIZEOF_LONG) && (SIZEOF_LONG == 4)
+#elif SIZEOF_LONG == 4
typedef unsigned long u_int32_t;
typedef signed long int32_t;
#elif SIZEOF_SHORT == 4
@@ -92,7 +92,7 @@ typedef unsigned _int64 u_int64_t;
typedef _int64 int64_t;
#elif SIZEOF_INT == 8
typedef unsigned int u_int64_t;
-#elif defined(SIZEOF_LONG) && (SIZEOF_LONG == 8)
+#elif SIZEOF_LONG == 8
typedef unsigned long u_int64_t;
#elif SIZEOF_SHORT == 8
typedef unsigned short u_int64_t;
@@ -104,33 +104,33 @@ typedef unsigned short u_int64_t;
#ifndef PRId64
#ifdef _MSC_EXTENSIONS
-#define PRId64 "I64d"
+#define PRId64 "I64d"
#else /* _MSC_EXTENSIONS */
-#define PRId64 "lld"
+#define PRId64 "lld"
#endif /* _MSC_EXTENSIONS */
#endif /* PRId64 */
#ifndef PRIo64
#ifdef _MSC_EXTENSIONS
-#define PRIo64 "I64o"
+#define PRIo64 "I64o"
#else /* _MSC_EXTENSIONS */
-#define PRIo64 "llo"
+#define PRIo64 "llo"
#endif /* _MSC_EXTENSIONS */
#endif /* PRIo64 */
#ifndef PRIx64
#ifdef _MSC_EXTENSIONS
-#define PRIx64 "I64x"
+#define PRIx64 "I64x"
#else /* _MSC_EXTENSIONS */
-#define PRIx64 "llx"
+#define PRIx64 "llx"
#endif /* _MSC_EXTENSIONS */
#endif /* PRIx64 */
#ifndef PRIu64
#ifdef _MSC_EXTENSIONS
-#define PRIu64 "I64u"
+#define PRIu64 "I64u"
#else /* _MSC_EXTENSIONS */
-#define PRIu64 "llu"
+#define PRIu64 "llu"
#endif /* _MSC_EXTENSIONS */
#endif /* PRIu64 */
diff --git a/src/lib/winpcap/ip6_misc.h b/3rdparty/winpcap/Include/ip6_misc.h
index b25068801d1..562fa6184e7 100644
--- a/src/lib/winpcap/ip6_misc.h
+++ b/3rdparty/winpcap/Include/ip6_misc.h
@@ -1,6 +1,6 @@
/*
* Copyright (c) 1993, 1994, 1997
- * The Regents of the University of California. All rights reserved.
+ * The Regents of the University of California. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that: (1) source code distributions
@@ -30,28 +30,28 @@
#include <ws2tcpip.h>
#ifndef __MINGW32__
-#define IN_MULTICAST(a) IN_CLASSD(a)
+#define IN_MULTICAST(a) IN_CLASSD(a)
#endif
-#define IN_EXPERIMENTAL(a) ((((u_int32_t) (a)) & 0xf0000000) == 0xf0000000)
+#define IN_EXPERIMENTAL(a) ((((u_int32_t) (a)) & 0xf0000000) == 0xf0000000)
-#define IN_LOOPBACKNET 127
+#define IN_LOOPBACKNET 127
#if defined(__MINGW32__) && defined(DEFINE_ADDITIONAL_IPV6_STUFF)
/* IPv6 address */
struct in6_addr
- {
- union
- {
- u_int8_t u6_addr8[16];
- u_int16_t u6_addr16[8];
- u_int32_t u6_addr32[4];
- } in6_u;
-#define s6_addr in6_u.u6_addr8
-#define s6_addr16 in6_u.u6_addr16
-#define s6_addr32 in6_u.u6_addr32
-#define s6_addr64 in6_u.u6_addr64
- };
+ {
+ union
+ {
+ u_int8_t u6_addr8[16];
+ u_int16_t u6_addr16[8];
+ u_int32_t u6_addr32[4];
+ } in6_u;
+#define s6_addr in6_u.u6_addr8
+#define s6_addr16 in6_u.u6_addr16
+#define s6_addr32 in6_u.u6_addr32
+#define s6_addr64 in6_u.u6_addr64
+ };
#define IN6ADDR_ANY_INIT { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }
#define IN6ADDR_LOOPBACK_INIT { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 }
@@ -59,27 +59,27 @@ struct in6_addr
#if (defined _MSC_VER) || (defined(__MINGW32__) && defined(DEFINE_ADDITIONAL_IPV6_STUFF))
-typedef unsigned short sa_family_t;
+typedef unsigned short sa_family_t;
#endif
#if defined(__MINGW32__) && defined(DEFINE_ADDITIONAL_IPV6_STUFF)
-#define __SOCKADDR_COMMON(sa_prefix) \
- sa_family_t sa_prefix##family
+#define __SOCKADDR_COMMON(sa_prefix) \
+ sa_family_t sa_prefix##family
/* Ditto, for IPv6. */
struct sockaddr_in6
- {
- __SOCKADDR_COMMON (sin6_);
- u_int16_t sin6_port; /* Transport layer port # */
- u_int32_t sin6_flowinfo; /* IPv6 flow information */
- struct in6_addr sin6_addr; /* IPv6 address */
- };
+ {
+ __SOCKADDR_COMMON (sin6_);
+ u_int16_t sin6_port; /* Transport layer port # */
+ u_int32_t sin6_flowinfo; /* IPv6 flow information */
+ struct in6_addr sin6_addr; /* IPv6 address */
+ };
#define IN6_IS_ADDR_V4MAPPED(a) \
((((u_int32_t *) (a))[0] == 0) && (((u_int32_t *) (a))[1] == 0) && \
- (((u_int32_t *) (a))[2] == htonl (0xffff)))
+ (((u_int32_t *) (a))[2] == htonl (0xffff)))
#define IN6_IS_ADDR_MULTICAST(a) (((u_int8_t *) (a))[0] == 0xff)
@@ -88,7 +88,7 @@ struct sockaddr_in6
#define IN6_IS_ADDR_LOOPBACK(a) \
(((u_int32_t *) (a))[0] == 0 && ((u_int32_t *) (a))[1] == 0 && \
- ((u_int32_t *) (a))[2] == 0 && ((u_int32_t *) (a))[3] == htonl (1))
+ ((u_int32_t *) (a))[2] == 0 && ((u_int32_t *) (a))[3] == htonl (1))
#endif /* __MINGW32__ */
#define ip6_vfc ip6_ctlun.ip6_un2_vfc
@@ -104,60 +104,60 @@ struct sockaddr_in6
#define nd_rd_reserved nd_rd_hdr.icmp6_data32[0]
/*
- * IPV6 extension headers
+ * IPV6 extension headers
*/
-#define IPPROTO_HOPOPTS 0 /* IPv6 hop-by-hop options */
-#define IPPROTO_IPV6 41 /* IPv6 header. */
-#define IPPROTO_ROUTING 43 /* IPv6 routing header */
-#define IPPROTO_FRAGMENT 44 /* IPv6 fragmentation header */
-#define IPPROTO_ESP 50 /* encapsulating security payload */
-#define IPPROTO_AH 51 /* authentication header */
-#define IPPROTO_ICMPV6 58 /* ICMPv6 */
-#define IPPROTO_NONE 59 /* IPv6 no next header */
-#define IPPROTO_DSTOPTS 60 /* IPv6 destination options */
-#define IPPROTO_PIM 103 /* Protocol Independent Multicast. */
-
-#define IPV6_RTHDR_TYPE_0 0
+#define IPPROTO_HOPOPTS 0 /* IPv6 hop-by-hop options */
+#define IPPROTO_IPV6 41 /* IPv6 header. */
+#define IPPROTO_ROUTING 43 /* IPv6 routing header */
+#define IPPROTO_FRAGMENT 44 /* IPv6 fragmentation header */
+#define IPPROTO_ESP 50 /* encapsulating security payload */
+#define IPPROTO_AH 51 /* authentication header */
+#define IPPROTO_ICMPV6 58 /* ICMPv6 */
+#define IPPROTO_NONE 59 /* IPv6 no next header */
+#define IPPROTO_DSTOPTS 60 /* IPv6 destination options */
+#define IPPROTO_PIM 103 /* Protocol Independent Multicast. */
+
+#define IPV6_RTHDR_TYPE_0 0
/* Option types and related macros */
-#define IP6OPT_PAD1 0x00 /* 00 0 00000 */
-#define IP6OPT_PADN 0x01 /* 00 0 00001 */
-#define IP6OPT_JUMBO 0xC2 /* 11 0 00010 = 194 */
-#define IP6OPT_JUMBO_LEN 6
-#define IP6OPT_ROUTER_ALERT 0x05 /* 00 0 00101 */
+#define IP6OPT_PAD1 0x00 /* 00 0 00000 */
+#define IP6OPT_PADN 0x01 /* 00 0 00001 */
+#define IP6OPT_JUMBO 0xC2 /* 11 0 00010 = 194 */
+#define IP6OPT_JUMBO_LEN 6
+#define IP6OPT_ROUTER_ALERT 0x05 /* 00 0 00101 */
-#define IP6OPT_RTALERT_LEN 4
-#define IP6OPT_RTALERT_MLD 0 /* Datagram contains an MLD message */
-#define IP6OPT_RTALERT_RSVP 1 /* Datagram contains an RSVP message */
-#define IP6OPT_RTALERT_ACTNET 2 /* contains an Active Networks msg */
-#define IP6OPT_MINLEN 2
+#define IP6OPT_RTALERT_LEN 4
+#define IP6OPT_RTALERT_MLD 0 /* Datagram contains an MLD message */
+#define IP6OPT_RTALERT_RSVP 1 /* Datagram contains an RSVP message */
+#define IP6OPT_RTALERT_ACTNET 2 /* contains an Active Networks msg */
+#define IP6OPT_MINLEN 2
-#define IP6OPT_BINDING_UPDATE 0xc6 /* 11 0 00110 */
-#define IP6OPT_BINDING_ACK 0x07 /* 00 0 00111 */
-#define IP6OPT_BINDING_REQ 0x08 /* 00 0 01000 */
-#define IP6OPT_HOME_ADDRESS 0xc9 /* 11 0 01001 */
-#define IP6OPT_EID 0x8a /* 10 0 01010 */
+#define IP6OPT_BINDING_UPDATE 0xc6 /* 11 0 00110 */
+#define IP6OPT_BINDING_ACK 0x07 /* 00 0 00111 */
+#define IP6OPT_BINDING_REQ 0x08 /* 00 0 01000 */
+#define IP6OPT_HOME_ADDRESS 0xc9 /* 11 0 01001 */
+#define IP6OPT_EID 0x8a /* 10 0 01010 */
-#define IP6OPT_TYPE(o) ((o) & 0xC0)
-#define IP6OPT_TYPE_SKIP 0x00
-#define IP6OPT_TYPE_DISCARD 0x40
-#define IP6OPT_TYPE_FORCEICMP 0x80
-#define IP6OPT_TYPE_ICMP 0xC0
+#define IP6OPT_TYPE(o) ((o) & 0xC0)
+#define IP6OPT_TYPE_SKIP 0x00
+#define IP6OPT_TYPE_DISCARD 0x40
+#define IP6OPT_TYPE_FORCEICMP 0x80
+#define IP6OPT_TYPE_ICMP 0xC0
-#define IP6OPT_MUTABLE 0x20
+#define IP6OPT_MUTABLE 0x20
#if defined(__MINGW32__) && defined(DEFINE_ADDITIONAL_IPV6_STUFF)
#ifndef EAI_ADDRFAMILY
struct addrinfo {
- int ai_flags; /* AI_PASSIVE, AI_CANONNAME */
- int ai_family; /* PF_xxx */
- int ai_socktype; /* SOCK_xxx */
- int ai_protocol; /* 0 or IPPROTO_xxx for IPv4 and IPv6 */
- size_t ai_addrlen; /* length of ai_addr */
- char *ai_canonname; /* canonical name for hostname */
- struct sockaddr *ai_addr; /* binary address */
- struct addrinfo *ai_next; /* next structure in linked list */
+ int ai_flags; /* AI_PASSIVE, AI_CANONNAME */
+ int ai_family; /* PF_xxx */
+ int ai_socktype; /* SOCK_xxx */
+ int ai_protocol; /* 0 or IPPROTO_xxx for IPv4 and IPv6 */
+ size_t ai_addrlen; /* length of ai_addr */
+ char *ai_canonname; /* canonical name for hostname */
+ struct sockaddr *ai_addr; /* binary address */
+ struct addrinfo *ai_next; /* next structure in linked list */
};
#endif
#endif /* __MINGW32__ */
diff --git a/src/lib/winpcap/pcap-bpf.h b/3rdparty/winpcap/Include/pcap-bpf.h
index b272e63002a..5fe129dbb49 100644
--- a/src/lib/winpcap/pcap-bpf.h
+++ b/3rdparty/winpcap/Include/pcap-bpf.h
@@ -1,10 +1,10 @@
/*-
* Copyright (c) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997
- * The Regents of the University of California. All rights reserved.
+ * The Regents of the University of California. All rights reserved.
*
* This code is derived from the Stanford/CMU enet packet filter,
* (net/enet.c) distributed as part of 4.3BSD, and code contributed
- * to Berkeley by Steven McCanne and Van Jacobson both of Lawrence
+ * to Berkeley by Steven McCanne and Van Jacobson both of Lawrence
* Berkeley Laboratory.
*
* Redistribution and use in source and binary forms, with or without
diff --git a/src/lib/winpcap/pcap-namedb.h b/3rdparty/winpcap/Include/pcap-namedb.h
index c1e255ca22a..80a2f004012 100644
--- a/src/lib/winpcap/pcap-namedb.h
+++ b/3rdparty/winpcap/Include/pcap-namedb.h
@@ -1,6 +1,6 @@
/*
* Copyright (c) 1994, 1996
- * The Regents of the University of California. All rights reserved.
+ * The Regents of the University of California. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -12,8 +12,8 @@
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
- * This product includes software developed by the Computer Systems
- * Engineering Group at Lawrence Berkeley Laboratory.
+ * This product includes software developed by the Computer Systems
+ * Engineering Group at Lawrence Berkeley Laboratory.
* 4. Neither the name of the University nor of the Laboratory may be used
* to endorse or promote products derived from this software without
* specific prior written permission.
diff --git a/src/lib/winpcap/pcap-stdinc.h b/3rdparty/winpcap/Include/pcap-stdinc.h
index 66dda2e3c25..417604177b1 100644
--- a/src/lib/winpcap/pcap-stdinc.h
+++ b/3rdparty/winpcap/Include/pcap-stdinc.h
@@ -39,7 +39,7 @@
#endif
/*
- * Avoids a compiler warning in case this was already defined
+ * Avoids a compiler warning in case this was already defined
* (someone defined _WINSOCKAPI_ when including 'windows.h', in order
* to prevent it from including 'winsock.h')
*/
@@ -60,15 +60,13 @@
#define caddr_t char*
-#if defined(_MSC_VER) && (_MSC_VER < 1500)
+#if _MSC_VER < 1500
#define snprintf _snprintf
#define vsnprintf _vsnprintf
#define strdup _strdup
#endif
-#if defined(_MSC_VER) && (_MSC_VER < 1700)
-#define inline __inline
-#endif
+#define inline __inline
#ifdef __MINGW32__
#include <stdint.h>
@@ -90,6 +88,6 @@ typedef __int64 intptr_t;
typedef _W64 int intptr_t;
#endif
#define _INTPTR_T_DEFINED
-#endif
+#endif
#endif /*__MINGW32__*/
diff --git a/src/lib/winpcap/pcap.h b/3rdparty/winpcap/Include/pcap.h
index 8540af309c4..935f9494c10 100644
--- a/src/lib/winpcap/pcap.h
+++ b/3rdparty/winpcap/Include/pcap.h
@@ -1,6 +1,6 @@
/*
* Copyright (c) 1993, 1994, 1995, 1996, 1997
- * The Regents of the University of California. All rights reserved.
+ * The Regents of the University of California. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -12,8 +12,8 @@
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
- * This product includes software developed by the Computer Systems
- * Engineering Group at Lawrence Berkeley Laboratory.
+ * This product includes software developed by the Computer Systems
+ * Engineering Group at Lawrence Berkeley Laboratory.
* 4. Neither the name of the University nor of the Laboratory may be used
* to endorse or promote products derived from this software without
* specific prior written permission.
diff --git a/src/lib/winpcap/pcap/bluetooth.h b/3rdparty/winpcap/Include/pcap/bluetooth.h
index 45354b3cca4..7bf65df034f 100644
--- a/src/lib/winpcap/pcap/bluetooth.h
+++ b/3rdparty/winpcap/Include/pcap/bluetooth.h
@@ -11,8 +11,8 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote
- * products derived from this software without specific prior written
+ * 3. The name of the author may not be used to endorse or promote
+ * products derived from this software without specific prior written
* permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
@@ -32,7 +32,7 @@
*
* @(#) $Header: /tcpdump/master/libpcap/pcap/bluetooth.h,v 1.1 2007/09/22 02:10:17 guy Exp $
*/
-
+
#ifndef _PCAP_BLUETOOTH_STRUCTS_H__
#define _PCAP_BLUETOOTH_STRUCTS_H__
diff --git a/src/lib/winpcap/pcap/bpf.h b/3rdparty/winpcap/Include/pcap/bpf.h
index da117a161b8..9f4ca33e350 100644
--- a/src/lib/winpcap/pcap/bpf.h
+++ b/3rdparty/winpcap/Include/pcap/bpf.h
@@ -1,10 +1,10 @@
/*-
* Copyright (c) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997
- * The Regents of the University of California. All rights reserved.
+ * The Regents of the University of California. All rights reserved.
*
* This code is derived from the Stanford/CMU enet packet filter,
* (net/enet.c) distributed as part of 4.3BSD, and code contributed
- * to Berkeley by Steven McCanne and Van Jacobson both of Lawrence
+ * to Berkeley by Steven McCanne and Van Jacobson both of Lawrence
* Berkeley Laboratory.
*
* Redistribution and use in source and binary forms, with or without
@@ -64,13 +64,13 @@ extern "C" {
typedef long bpf_int32;
typedef unsigned long bpf_u_int32;
#else
-typedef int bpf_int32;
-typedef u_int bpf_u_int32;
+typedef int bpf_int32;
+typedef u_int bpf_u_int32;
#endif
/*
- * Alignment macros. BPF_WORDALIGN rounds up to the next
- * even multiple of BPF_ALIGNMENT.
+ * Alignment macros. BPF_WORDALIGN rounds up to the next
+ * even multiple of BPF_ALIGNMENT.
*/
#ifndef __NetBSD__
#define BPF_ALIGNMENT sizeof(bpf_int32)
@@ -89,9 +89,9 @@ struct bpf_program {
u_int bf_len;
struct bpf_insn *bf_insns;
};
-
+
/*
- * Struct return by BIOCVERSION. This represents the version number of
+ * Struct return by BIOCVERSION. This represents the version number of
* the filter language described by the instruction encodings below.
* bpf understands a program iff kernel_major == filter_major &&
* kernel_minor >= filter_minor, that is, if the value returned by the
@@ -125,17 +125,17 @@ struct bpf_version {
* These are the types that are the same on all platforms, and that
* have been defined by <net/bpf.h> for ages.
*/
-#define DLT_NULL 0 /* BSD loopback encapsulation */
-#define DLT_EN10MB 1 /* Ethernet (10Mb) */
-#define DLT_EN3MB 2 /* Experimental Ethernet (3Mb) */
-#define DLT_AX25 3 /* Amateur Radio AX.25 */
-#define DLT_PRONET 4 /* Proteon ProNET Token Ring */
-#define DLT_CHAOS 5 /* Chaos */
-#define DLT_IEEE802 6 /* 802.5 Token Ring */
-#define DLT_ARCNET 7 /* ARCNET, with BSD-style header */
-#define DLT_SLIP 8 /* Serial Line IP */
-#define DLT_PPP 9 /* Point-to-point Protocol */
-#define DLT_FDDI 10 /* FDDI */
+#define DLT_NULL 0 /* BSD loopback encapsulation */
+#define DLT_EN10MB 1 /* Ethernet (10Mb) */
+#define DLT_EN3MB 2 /* Experimental Ethernet (3Mb) */
+#define DLT_AX25 3 /* Amateur Radio AX.25 */
+#define DLT_PRONET 4 /* Proteon ProNET Token Ring */
+#define DLT_CHAOS 5 /* Chaos */
+#define DLT_IEEE802 6 /* 802.5 Token Ring */
+#define DLT_ARCNET 7 /* ARCNET, with BSD-style header */
+#define DLT_SLIP 8 /* Serial Line IP */
+#define DLT_PPP 9 /* Point-to-point Protocol */
+#define DLT_FDDI 10 /* FDDI */
/*
* These are types that are different on some platforms, and that
@@ -146,12 +146,12 @@ struct bpf_version {
* XXX - DLT_ATM_RFC1483 is 13 in BSD/OS, and DLT_RAW is 14 in BSD/OS,
* but I don't know what the right #define is for BSD/OS.
*/
-#define DLT_ATM_RFC1483 11 /* LLC-encapsulated ATM */
+#define DLT_ATM_RFC1483 11 /* LLC-encapsulated ATM */
#ifdef __OpenBSD__
-#define DLT_RAW 14 /* raw IP */
+#define DLT_RAW 14 /* raw IP */
#else
-#define DLT_RAW 12 /* raw IP */
+#define DLT_RAW 12 /* raw IP */
#endif
/*
@@ -162,12 +162,12 @@ struct bpf_version {
*/
#if defined(__NetBSD__) || defined(__FreeBSD__)
#ifndef DLT_SLIP_BSDOS
-#define DLT_SLIP_BSDOS 13 /* BSD/OS Serial Line IP */
-#define DLT_PPP_BSDOS 14 /* BSD/OS Point-to-point Protocol */
+#define DLT_SLIP_BSDOS 13 /* BSD/OS Serial Line IP */
+#define DLT_PPP_BSDOS 14 /* BSD/OS Point-to-point Protocol */
#endif
#else
-#define DLT_SLIP_BSDOS 15 /* BSD/OS Serial Line IP */
-#define DLT_PPP_BSDOS 16 /* BSD/OS Point-to-point Protocol */
+#define DLT_SLIP_BSDOS 15 /* BSD/OS Serial Line IP */
+#define DLT_PPP_BSDOS 16 /* BSD/OS Point-to-point Protocol */
#endif
/*
@@ -176,21 +176,21 @@ struct bpf_version {
* 18 is used for DLT_PFSYNC in OpenBSD; don't use it for anything else.
*/
-#define DLT_ATM_CLIP 19 /* Linux Classical-IP over ATM */
+#define DLT_ATM_CLIP 19 /* Linux Classical-IP over ATM */
/*
* Apparently Redback uses this for its SmartEdge 400/800. I hope
* nobody else decided to use it, too.
*/
-#define DLT_REDBACK_SMARTEDGE 32
+#define DLT_REDBACK_SMARTEDGE 32
/*
* These values are defined by NetBSD; other platforms should refrain from
* using them for other purposes, so that NetBSD savefiles with link
* types of 50 or 51 can be read as this type on all platforms.
*/
-#define DLT_PPP_SERIAL 50 /* PPP over serial with HDLC encapsulation */
-#define DLT_PPP_ETHER 51 /* PPP over Ethernet */
+#define DLT_PPP_SERIAL 50 /* PPP over serial with HDLC encapsulation */
+#define DLT_PPP_ETHER 51 /* PPP over Ethernet */
/*
* The Axent Raptor firewall - now the Symantec Enterprise Firewall - uses
@@ -199,7 +199,7 @@ struct bpf_version {
* Ethernet type, and 36 bytes that appear to be 0 in at least one capture
* I've seen.
*/
-#define DLT_SYMANTEC_FIREWALL 99
+#define DLT_SYMANTEC_FIREWALL 99
/*
* Values between 100 and 103 are used in capture file headers as
@@ -221,10 +221,10 @@ struct bpf_version {
* libpcap 0.5 defined it as DLT_CHDLC; we define DLT_CHDLC as well,
* for source compatibility with programs written for libpcap 0.5.
*/
-#define DLT_C_HDLC 104 /* Cisco HDLC */
-#define DLT_CHDLC DLT_C_HDLC
+#define DLT_C_HDLC 104 /* Cisco HDLC */
+#define DLT_CHDLC DLT_C_HDLC
-#define DLT_IEEE802_11 105 /* IEEE 802.11 wireless */
+#define DLT_IEEE802_11 105 /* IEEE 802.11 wireless */
/*
* 106 is reserved for Linux Classical IP over ATM; it's like DLT_RAW,
@@ -239,7 +239,7 @@ struct bpf_version {
* DLT_FR and DLT_FRELAY packets start with the Q.922 Frame Relay header
* (DLCI, etc.).
*/
-#define DLT_FRELAY 107
+#define DLT_FRELAY 107
/*
* OpenBSD DLT_LOOP, for loopback devices; it's like DLT_NULL, except
@@ -249,9 +249,9 @@ struct bpf_version {
* we don't use 12 for it in OSes other than OpenBSD.
*/
#ifdef __OpenBSD__
-#define DLT_LOOP 12
+#define DLT_LOOP 12
#else
-#define DLT_LOOP 108
+#define DLT_LOOP 108
#endif
/*
@@ -260,9 +260,9 @@ struct bpf_version {
* than OpenBSD.
*/
#ifdef __OpenBSD__
-#define DLT_ENC 13
+#define DLT_ENC 13
#else
-#define DLT_ENC 109
+#define DLT_ENC 109
#endif
/*
@@ -275,22 +275,22 @@ struct bpf_version {
/*
* This is for Linux cooked sockets.
*/
-#define DLT_LINUX_SLL 113
+#define DLT_LINUX_SLL 113
/*
* Apple LocalTalk hardware.
*/
-#define DLT_LTALK 114
+#define DLT_LTALK 114
/*
* Acorn Econet.
*/
-#define DLT_ECONET 115
+#define DLT_ECONET 115
/*
* Reserved for use with OpenBSD ipfilter.
*/
-#define DLT_IPFILTER 116
+#define DLT_IPFILTER 116
/*
* OpenBSD DLT_PFLOG; DLT_PFLOG is 17 in OpenBSD, but that's DLT_LANE8023
@@ -299,33 +299,33 @@ struct bpf_version {
* XXX: is there a conflict with DLT_PFSYNC 18 as well?
*/
#ifdef __OpenBSD__
-#define DLT_OLD_PFLOG 17
-#define DLT_PFSYNC 18
+#define DLT_OLD_PFLOG 17
+#define DLT_PFSYNC 18
#endif
-#define DLT_PFLOG 117
+#define DLT_PFLOG 117
/*
* Registered for Cisco-internal use.
*/
-#define DLT_CISCO_IOS 118
+#define DLT_CISCO_IOS 118
/*
* For 802.11 cards using the Prism II chips, with a link-layer
* header including Prism monitor mode information plus an 802.11
* header.
*/
-#define DLT_PRISM_HEADER 119
+#define DLT_PRISM_HEADER 119
/*
* Reserved for Aironet 802.11 cards, with an Aironet link-layer header
* (see Doug Ambrisko's FreeBSD patches).
*/
-#define DLT_AIRONET_HEADER 120
+#define DLT_AIRONET_HEADER 120
/*
* Reserved for Siemens HiPath HDLC.
*/
-#define DLT_HHDLC 121
+#define DLT_HHDLC 121
/*
* This is for RFC 2625 IP-over-Fibre Channel.
@@ -335,7 +335,7 @@ struct bpf_version {
* where the link-layer header starts with an RFC 2625 Network_Header
* field.
*/
-#define DLT_IP_OVER_FC 122
+#define DLT_IP_OVER_FC 122
/*
* This is for Full Frontal ATM on Solaris with SunATM, with a
@@ -351,9 +351,9 @@ struct bpf_version {
* and the like don't have to infer the presence or absence of a
* pseudo-header and the form of the pseudo-header.
*/
-#define DLT_SUNATM 123 /* Solaris+SunATM */
+#define DLT_SUNATM 123 /* Solaris+SunATM */
-/*
+/*
* Reserved as per request from Kent Dahlgren <kent@praesum.com>
* for private use.
*/
@@ -366,7 +366,7 @@ struct bpf_version {
* including radio information, used by some recent BSD drivers as
* well as the madwifi Atheros driver for Linux.
*/
-#define DLT_IEEE802_11_RADIO 127 /* 802.11 plus radiotap radio header */
+#define DLT_IEEE802_11_RADIO 127 /* 802.11 plus radiotap radio header */
/*
* Reserved for the TZSP encapsulation, as per request from
@@ -389,7 +389,7 @@ struct bpf_version {
*
* We therefore have to have separate DLT_ values for them.
*/
-#define DLT_ARCNET_LINUX 129 /* ARCNET */
+#define DLT_ARCNET_LINUX 129 /* ARCNET */
/*
* Juniper-private data link types, as per request from
@@ -411,31 +411,31 @@ struct bpf_version {
* <dieter@apple.com>. The header that's presented is an Ethernet-like
* header:
*
- * #define FIREWIRE_EUI64_LEN 8
- * struct firewire_header {
- * u_char firewire_dhost[FIREWIRE_EUI64_LEN];
- * u_char firewire_shost[FIREWIRE_EUI64_LEN];
- * u_short firewire_type;
- * };
+ * #define FIREWIRE_EUI64_LEN 8
+ * struct firewire_header {
+ * u_char firewire_dhost[FIREWIRE_EUI64_LEN];
+ * u_char firewire_shost[FIREWIRE_EUI64_LEN];
+ * u_short firewire_type;
+ * };
*
* with "firewire_type" being an Ethernet type value, rather than,
* for example, raw GASP frames being handed up.
*/
-#define DLT_APPLE_IP_OVER_IEEE1394 138
+#define DLT_APPLE_IP_OVER_IEEE1394 138
/*
* Various SS7 encapsulations, as per a request from Jeff Morriss
* <jeff.morriss[AT]ulticom.com> and subsequent discussions.
*/
-#define DLT_MTP2_WITH_PHDR 139 /* pseudo-header with various info, followed by MTP2 */
-#define DLT_MTP2 140 /* MTP2, without pseudo-header */
-#define DLT_MTP3 141 /* MTP3, without pseudo-header or MTP2 */
-#define DLT_SCCP 142 /* SCCP, without pseudo-header or MTP2 or MTP3 */
+#define DLT_MTP2_WITH_PHDR 139 /* pseudo-header with various info, followed by MTP2 */
+#define DLT_MTP2 140 /* MTP2, without pseudo-header */
+#define DLT_MTP3 141 /* MTP3, without pseudo-header or MTP2 */
+#define DLT_SCCP 142 /* SCCP, without pseudo-header or MTP2 or MTP3 */
/*
* DOCSIS MAC frames.
*/
-#define DLT_DOCSIS 143
+#define DLT_DOCSIS 143
/*
* Linux-IrDA packets. Protocol defined at http://www.irda.org.
@@ -452,13 +452,13 @@ struct bpf_version {
* issue and define a real DLT_IRDA...
* Jean II
*/
-#define DLT_LINUX_IRDA 144
+#define DLT_LINUX_IRDA 144
/*
* Reserved for IBM SP switch and IBM Next Federation switch.
*/
-#define DLT_IBM_SP 145
-#define DLT_IBM_SN 146
+#define DLT_IBM_SP 145
+#define DLT_IBM_SN 146
/*
* Reserved for private use. If you have some link-layer header type
@@ -485,34 +485,34 @@ struct bpf_version {
* Instead, ask "tcpdump-workers@lists.tcpdump.org" for a new DLT_ value,
* as per the comment above, and use the type you're given.
*/
-#define DLT_USER0 147
-#define DLT_USER1 148
-#define DLT_USER2 149
-#define DLT_USER3 150
-#define DLT_USER4 151
-#define DLT_USER5 152
-#define DLT_USER6 153
-#define DLT_USER7 154
-#define DLT_USER8 155
-#define DLT_USER9 156
-#define DLT_USER10 157
-#define DLT_USER11 158
-#define DLT_USER12 159
-#define DLT_USER13 160
-#define DLT_USER14 161
-#define DLT_USER15 162
+#define DLT_USER0 147
+#define DLT_USER1 148
+#define DLT_USER2 149
+#define DLT_USER3 150
+#define DLT_USER4 151
+#define DLT_USER5 152
+#define DLT_USER6 153
+#define DLT_USER7 154
+#define DLT_USER8 155
+#define DLT_USER9 156
+#define DLT_USER10 157
+#define DLT_USER11 158
+#define DLT_USER12 159
+#define DLT_USER13 160
+#define DLT_USER14 161
+#define DLT_USER15 162
/*
* For future use with 802.11 captures - defined by AbsoluteValue
* Systems to store a number of bits of link-layer information
* including radio information:
*
- * http://www.shaftnet.org/~pizza/software/capturefrm.txt
+ * http://www.shaftnet.org/~pizza/software/capturefrm.txt
*
* but it might be used by some non-AVS drivers now or in the
* future.
*/
-#define DLT_IEEE802_11_RADIO_AVS 163 /* 802.11 plus AVS radio header */
+#define DLT_IEEE802_11_RADIO_AVS 163 /* 802.11 plus AVS radio header */
/*
* Juniper-private data link type, as per request from
@@ -525,7 +525,7 @@ struct bpf_version {
/*
* Reserved for BACnet MS/TP.
*/
-#define DLT_BACNET_MS_TP 165
+#define DLT_BACNET_MS_TP 165
/*
* Another PPP variant as per request from Karsten Keil <kkeil@suse.de>.
@@ -541,14 +541,14 @@ struct bpf_version {
* The first byte of the PPP header (0xff03) is modified to accomodate
* the direction - 0x00 = IN, 0x01 = OUT.
*/
-#define DLT_PPP_PPPD 166
+#define DLT_PPP_PPPD 166
/*
* Names for backwards compatibility with older versions of some PPP
* software; new software should use DLT_PPP_PPPD.
*/
-#define DLT_PPP_WITH_DIRECTION DLT_PPP_PPPD
-#define DLT_LINUX_PPP_WITHDIRECTION DLT_PPP_PPPD
+#define DLT_PPP_WITH_DIRECTION DLT_PPP_PPPD
+#define DLT_LINUX_PPP_WITHDIRECTION DLT_PPP_PPPD
/*
* Juniper-private data link type, as per request from
@@ -559,16 +559,16 @@ struct bpf_version {
#define DLT_JUNIPER_PPPOE 167
#define DLT_JUNIPER_PPPOE_ATM 168
-#define DLT_GPRS_LLC 169 /* GPRS LLC */
-#define DLT_GPF_T 170 /* GPF-T (ITU-T G.7041/Y.1303) */
-#define DLT_GPF_F 171 /* GPF-F (ITU-T G.7041/Y.1303) */
+#define DLT_GPRS_LLC 169 /* GPRS LLC */
+#define DLT_GPF_T 170 /* GPF-T (ITU-T G.7041/Y.1303) */
+#define DLT_GPF_F 171 /* GPF-F (ITU-T G.7041/Y.1303) */
/*
* Requested by Oolan Zimmer <oz@gcom.com> for use in Gcom's T1/E1 line
* monitoring equipment.
*/
-#define DLT_GCOM_T1E1 172
-#define DLT_GCOM_SERIAL 173
+#define DLT_GCOM_T1E1 172
+#define DLT_GCOM_SERIAL 173
/*
* Juniper-private data link type, as per request from
@@ -583,8 +583,8 @@ struct bpf_version {
* http://www.endace.com/support/EndaceRecordFormat.pdf) in front of
* the link-layer header.
*/
-#define DLT_ERF_ETH 175 /* Ethernet */
-#define DLT_ERF_POS 176 /* Packet-over-SONET */
+#define DLT_ERF_ETH 175 /* Ethernet */
+#define DLT_ERF_POS 176 /* Packet-over-SONET */
/*
* Requested by Daniele Orlandi <daniele@orlandi.com> for raw LAPD
@@ -592,11 +592,11 @@ struct bpf_version {
* includes additional information before the LAPD header, so it's
* not necessarily a generic LAPD header.
*/
-#define DLT_LINUX_LAPD 177
+#define DLT_LINUX_LAPD 177
/*
* Juniper-private data link type, as per request from
- * Hannes Gredler <hannes@juniper.net>.
+ * Hannes Gredler <hannes@juniper.net>.
* The DLT_ are used for prepending meta-information
* like interface index, interface name
* before standard Ethernet, PPP, Frelay & C-HDLC Frames
@@ -613,7 +613,7 @@ struct bpf_version {
/*
* Juniper-private data link type, as per request from
- * Hannes Gredler <hannes@juniper.net>.
+ * Hannes Gredler <hannes@juniper.net>.
* The DLT_ is used for internal communication with a
* voice Adapter Card (PIC)
*/
@@ -639,25 +639,25 @@ struct bpf_version {
* USB packets, beginning with a USB setup header; requested by
* Paolo Abeni <paolo.abeni@email.it>.
*/
-#define DLT_USB 186
+#define DLT_USB 186
/*
* Bluetooth HCI UART transport layer (part H:4); requested by
* Paolo Abeni.
*/
-#define DLT_BLUETOOTH_HCI_H4 187
+#define DLT_BLUETOOTH_HCI_H4 187
/*
* IEEE 802.16 MAC Common Part Sublayer; requested by Maria Cruz
* <cruz_petagay@bah.com>.
*/
-#define DLT_IEEE802_16_MAC_CPS 188
+#define DLT_IEEE802_16_MAC_CPS 188
/*
* USB packets, beginning with a Linux USB header; requested by
* Paolo Abeni <paolo.abeni@email.it>.
*/
-#define DLT_USB_LINUX 189
+#define DLT_USB_LINUX 189
/*
* Controller Area Network (CAN) v. 2.0B packets.
@@ -672,23 +672,23 @@ struct bpf_version {
* IEEE 802.15.4, with address fields padded, as is done by Linux
* drivers; requested by Juergen Schimmer.
*/
-#define DLT_IEEE802_15_4_LINUX 191
+#define DLT_IEEE802_15_4_LINUX 191
/*
* Per Packet Information encapsulated packets.
* DLT_ requested by Gianluca Varenni <gianluca.varenni@cacetech.com>.
*/
-#define DLT_PPI 192
+#define DLT_PPI 192
/*
* Header for 802.16 MAC Common Part Sublayer plus a radiotap radio header;
* requested by Charles Clancy.
*/
-#define DLT_IEEE802_16_MAC_CPS_RADIO 193
+#define DLT_IEEE802_16_MAC_CPS_RADIO 193
/*
* Juniper-private data link type, as per request from
- * Hannes Gredler <hannes@juniper.net>.
+ * Hannes Gredler <hannes@juniper.net>.
* The DLT_ is used for internal communication with a
* integrated service module (ISM).
*/
@@ -698,38 +698,38 @@ struct bpf_version {
* IEEE 802.15.4, exactly as it appears in the spec (no padding, no
* nothing); requested by Mikko Saarnivala <mikko.saarnivala@sensinode.com>.
*/
-#define DLT_IEEE802_15_4 195
+#define DLT_IEEE802_15_4 195
/*
* Various link-layer types, with a pseudo-header, for SITA
* (http://www.sita.aero/); requested by Fulko Hew (fulko.hew@gmail.com).
*/
-#define DLT_SITA 196
+#define DLT_SITA 196
/*
* Various link-layer types, with a pseudo-header, for Endace DAG cards;
* encapsulates Endace ERF records. Requested by Stephen Donnelly
* <stephen@endace.com>.
*/
-#define DLT_ERF 197
+#define DLT_ERF 197
/*
* Special header prepended to Ethernet packets when capturing from a
* u10 Networks board. Requested by Phil Mulholland
* <phil@u10networks.com>.
*/
-#define DLT_RAIF1 198
+#define DLT_RAIF1 198
/*
* IPMB packet for IPMI, beginning with the I2C slave address, followed
* by the netFn and LUN, etc.. Requested by Chanthy Toeung
* <chanthy.toeung@ca.kontron.com>.
*/
-#define DLT_IPMB 199
+#define DLT_IPMB 199
/*
* Juniper-private data link type, as per request from
- * Hannes Gredler <hannes@juniper.net>.
+ * Hannes Gredler <hannes@juniper.net>.
* The DLT_ is used for capturing data on a secure tunnel interface.
*/
#define DLT_JUNIPER_ST 200
@@ -738,23 +738,23 @@ struct bpf_version {
* Bluetooth HCI UART transport layer (part H:4), with pseudo-header
* that includes direction information; requested by Paolo Abeni.
*/
-#define DLT_BLUETOOTH_HCI_H4_WITH_PHDR 201
+#define DLT_BLUETOOTH_HCI_H4_WITH_PHDR 201
/*
* AX.25 packet with a 1-byte KISS header; see
*
- * http://www.ax25.net/kiss.htm
+ * http://www.ax25.net/kiss.htm
*
* as per Richard Stearn <richard@rns-stearn.demon.co.uk>.
*/
-#define DLT_AX25_KISS 202
+#define DLT_AX25_KISS 202
/*
* LAPD packets from an ISDN channel, starting with the address field,
* with no pseudo-header.
* Requested by Varuna De Silva <varunax@gmail.com>.
*/
-#define DLT_LAPD 203
+#define DLT_LAPD 203
/*
* Variants of various link-layer headers, with a one-byte direction
@@ -762,10 +762,10 @@ struct bpf_version {
* non-zero (any non-zero value) means "sent by this host" - as per
* Will Barker <w.barker@zen.co.uk>.
*/
-#define DLT_PPP_WITH_DIR 204 /* PPP - don't confuse with DLT_PPP_WITH_DIRECTION */
-#define DLT_C_HDLC_WITH_DIR 205 /* Cisco HDLC */
-#define DLT_FRELAY_WITH_DIR 206 /* Frame Relay */
-#define DLT_LAPB_WITH_DIR 207 /* LAPB */
+#define DLT_PPP_WITH_DIR 204 /* PPP - don't confuse with DLT_PPP_WITH_DIRECTION */
+#define DLT_C_HDLC_WITH_DIR 205 /* Cisco HDLC */
+#define DLT_FRELAY_WITH_DIR 206 /* Frame Relay */
+#define DLT_LAPB_WITH_DIR 207 /* LAPB */
/*
* 208 is reserved for an as-yet-unspecified proprietary link-layer
@@ -776,39 +776,39 @@ struct bpf_version {
* IPMB with a Linux-specific pseudo-header; as requested by Alexey Neyman
* <avn@pigeonpoint.com>.
*/
-#define DLT_IPMB_LINUX 209
+#define DLT_IPMB_LINUX 209
/*
* FlexRay automotive bus - http://www.flexray.com/ - as requested
* by Hannes Kaelber <hannes.kaelber@x2e.de>.
*/
-#define DLT_FLEXRAY 210
+#define DLT_FLEXRAY 210
/*
* Media Oriented Systems Transport (MOST) bus for multimedia
* transport - http://www.mostcooperation.com/ - as requested
* by Hannes Kaelber <hannes.kaelber@x2e.de>.
*/
-#define DLT_MOST 211
+#define DLT_MOST 211
/*
* Local Interconnect Network (LIN) bus for vehicle networks -
* http://www.lin-subbus.org/ - as requested by Hannes Kaelber
* <hannes.kaelber@x2e.de>.
*/
-#define DLT_LIN 212
+#define DLT_LIN 212
/*
* X2E-private data link type used for serial line capture,
* as requested by Hannes Kaelber <hannes.kaelber@x2e.de>.
*/
-#define DLT_X2E_SERIAL 213
+#define DLT_X2E_SERIAL 213
/*
* X2E-private data link type used for the Xoraya data logger
* family, as requested by Hannes Kaelber <hannes.kaelber@x2e.de>.
*/
-#define DLT_X2E_XORAYA 214
+#define DLT_X2E_XORAYA 214
/*
* IEEE 802.15.4, exactly as it appears in the spec (no padding, no
@@ -819,7 +819,7 @@ struct bpf_version {
*
* Requested by Max Filippov <jcmvbkbc@gmail.com>.
*/
-#define DLT_IEEE802_15_4_NONASK_PHY 215
+#define DLT_IEEE802_15_4_NONASK_PHY 215
/*
@@ -827,7 +827,7 @@ struct bpf_version {
* a member of that class. A class value of 0 indicates a regular
* DLT_/LINKTYPE_ value.
*/
-#define DLT_CLASS(x) ((x) & 0x03ff0000)
+#define DLT_CLASS(x) ((x) & 0x03ff0000)
/*
* NetBSD-specific generic "raw" link type. The class value indicates
@@ -836,10 +836,10 @@ struct bpf_version {
* do not assume that they correspond to AF_ values for your operating
* system.
*/
-#define DLT_CLASS_NETBSD_RAWAF 0x02240000
-#define DLT_NETBSD_RAWAF(af) (DLT_CLASS_NETBSD_RAWAF | (af))
-#define DLT_NETBSD_RAWAF_AF(x) ((x) & 0x0000ffff)
-#define DLT_IS_NETBSD_RAWAF(x) (DLT_CLASS(x) == DLT_CLASS_NETBSD_RAWAF)
+#define DLT_CLASS_NETBSD_RAWAF 0x02240000
+#define DLT_NETBSD_RAWAF(af) (DLT_CLASS_NETBSD_RAWAF | (af))
+#define DLT_NETBSD_RAWAF_AF(x) ((x) & 0x0000ffff)
+#define DLT_IS_NETBSD_RAWAF(x) (DLT_CLASS(x) == DLT_CLASS_NETBSD_RAWAF)
/*
@@ -847,64 +847,64 @@ struct bpf_version {
*/
/* instruction classes */
#define BPF_CLASS(code) ((code) & 0x07)
-#define BPF_LD 0x00
-#define BPF_LDX 0x01
-#define BPF_ST 0x02
-#define BPF_STX 0x03
-#define BPF_ALU 0x04
-#define BPF_JMP 0x05
-#define BPF_RET 0x06
-#define BPF_MISC 0x07
+#define BPF_LD 0x00
+#define BPF_LDX 0x01
+#define BPF_ST 0x02
+#define BPF_STX 0x03
+#define BPF_ALU 0x04
+#define BPF_JMP 0x05
+#define BPF_RET 0x06
+#define BPF_MISC 0x07
/* ld/ldx fields */
-#define BPF_SIZE(code) ((code) & 0x18)
-#define BPF_W 0x00
-#define BPF_H 0x08
-#define BPF_B 0x10
-#define BPF_MODE(code) ((code) & 0xe0)
-#define BPF_IMM 0x00
-#define BPF_ABS 0x20
-#define BPF_IND 0x40
-#define BPF_MEM 0x60
-#define BPF_LEN 0x80
-#define BPF_MSH 0xa0
+#define BPF_SIZE(code) ((code) & 0x18)
+#define BPF_W 0x00
+#define BPF_H 0x08
+#define BPF_B 0x10
+#define BPF_MODE(code) ((code) & 0xe0)
+#define BPF_IMM 0x00
+#define BPF_ABS 0x20
+#define BPF_IND 0x40
+#define BPF_MEM 0x60
+#define BPF_LEN 0x80
+#define BPF_MSH 0xa0
/* alu/jmp fields */
-#define BPF_OP(code) ((code) & 0xf0)
-#define BPF_ADD 0x00
-#define BPF_SUB 0x10
-#define BPF_MUL 0x20
-#define BPF_DIV 0x30
-#define BPF_OR 0x40
-#define BPF_AND 0x50
-#define BPF_LSH 0x60
-#define BPF_RSH 0x70
-#define BPF_NEG 0x80
-#define BPF_JA 0x00
-#define BPF_JEQ 0x10
-#define BPF_JGT 0x20
-#define BPF_JGE 0x30
-#define BPF_JSET 0x40
-#define BPF_SRC(code) ((code) & 0x08)
-#define BPF_K 0x00
-#define BPF_X 0x08
+#define BPF_OP(code) ((code) & 0xf0)
+#define BPF_ADD 0x00
+#define BPF_SUB 0x10
+#define BPF_MUL 0x20
+#define BPF_DIV 0x30
+#define BPF_OR 0x40
+#define BPF_AND 0x50
+#define BPF_LSH 0x60
+#define BPF_RSH 0x70
+#define BPF_NEG 0x80
+#define BPF_JA 0x00
+#define BPF_JEQ 0x10
+#define BPF_JGT 0x20
+#define BPF_JGE 0x30
+#define BPF_JSET 0x40
+#define BPF_SRC(code) ((code) & 0x08)
+#define BPF_K 0x00
+#define BPF_X 0x08
/* ret - BPF_K and BPF_X also apply */
-#define BPF_RVAL(code) ((code) & 0x18)
-#define BPF_A 0x10
+#define BPF_RVAL(code) ((code) & 0x18)
+#define BPF_A 0x10
/* misc */
#define BPF_MISCOP(code) ((code) & 0xf8)
-#define BPF_TAX 0x00
-#define BPF_TXA 0x80
+#define BPF_TAX 0x00
+#define BPF_TXA 0x80
/*
* The instruction data structure.
*/
struct bpf_insn {
- u_short code;
- u_char jt;
- u_char jf;
+ u_short code;
+ u_char jt;
+ u_char jf;
bpf_u_int32 k;
};
diff --git a/src/lib/winpcap/pcap/namedb.h b/3rdparty/winpcap/Include/pcap/namedb.h
index 5ab9e0d67d5..9002c750937 100644
--- a/src/lib/winpcap/pcap/namedb.h
+++ b/3rdparty/winpcap/Include/pcap/namedb.h
@@ -1,6 +1,6 @@
/*
* Copyright (c) 1994, 1996
- * The Regents of the University of California. All rights reserved.
+ * The Regents of the University of California. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -12,8 +12,8 @@
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
- * This product includes software developed by the Computer Systems
- * Engineering Group at Lawrence Berkeley Laboratory.
+ * This product includes software developed by the Computer Systems
+ * Engineering Group at Lawrence Berkeley Laboratory.
* 4. Neither the name of the University nor of the Laboratory may be used
* to endorse or promote products derived from this software without
* specific prior written permission.
@@ -54,7 +54,7 @@ struct pcap_etherent {
#ifndef PCAP_ETHERS_FILE
#define PCAP_ETHERS_FILE "/etc/ethers"
#endif
-struct pcap_etherent *pcap_next_etherent(FILE *);
+struct pcap_etherent *pcap_next_etherent(FILE *);
u_char *pcap_ether_hostton(const char*);
u_char *pcap_ether_aton(const char *);
@@ -64,23 +64,23 @@ struct addrinfo *pcap_nametoaddrinfo(const char *);
#endif
bpf_u_int32 pcap_nametonetaddr(const char *);
-int pcap_nametoport(const char *, int *, int *);
-int pcap_nametoportrange(const char *, int *, int *, int *);
-int pcap_nametoproto(const char *);
-int pcap_nametoeproto(const char *);
-int pcap_nametollc(const char *);
+int pcap_nametoport(const char *, int *, int *);
+int pcap_nametoportrange(const char *, int *, int *, int *);
+int pcap_nametoproto(const char *);
+int pcap_nametoeproto(const char *);
+int pcap_nametollc(const char *);
/*
* If a protocol is unknown, PROTO_UNDEF is returned.
* Also, pcap_nametoport() returns the protocol along with the port number.
* If there are ambiguous entried in /etc/services (i.e. domain
* can be either tcp or udp) PROTO_UNDEF is returned.
*/
-#define PROTO_UNDEF -1
+#define PROTO_UNDEF -1
/* XXX move these to pcap-int.h? */
int __pcap_atodn(const char *, bpf_u_int32 *);
int __pcap_atoin(const char *, bpf_u_int32 *);
-u_short __pcap_nametodnaddr(const char *);
+u_short __pcap_nametodnaddr(const char *);
#ifdef __cplusplus
}
diff --git a/3rdparty/winpcap/Include/pcap/pcap.h b/3rdparty/winpcap/Include/pcap/pcap.h
new file mode 100644
index 00000000000..ad8fc40ac1f
--- /dev/null
+++ b/3rdparty/winpcap/Include/pcap/pcap.h
@@ -0,0 +1,407 @@
+/* -*- Mode: c; tab-width: 8; indent-tabs-mode: 1; c-basic-offset: 8; -*- */
+/*
+ * Copyright (c) 1993, 1994, 1995, 1996, 1997
+ * The Regents of the University of California. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the Computer Systems
+ * Engineering Group at Lawrence Berkeley Laboratory.
+ * 4. Neither the name of the University nor of the Laboratory may be used
+ * to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#) $Header: /tcpdump/master/libpcap/pcap/pcap.h,v 1.4.2.11 2008-10-06 15:38:39 gianluca Exp $ (LBL)
+ */
+
+#ifndef lib_pcap_pcap_h
+#define lib_pcap_pcap_h
+
+#if defined(WIN32)
+ #include <pcap-stdinc.h>
+#elif defined(MSDOS)
+ #include <sys/types.h>
+ #include <sys/socket.h> /* u_int, u_char etc. */
+#else /* UN*X */
+ #include <sys/types.h>
+ #include <sys/time.h>
+#endif /* WIN32/MSDOS/UN*X */
+
+#ifndef PCAP_DONT_INCLUDE_PCAP_BPF_H
+#include <pcap/bpf.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef HAVE_REMOTE
+ // We have to define the SOCKET here, although it has been defined in sockutils.h
+ // This is to avoid the distribution of the 'sockutils.h' file around
+ // (for example in the WinPcap developer's pack)
+ #ifndef SOCKET
+ #ifdef WIN32
+ #define SOCKET unsigned int
+ #else
+ #define SOCKET int
+ #endif
+ #endif
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define PCAP_VERSION_MAJOR 2
+#define PCAP_VERSION_MINOR 4
+
+#define PCAP_ERRBUF_SIZE 256
+
+/*
+ * Compatibility for systems that have a bpf.h that
+ * predates the bpf typedefs for 64-bit support.
+ */
+#if BPF_RELEASE - 0 < 199406
+typedef int bpf_int32;
+typedef u_int bpf_u_int32;
+#endif
+
+typedef struct pcap pcap_t;
+typedef struct pcap_dumper pcap_dumper_t;
+typedef struct pcap_if pcap_if_t;
+typedef struct pcap_addr pcap_addr_t;
+
+/*
+ * The first record in the file contains saved values for some
+ * of the flags used in the printout phases of tcpdump.
+ * Many fields here are 32 bit ints so compilers won't insert unwanted
+ * padding; these files need to be interchangeable across architectures.
+ *
+ * Do not change the layout of this structure, in any way (this includes
+ * changes that only affect the length of fields in this structure).
+ *
+ * Also, do not change the interpretation of any of the members of this
+ * structure, in any way (this includes using values other than
+ * LINKTYPE_ values, as defined in "savefile.c", in the "linktype"
+ * field).
+ *
+ * Instead:
+ *
+ * introduce a new structure for the new format, if the layout
+ * of the structure changed;
+ *
+ * send mail to "tcpdump-workers@lists.tcpdump.org", requesting
+ * a new magic number for your new capture file format, and, when
+ * you get the new magic number, put it in "savefile.c";
+ *
+ * use that magic number for save files with the changed file
+ * header;
+ *
+ * make the code in "savefile.c" capable of reading files with
+ * the old file header as well as files with the new file header
+ * (using the magic number to determine the header format).
+ *
+ * Then supply the changes as a patch at
+ *
+ * http://sourceforge.net/projects/libpcap/
+ *
+ * so that future versions of libpcap and programs that use it (such as
+ * tcpdump) will be able to read your new capture file format.
+ */
+struct pcap_file_header {
+ bpf_u_int32 magic;
+ u_short version_major;
+ u_short version_minor;
+ bpf_int32 thiszone; /* gmt to local correction */
+ bpf_u_int32 sigfigs; /* accuracy of timestamps */
+ bpf_u_int32 snaplen; /* max length saved portion of each pkt */
+ bpf_u_int32 linktype; /* data link type (LINKTYPE_*) */
+};
+
+/*
+ * Macros for the value returned by pcap_datalink_ext().
+ *
+ * If LT_FCS_LENGTH_PRESENT(x) is true, the LT_FCS_LENGTH(x) macro
+ * gives the FCS length of packets in the capture.
+ */
+#define LT_FCS_LENGTH_PRESENT(x) ((x) & 0x04000000)
+#define LT_FCS_LENGTH(x) (((x) & 0xF0000000) >> 28)
+#define LT_FCS_DATALINK_EXT(x) ((((x) & 0xF) << 28) | 0x04000000)
+
+typedef enum {
+ PCAP_D_INOUT = 0,
+ PCAP_D_IN,
+ PCAP_D_OUT
+} pcap_direction_t;
+
+/*
+ * Generic per-packet information, as supplied by libpcap.
+ *
+ * The time stamp can and should be a "struct timeval", regardless of
+ * whether your system supports 32-bit tv_sec in "struct timeval",
+ * 64-bit tv_sec in "struct timeval", or both if it supports both 32-bit
+ * and 64-bit applications. The on-disk format of savefiles uses 32-bit
+ * tv_sec (and tv_usec); this structure is irrelevant to that. 32-bit
+ * and 64-bit versions of libpcap, even if they're on the same platform,
+ * should supply the appropriate version of "struct timeval", even if
+ * that's not what the underlying packet capture mechanism supplies.
+ */
+struct pcap_pkthdr {
+ struct timeval ts; /* time stamp */
+ bpf_u_int32 caplen; /* length of portion present */
+ bpf_u_int32 len; /* length this packet (off wire) */
+};
+
+/*
+ * As returned by the pcap_stats()
+ */
+struct pcap_stat {
+ u_int ps_recv; /* number of packets received */
+ u_int ps_drop; /* number of packets dropped */
+ u_int ps_ifdrop; /* drops by interface XXX not yet supported */
+#ifdef HAVE_REMOTE
+ u_int ps_capt; /* number of packets that are received by the application; please get rid off the Win32 ifdef */
+ u_int ps_sent; /* number of packets sent by the server on the network */
+ u_int ps_netdrop; /* number of packets lost on the network */
+#endif /* HAVE_REMOTE */
+};
+
+#ifdef MSDOS
+/*
+ * As returned by the pcap_stats_ex()
+ */
+struct pcap_stat_ex {
+ u_long rx_packets; /* total packets received */
+ u_long tx_packets; /* total packets transmitted */
+ u_long rx_bytes; /* total bytes received */
+ u_long tx_bytes; /* total bytes transmitted */
+ u_long rx_errors; /* bad packets received */
+ u_long tx_errors; /* packet transmit problems */
+ u_long rx_dropped; /* no space in Rx buffers */
+ u_long tx_dropped; /* no space available for Tx */
+ u_long multicast; /* multicast packets received */
+ u_long collisions;
+
+ /* detailed rx_errors: */
+ u_long rx_length_errors;
+ u_long rx_over_errors; /* receiver ring buff overflow */
+ u_long rx_crc_errors; /* recv'd pkt with crc error */
+ u_long rx_frame_errors; /* recv'd frame alignment error */
+ u_long rx_fifo_errors; /* recv'r fifo overrun */
+ u_long rx_missed_errors; /* recv'r missed packet */
+
+ /* detailed tx_errors */
+ u_long tx_aborted_errors;
+ u_long tx_carrier_errors;
+ u_long tx_fifo_errors;
+ u_long tx_heartbeat_errors;
+ u_long tx_window_errors;
+ };
+#endif
+
+/*
+ * Item in a list of interfaces.
+ */
+struct pcap_if {
+ struct pcap_if *next;
+ char *name; /* name to hand to "pcap_open_live()" */
+ char *description; /* textual description of interface, or NULL */
+ struct pcap_addr *addresses;
+ bpf_u_int32 flags; /* PCAP_IF_ interface flags */
+};
+
+#define PCAP_IF_LOOPBACK 0x00000001 /* interface is loopback */
+
+/*
+ * Representation of an interface address.
+ */
+struct pcap_addr {
+ struct pcap_addr *next;
+ struct sockaddr *addr; /* address */
+ struct sockaddr *netmask; /* netmask for that address */
+ struct sockaddr *broadaddr; /* broadcast address for that address */
+ struct sockaddr *dstaddr; /* P2P destination address for that address */
+};
+
+typedef void (*pcap_handler)(u_char *, const struct pcap_pkthdr *,
+ const u_char *);
+
+/*
+ * Error codes for the pcap API.
+ * These will all be negative, so you can check for the success or
+ * failure of a call that returns these codes by checking for a
+ * negative value.
+ */
+#define PCAP_ERROR -1 /* generic error code */
+#define PCAP_ERROR_BREAK -2 /* loop terminated by pcap_breakloop */
+#define PCAP_ERROR_NOT_ACTIVATED -3 /* the capture needs to be activated */
+#define PCAP_ERROR_ACTIVATED -4 /* the operation can't be performed on already activated captures */
+#define PCAP_ERROR_NO_SUCH_DEVICE -5 /* no such device exists */
+#define PCAP_ERROR_RFMON_NOTSUP -6 /* this device doesn't support rfmon (monitor) mode */
+#define PCAP_ERROR_NOT_RFMON -7 /* operation supported only in monitor mode */
+#define PCAP_ERROR_PERM_DENIED -8 /* no permission to open the device */
+#define PCAP_ERROR_IFACE_NOT_UP -9 /* interface isn't up */
+
+/*
+ * Warning codes for the pcap API.
+ * These will all be positive and non-zero, so they won't look like
+ * errors.
+ */
+#define PCAP_WARNING 1 /* generic warning code */
+#define PCAP_WARNING_PROMISC_NOTSUP 2 /* this device doesn't support promiscuous mode */
+
+char *pcap_lookupdev(char *);
+int pcap_lookupnet(const char *, bpf_u_int32 *, bpf_u_int32 *, char *);
+
+pcap_t *pcap_create(const char *, char *);
+int pcap_set_snaplen(pcap_t *, int);
+int pcap_set_promisc(pcap_t *, int);
+int pcap_can_set_rfmon(pcap_t *);
+int pcap_set_rfmon(pcap_t *, int);
+int pcap_set_timeout(pcap_t *, int);
+int pcap_set_buffer_size(pcap_t *, int);
+int pcap_activate(pcap_t *);
+
+pcap_t *pcap_open_live(const char *, int, int, int, char *);
+pcap_t *pcap_open_dead(int, int);
+pcap_t *pcap_open_offline(const char *, char *);
+#if defined(WIN32)
+pcap_t *pcap_hopen_offline(intptr_t, char *);
+#if !defined(LIBPCAP_EXPORTS)
+#define pcap_fopen_offline(f,b) \
+ pcap_hopen_offline(_get_osfhandle(_fileno(f)), b)
+#else /*LIBPCAP_EXPORTS*/
+static pcap_t *pcap_fopen_offline(FILE *, char *);
+#endif
+#else /*WIN32*/
+pcap_t *pcap_fopen_offline(FILE *, char *);
+#endif /*WIN32*/
+
+void pcap_close(pcap_t *);
+int pcap_loop(pcap_t *, int, pcap_handler, u_char *);
+int pcap_dispatch(pcap_t *, int, pcap_handler, u_char *);
+const u_char*
+ pcap_next(pcap_t *, struct pcap_pkthdr *);
+int pcap_next_ex(pcap_t *, struct pcap_pkthdr **, const u_char **);
+void pcap_breakloop(pcap_t *);
+int pcap_stats(pcap_t *, struct pcap_stat *);
+int pcap_setfilter(pcap_t *, struct bpf_program *);
+int pcap_setdirection(pcap_t *, pcap_direction_t);
+int pcap_getnonblock(pcap_t *, char *);
+int pcap_setnonblock(pcap_t *, int, char *);
+int pcap_inject(pcap_t *, const void *, size_t);
+int pcap_sendpacket(pcap_t *, const u_char *, int);
+const char *pcap_statustostr(int);
+const char *pcap_strerror(int);
+char *pcap_geterr(pcap_t *);
+void pcap_perror(pcap_t *, char *);
+int pcap_compile(pcap_t *, struct bpf_program *, const char *, int,
+ bpf_u_int32);
+int pcap_compile_nopcap(int, int, struct bpf_program *,
+ const char *, int, bpf_u_int32);
+void pcap_freecode(struct bpf_program *);
+int pcap_offline_filter(struct bpf_program *, const struct pcap_pkthdr *,
+ const u_char *);
+int pcap_datalink(pcap_t *);
+int pcap_datalink_ext(pcap_t *);
+int pcap_list_datalinks(pcap_t *, int **);
+int pcap_set_datalink(pcap_t *, int);
+void pcap_free_datalinks(int *);
+int pcap_datalink_name_to_val(const char *);
+const char *pcap_datalink_val_to_name(int);
+const char *pcap_datalink_val_to_description(int);
+int pcap_snapshot(pcap_t *);
+int pcap_is_swapped(pcap_t *);
+int pcap_major_version(pcap_t *);
+int pcap_minor_version(pcap_t *);
+
+/* XXX */
+FILE *pcap_file(pcap_t *);
+int pcap_fileno(pcap_t *);
+
+pcap_dumper_t *pcap_dump_open(pcap_t *, const char *);
+pcap_dumper_t *pcap_dump_fopen(pcap_t *, FILE *fp);
+FILE *pcap_dump_file(pcap_dumper_t *);
+long pcap_dump_ftell(pcap_dumper_t *);
+int pcap_dump_flush(pcap_dumper_t *);
+void pcap_dump_close(pcap_dumper_t *);
+void pcap_dump(u_char *, const struct pcap_pkthdr *, const u_char *);
+
+int pcap_findalldevs(pcap_if_t **, char *);
+void pcap_freealldevs(pcap_if_t *);
+
+const char *pcap_lib_version(void);
+
+/* XXX this guy lives in the bpf tree */
+u_int bpf_filter(const struct bpf_insn *, const u_char *, u_int, u_int);
+int bpf_validate(const struct bpf_insn *f, int len);
+char *bpf_image(const struct bpf_insn *, int);
+void bpf_dump(const struct bpf_program *, int);
+
+#if defined(WIN32)
+
+/*
+ * Win32 definitions
+ */
+
+int pcap_setbuff(pcap_t *p, int dim);
+int pcap_setmode(pcap_t *p, int mode);
+int pcap_setmintocopy(pcap_t *p, int size);
+
+#ifdef WPCAP
+/* Include file with the wpcap-specific extensions */
+#include <Win32-Extensions.h>
+#endif /* WPCAP */
+
+#define MODE_CAPT 0
+#define MODE_STAT 1
+#define MODE_MON 2
+
+#elif defined(MSDOS)
+
+/*
+ * MS-DOS definitions
+ */
+
+int pcap_stats_ex (pcap_t *, struct pcap_stat_ex *);
+void pcap_set_wait (pcap_t *p, void (*yield)(void), int wait);
+u_long pcap_mac_packets (void);
+
+#else /* UN*X */
+
+/*
+ * UN*X definitions
+ */
+
+int pcap_get_selectable_fd(pcap_t *);
+
+#endif /* WIN32/MSDOS/UN*X */
+
+#ifdef HAVE_REMOTE
+/* Includes most of the public stuff that is needed for the remote capture */
+#include <remote-ext.h>
+#endif /* HAVE_REMOTE */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/lib/winpcap/pcap/sll.h b/3rdparty/winpcap/Include/pcap/sll.h
index eca83e833ba..e9d5452af7d 100644
--- a/src/lib/winpcap/pcap/sll.h
+++ b/3rdparty/winpcap/Include/pcap/sll.h
@@ -1,6 +1,6 @@
/*-
* Copyright (c) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997
- * The Regents of the University of California. All rights reserved.
+ * The Regents of the University of California. All rights reserved.
*
* This code is derived from the Stanford/CMU enet packet filter,
* (net/enet.c) distributed as part of 4.3BSD, and code contributed
@@ -42,22 +42,22 @@
* For captures on Linux cooked sockets, we construct a fake header
* that includes:
*
- * a 2-byte "packet type" which is one of:
+ * a 2-byte "packet type" which is one of:
*
- * LINUX_SLL_HOST packet was sent to us
- * LINUX_SLL_BROADCAST packet was broadcast
- * LINUX_SLL_MULTICAST packet was multicast
- * LINUX_SLL_OTHERHOST packet was sent to somebody else
- * LINUX_SLL_OUTGOING packet was sent *by* us;
+ * LINUX_SLL_HOST packet was sent to us
+ * LINUX_SLL_BROADCAST packet was broadcast
+ * LINUX_SLL_MULTICAST packet was multicast
+ * LINUX_SLL_OTHERHOST packet was sent to somebody else
+ * LINUX_SLL_OUTGOING packet was sent *by* us;
*
- * a 2-byte Ethernet protocol field;
+ * a 2-byte Ethernet protocol field;
*
- * a 2-byte link-layer type;
+ * a 2-byte link-layer type;
*
- * a 2-byte link-layer address length;
+ * a 2-byte link-layer address length;
*
- * an 8-byte source link-layer address, whose actual length is
- * specified by the previous value.
+ * an 8-byte source link-layer address, whose actual length is
+ * specified by the previous value.
*
* All fields except for the link-layer address are in network byte order.
*
@@ -79,15 +79,15 @@
/*
* A DLT_LINUX_SLL fake link-layer header.
*/
-#define SLL_HDR_LEN 16 /* total header length */
-#define SLL_ADDRLEN 8 /* length of address field */
+#define SLL_HDR_LEN 16 /* total header length */
+#define SLL_ADDRLEN 8 /* length of address field */
struct sll_header {
- u_int16_t sll_pkttype; /* packet type */
- u_int16_t sll_hatype; /* link-layer address type */
- u_int16_t sll_halen; /* link-layer address length */
- u_int8_t sll_addr[SLL_ADDRLEN]; /* link-layer address */
- u_int16_t sll_protocol; /* protocol */
+ u_int16_t sll_pkttype; /* packet type */
+ u_int16_t sll_hatype; /* link-layer address type */
+ u_int16_t sll_halen; /* link-layer address length */
+ u_int8_t sll_addr[SLL_ADDRLEN]; /* link-layer address */
+ u_int16_t sll_protocol; /* protocol */
};
/*
@@ -96,11 +96,11 @@ struct sll_header {
* available even on systems other than Linux, and so that they
* don't change even if the PACKET_ values change.
*/
-#define LINUX_SLL_HOST 0
-#define LINUX_SLL_BROADCAST 1
-#define LINUX_SLL_MULTICAST 2
-#define LINUX_SLL_OTHERHOST 3
-#define LINUX_SLL_OUTGOING 4
+#define LINUX_SLL_HOST 0
+#define LINUX_SLL_BROADCAST 1
+#define LINUX_SLL_MULTICAST 2
+#define LINUX_SLL_OTHERHOST 3
+#define LINUX_SLL_OUTGOING 4
/*
* The LINUX_SLL_ values for "sll_protocol"; these correspond to the
@@ -108,22 +108,22 @@ struct sll_header {
* available even on systems other than Linux. We assume, for now,
* that the ETH_P_ values won't change in Linux; if they do, then:
*
- * if we don't translate them in "pcap-linux.c", capture files
- * won't necessarily be readable if captured on a system that
- * defines ETH_P_ values that don't match these values;
+ * if we don't translate them in "pcap-linux.c", capture files
+ * won't necessarily be readable if captured on a system that
+ * defines ETH_P_ values that don't match these values;
*
- * if we do translate them in "pcap-linux.c", that makes life
- * unpleasant for the BPF code generator, as the values you test
- * for in the kernel aren't the values that you test for when
- * reading a capture file, so the fixup code run on BPF programs
- * handed to the kernel ends up having to do more work.
+ * if we do translate them in "pcap-linux.c", that makes life
+ * unpleasant for the BPF code generator, as the values you test
+ * for in the kernel aren't the values that you test for when
+ * reading a capture file, so the fixup code run on BPF programs
+ * handed to the kernel ends up having to do more work.
*
* Add other values here as necessary, for handling packet types that
* might show up on non-Ethernet, non-802.x networks. (Not all the ones
* in the Linux "if_ether.h" will, I suspect, actually show up in
* captures.)
*/
-#define LINUX_SLL_P_802_3 0x0001 /* Novell 802.3 frames without 802.2 LLC header */
-#define LINUX_SLL_P_802_2 0x0004 /* 802.2 frames (not D/I/X Ethernet) */
+#define LINUX_SLL_P_802_3 0x0001 /* Novell 802.3 frames without 802.2 LLC header */
+#define LINUX_SLL_P_802_2 0x0004 /* 802.2 frames (not D/I/X Ethernet) */
#endif
diff --git a/src/lib/winpcap/pcap/usb.h b/3rdparty/winpcap/Include/pcap/usb.h
index 337a5f2b9b8..adcd19c0584 100644
--- a/src/lib/winpcap/pcap/usb.h
+++ b/3rdparty/winpcap/Include/pcap/usb.h
@@ -11,8 +11,8 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote
- * products derived from this software without specific prior written
+ * 3. The name of the author may not be used to endorse or promote
+ * products derived from this software without specific prior written
* permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
@@ -32,11 +32,11 @@
*
* @(#) $Header: /tcpdump/master/libpcap/pcap/usb.h,v 1.6 2007/09/22 02:06:08 guy Exp $
*/
-
+
#ifndef _PCAP_USB_STRUCTS_H__
#define _PCAP_USB_STRUCTS_H__
-/*
+/*
* possible transfer mode
*/
#define URB_TRANSFER_IN 0x80
diff --git a/src/lib/winpcap/pcap/vlan.h b/3rdparty/winpcap/Include/pcap/vlan.h
index 90b7884cada..b0cb7949be1 100644
--- a/src/lib/winpcap/pcap/vlan.h
+++ b/3rdparty/winpcap/Include/pcap/vlan.h
@@ -1,6 +1,6 @@
/*-
* Copyright (c) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997
- * The Regents of the University of California. All rights reserved.
+ * The Regents of the University of California. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -37,10 +37,10 @@
#define lib_pcap_vlan_h
struct vlan_tag {
- u_int16_t vlan_tpid; /* ETH_P_8021Q */
- u_int16_t vlan_tci; /* VLAN TCI */
+ u_int16_t vlan_tpid; /* ETH_P_8021Q */
+ u_int16_t vlan_tci; /* VLAN TCI */
};
-#define VLAN_TAG_LEN 4
+#define VLAN_TAG_LEN 4
#endif
diff --git a/3rdparty/winpcap/Include/remote-ext.h b/3rdparty/winpcap/Include/remote-ext.h
new file mode 100644
index 00000000000..35a2fff6c2b
--- /dev/null
+++ b/3rdparty/winpcap/Include/remote-ext.h
@@ -0,0 +1,444 @@
+/*
+ * Copyright (c) 2002 - 2003
+ * NetGroup, Politecnico di Torino (Italy)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the Politecnico di Torino nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+
+#ifndef __REMOTE_EXT_H__
+#define __REMOTE_EXT_H__
+
+
+#ifndef HAVE_REMOTE
+#error Please do not include this file directly. Just define HAVE_REMOTE and then include pcap.h
+#endif
+
+// Definition for Microsoft Visual Studio
+#if _MSC_VER > 1000
+#pragma once
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*!
+ \file remote-ext.h
+
+ The goal of this file it to include most of the new definitions that should be
+ placed into the pcap.h file.
+
+ It includes all new definitions (structures and functions like pcap_open().
+ Some of the functions are not really a remote feature, but, right now,
+ they are placed here.
+*/
+
+
+
+// All this stuff is public
+/*! \addtogroup remote_struct
+ \{
+*/
+
+
+
+
+/*!
+ \brief Defines the maximum buffer size in which address, port, interface names are kept.
+
+ In case the adapter name or such is larger than this value, it is truncated.
+ This is not used by the user; however it must be aware that an hostname / interface
+ name longer than this value will be truncated.
+*/
+#define PCAP_BUF_SIZE 1024
+
+
+/*! \addtogroup remote_source_ID
+ \{
+*/
+
+
+/*!
+ \brief Internal representation of the type of source in use (file,
+ remote/local interface).
+
+ This indicates a file, i.e. the user want to open a capture from a local file.
+*/
+#define PCAP_SRC_FILE 2
+/*!
+ \brief Internal representation of the type of source in use (file,
+ remote/local interface).
+
+ This indicates a local interface, i.e. the user want to open a capture from
+ a local interface. This does not involve the RPCAP protocol.
+*/
+#define PCAP_SRC_IFLOCAL 3
+/*!
+ \brief Internal representation of the type of source in use (file,
+ remote/local interface).
+
+ This indicates a remote interface, i.e. the user want to open a capture from
+ an interface on a remote host. This does involve the RPCAP protocol.
+*/
+#define PCAP_SRC_IFREMOTE 4
+
+/*!
+ \}
+*/
+
+
+
+/*! \addtogroup remote_source_string
+
+ The formats allowed by the pcap_open() are the following:
+ - file://path_and_filename [opens a local file]
+ - rpcap://devicename [opens the selected device devices available on the local host, without using the RPCAP protocol]
+ - rpcap://host/devicename [opens the selected device available on a remote host]
+ - rpcap://host:port/devicename [opens the selected device available on a remote host, using a non-standard port for RPCAP]
+ - adaptername [to open a local adapter; kept for compability, but it is strongly discouraged]
+ - (NULL) [to open the first local adapter; kept for compability, but it is strongly discouraged]
+
+ The formats allowed by the pcap_findalldevs_ex() are the following:
+ - file://folder/ [lists all the files in the given folder]
+ - rpcap:// [lists all local adapters]
+ - rpcap://host:port/ [lists the devices available on a remote host]
+
+ Referring to the 'host' and 'port' paramters, they can be either numeric or literal. Since
+ IPv6 is fully supported, these are the allowed formats:
+
+ - host (literal): e.g. host.foo.bar
+ - host (numeric IPv4): e.g. 10.11.12.13
+ - host (numeric IPv4, IPv6 style): e.g. [10.11.12.13]
+ - host (numeric IPv6): e.g. [1:2:3::4]
+ - port: can be either numeric (e.g. '80') or literal (e.g. 'http')
+
+ Here you find some allowed examples:
+ - rpcap://host.foo.bar/devicename [everything literal, no port number]
+ - rpcap://host.foo.bar:1234/devicename [everything literal, with port number]
+ - rpcap://10.11.12.13/devicename [IPv4 numeric, no port number]
+ - rpcap://10.11.12.13:1234/devicename [IPv4 numeric, with port number]
+ - rpcap://[10.11.12.13]:1234/devicename [IPv4 numeric with IPv6 format, with port number]
+ - rpcap://[1:2:3::4]/devicename [IPv6 numeric, no port number]
+ - rpcap://[1:2:3::4]:1234/devicename [IPv6 numeric, with port number]
+ - rpcap://[1:2:3::4]:http/devicename [IPv6 numeric, with literal port number]
+
+ \{
+*/
+
+
+/*!
+ \brief String that will be used to determine the type of source in use (file,
+ remote/local interface).
+
+ This string will be prepended to the interface name in order to create a string
+ that contains all the information required to open the source.
+
+ This string indicates that the user wants to open a capture from a local file.
+*/
+#define PCAP_SRC_FILE_STRING "file://"
+/*!
+ \brief String that will be used to determine the type of source in use (file,
+ remote/local interface).
+
+ This string will be prepended to the interface name in order to create a string
+ that contains all the information required to open the source.
+
+ This string indicates that the user wants to open a capture from a network interface.
+ This string does not necessarily involve the use of the RPCAP protocol. If the
+ interface required resides on the local host, the RPCAP protocol is not involved
+ and the local functions are used.
+*/
+#define PCAP_SRC_IF_STRING "rpcap://"
+
+/*!
+ \}
+*/
+
+
+
+
+
+/*!
+ \addtogroup remote_open_flags
+ \{
+*/
+
+/*!
+ \brief Defines if the adapter has to go in promiscuous mode.
+
+ It is '1' if you have to open the adapter in promiscuous mode, '0' otherwise.
+ Note that even if this parameter is false, the interface could well be in promiscuous
+ mode for some other reason (for example because another capture process with
+ promiscuous mode enabled is currently using that interface).
+ On on Linux systems with 2.2 or later kernels (that have the "any" device), this
+ flag does not work on the "any" device; if an argument of "any" is supplied,
+ the 'promisc' flag is ignored.
+*/
+#define PCAP_OPENFLAG_PROMISCUOUS 1
+
+/*!
+ \brief Defines if the data trasfer (in case of a remote
+ capture) has to be done with UDP protocol.
+
+ If it is '1' if you want a UDP data connection, '0' if you want
+ a TCP data connection; control connection is always TCP-based.
+ A UDP connection is much lighter, but it does not guarantee that all
+ the captured packets arrive to the client workstation. Moreover,
+ it could be harmful in case of network congestion.
+ This flag is meaningless if the source is not a remote interface.
+ In that case, it is simply ignored.
+*/
+#define PCAP_OPENFLAG_DATATX_UDP 2
+
+
+/*!
+ \brief Defines if the remote probe will capture its own generated traffic.
+
+ In case the remote probe uses the same interface to capture traffic and to send
+ data back to the caller, the captured traffic includes the RPCAP traffic as well.
+ If this flag is turned on, the RPCAP traffic is excluded from the capture, so that
+ the trace returned back to the collector is does not include this traffic.
+*/
+#define PCAP_OPENFLAG_NOCAPTURE_RPCAP 4
+
+/*!
+ \brief Defines if the local adapter will capture its own generated traffic.
+
+ This flag tells the underlying capture driver to drop the packets that were sent by itself.
+ This is usefult when building applications like bridges, that should ignore the traffic
+ they just sent.
+*/
+#define PCAP_OPENFLAG_NOCAPTURE_LOCAL 8
+
+/*!
+ \brief This flag configures the adapter for maximum responsiveness.
+
+ In presence of a large value for nbytes, WinPcap waits for the arrival of several packets before
+ copying the data to the user. This guarantees a low number of system calls, i.e. lower processor usage,
+ i.e. better performance, which is good for applications like sniffers. If the user sets the
+ PCAP_OPENFLAG_MAX_RESPONSIVENESS flag, the capture driver will copy the packets as soon as the application
+ is ready to receive them. This is suggested for real time applications (like, for example, a bridge)
+ that need the best responsiveness.*/
+#define PCAP_OPENFLAG_MAX_RESPONSIVENESS 16
+
+/*!
+ \}
+*/
+
+
+/*!
+ \addtogroup remote_samp_methods
+ \{
+*/
+
+/*!
+ \brief No sampling has to be done on the current capture.
+
+ In this case, no sampling algorithms are applied to the current capture.
+*/
+#define PCAP_SAMP_NOSAMP 0
+
+/*!
+ \brief It defines that only 1 out of N packets must be returned to the user.
+
+ In this case, the 'value' field of the 'pcap_samp' structure indicates the
+ number of packets (minus 1) that must be discarded before one packet got accepted.
+ In other words, if 'value = 10', the first packet is returned to the caller, while
+ the following 9 are discarded.
+*/
+#define PCAP_SAMP_1_EVERY_N 1
+
+/*!
+ \brief It defines that we have to return 1 packet every N milliseconds.
+
+ In this case, the 'value' field of the 'pcap_samp' structure indicates the 'waiting
+ time' in milliseconds before one packet got accepted.
+ In other words, if 'value = 10', the first packet is returned to the caller; the next
+ returned one will be the first packet that arrives when 10ms have elapsed.
+*/
+#define PCAP_SAMP_FIRST_AFTER_N_MS 2
+
+/*!
+ \}
+*/
+
+
+/*!
+ \addtogroup remote_auth_methods
+ \{
+*/
+
+/*!
+ \brief It defines the NULL authentication.
+
+ This value has to be used within the 'type' member of the pcap_rmtauth structure.
+ The 'NULL' authentication has to be equal to 'zero', so that old applications
+ can just put every field of struct pcap_rmtauth to zero, and it does work.
+*/
+#define RPCAP_RMTAUTH_NULL 0
+/*!
+ \brief It defines the username/password authentication.
+
+ With this type of authentication, the RPCAP protocol will use the username/
+ password provided to authenticate the user on the remote machine. If the
+ authentication is successful (and the user has the right to open network devices)
+ the RPCAP connection will continue; otherwise it will be dropped.
+
+ This value has to be used within the 'type' member of the pcap_rmtauth structure.
+*/
+#define RPCAP_RMTAUTH_PWD 1
+
+/*!
+ \}
+*/
+
+
+
+
+/*!
+
+ \brief This structure keeps the information needed to autheticate
+ the user on a remote machine.
+
+ The remote machine can either grant or refuse the access according
+ to the information provided.
+ In case the NULL authentication is required, both 'username' and
+ 'password' can be NULL pointers.
+
+ This structure is meaningless if the source is not a remote interface;
+ in that case, the functions which requires such a structure can accept
+ a NULL pointer as well.
+*/
+struct pcap_rmtauth
+{
+ /*!
+ \brief Type of the authentication required.
+
+ In order to provide maximum flexibility, we can support different types
+ of authentication based on the value of this 'type' variable. The currently
+ supported authentication methods are defined into the
+ \link remote_auth_methods Remote Authentication Methods Section\endlink.
+
+ */
+ int type;
+ /*!
+ \brief Zero-terminated string containing the username that has to be
+ used on the remote machine for authentication.
+
+ This field is meaningless in case of the RPCAP_RMTAUTH_NULL authentication
+ and it can be NULL.
+ */
+ char *username;
+ /*!
+ \brief Zero-terminated string containing the password that has to be
+ used on the remote machine for authentication.
+
+ This field is meaningless in case of the RPCAP_RMTAUTH_NULL authentication
+ and it can be NULL.
+ */
+ char *password;
+};
+
+
+/*!
+ \brief This structure defines the information related to sampling.
+
+ In case the sampling is requested, the capturing device should read
+ only a subset of the packets coming from the source. The returned packets depend
+ on the sampling parameters.
+
+ \warning The sampling process is applied <strong>after</strong> the filtering process.
+ In other words, packets are filtered first, then the sampling process selects a
+ subset of the 'filtered' packets and it returns them to the caller.
+*/
+struct pcap_samp
+{
+ /*!
+ Method used for sampling. Currently, the supported methods are listed in the
+ \link remote_samp_methods Sampling Methods Section\endlink.
+ */
+ int method;
+
+ /*!
+ This value depends on the sampling method defined. For its meaning, please check
+ at the \link remote_samp_methods Sampling Methods Section\endlink.
+ */
+ int value;
+};
+
+
+
+
+//! Maximum lenght of an host name (needed for the RPCAP active mode)
+#define RPCAP_HOSTLIST_SIZE 1024
+
+
+/*!
+ \}
+*/ // end of public documentation
+
+
+// Exported functions
+
+
+
+/** \name New WinPcap functions
+
+ This section lists the new functions that are able to help considerably in writing
+ WinPcap programs because of their easiness of use.
+ */
+//\{
+pcap_t *pcap_open(const char *source, int snaplen, int flags, int read_timeout, struct pcap_rmtauth *auth, char *errbuf);
+int pcap_createsrcstr(char *source, int type, const char *host, const char *port, const char *name, char *errbuf);
+int pcap_parsesrcstr(const char *source, int *type, char *host, char *port, char *name, char *errbuf);
+int pcap_findalldevs_ex(char *source, struct pcap_rmtauth *auth, pcap_if_t **alldevs, char *errbuf);
+struct pcap_samp *pcap_setsampling(pcap_t *p);
+
+//\}
+// End of new winpcap functions
+
+
+
+/** \name Remote Capture functions
+ */
+//\{
+SOCKET pcap_remoteact_accept(const char *address, const char *port, const char *hostlist, char *connectinghost, struct pcap_rmtauth *auth, char *errbuf);
+int pcap_remoteact_list(char *hostlist, char sep, int size, char *errbuf);
+int pcap_remoteact_close(const char *host, char *errbuf);
+void pcap_remoteact_cleanup();
+//\}
+// End of remote capture functions
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif
+
diff --git a/3rdparty/winpcap/Lib/Packet.lib b/3rdparty/winpcap/Lib/Packet.lib
new file mode 100644
index 00000000000..81618bc8ca2
--- /dev/null
+++ b/3rdparty/winpcap/Lib/Packet.lib
Binary files differ
diff --git a/3rdparty/winpcap/Lib/libpacket.a b/3rdparty/winpcap/Lib/libpacket.a
new file mode 100644
index 00000000000..4d49131f096
--- /dev/null
+++ b/3rdparty/winpcap/Lib/libpacket.a
Binary files differ
diff --git a/3rdparty/winpcap/Lib/libwpcap.a b/3rdparty/winpcap/Lib/libwpcap.a
new file mode 100644
index 00000000000..65b1870e7ac
--- /dev/null
+++ b/3rdparty/winpcap/Lib/libwpcap.a
Binary files differ
diff --git a/3rdparty/winpcap/Lib/wpcap.lib b/3rdparty/winpcap/Lib/wpcap.lib
new file mode 100644
index 00000000000..f832e0445b5
--- /dev/null
+++ b/3rdparty/winpcap/Lib/wpcap.lib
Binary files differ
diff --git a/3rdparty/winpcap/Lib/x64/Packet.lib b/3rdparty/winpcap/Lib/x64/Packet.lib
new file mode 100644
index 00000000000..30c15405037
--- /dev/null
+++ b/3rdparty/winpcap/Lib/x64/Packet.lib
Binary files differ
diff --git a/3rdparty/winpcap/Lib/x64/wpcap.lib b/3rdparty/winpcap/Lib/x64/wpcap.lib
new file mode 100644
index 00000000000..d5559f802b8
--- /dev/null
+++ b/3rdparty/winpcap/Lib/x64/wpcap.lib
Binary files differ
diff --git a/3rdparty/winpcap/docs/WinPcap_docs.html b/3rdparty/winpcap/docs/WinPcap_docs.html
new file mode 100644
index 00000000000..536a9a22b54
--- /dev/null
+++ b/3rdparty/winpcap/docs/WinPcap_docs.html
@@ -0,0 +1,9 @@
+<SCRIPT language=JavaScript>
+function redirt(thisarea) { thisurl = '' + thisarea; window.location=thisurl; }
+</SCRIPT>
+
+<HTML>
+<BODY onLoad="redirt('html/main.html')">
+
+</BODY>
+</HTML>
diff --git a/3rdparty/winpcap/docs/html/Packet_8h.html b/3rdparty/winpcap/docs/html/Packet_8h.html
new file mode 100644
index 00000000000..7f1f95d897e
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/Packet_8h.html
@@ -0,0 +1,201 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Packet.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Packet.h File Reference</h1><code>#include &quot;win_bpf.h&quot;</code><br/>
+
+<p><a href="Packet_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpacket__file__header.html">packet_file_header</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Header of a libpcap dump file. <a href="structpacket__file__header.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsf__pkthdr.html">sf_pkthdr</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Header associated to a packet in the driver's buffer when the driver is in dump mode. Similar to the bpf_hdr structure, but simpler. <a href="structsf__pkthdr.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__PACKET__OID__DATA.html">_PACKET_OID_DATA</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure containing an OID request. <a href="struct__PACKET__OID__DATA.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__INTERNAL__REQUEST.html">_INTERNAL_REQUEST</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stores an OID request. <a href="struct__INTERNAL__REQUEST.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__PACKET__RESERVED.html">_PACKET_RESERVED</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Contains a NDIS packet. <a href="struct__PACKET__RESERVED.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__DEVICE__EXTENSION.html">_DEVICE_EXTENSION</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Port device extension. <a href="struct__DEVICE__EXTENSION.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct____CPU__Private__Data.html">__CPU_Private_Data</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Kernel buffer of each CPU. <a href="struct____CPU__Private__Data.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html">_OPEN_INSTANCE</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Contains the state of a running instance of the NPF driver. <a href="struct__OPEN__INSTANCE.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPacketHeader.html">PacketHeader</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure prepended to each packet in the kernel buffer pool. <a href="structPacketHeader.html#_details">More...</a><br/></td></tr>
+<tr><td colspan="2"><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga8fc96cee4177a369a99de7026ebeba81">MAX_REQUESTS</a>&nbsp;&nbsp;&nbsp;32</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maximum number of simultaneous IOCTL requests. <a href="group__NPF__include.html#ga8fc96cee4177a369a99de7026ebeba81"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga8463d2101446f74b83ed10006d772384">Packet_ALIGNMENT</a>&nbsp;&nbsp;&nbsp;sizeof(int)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Alignment macro. Defines the alignment size. <a href="group__NPF__include.html#ga8463d2101446f74b83ed10006d772384"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga6ad53095b69ed77878dc683754e3264a">Packet_WORDALIGN</a>(x)&nbsp;&nbsp;&nbsp;(((x)+(Packet_ALIGNMENT-1))&amp;~(Packet_ALIGNMENT-1))</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">even multiple of Packet_ALIGNMENT. <a href="group__NPF__include.html#ga6ad53095b69ed77878dc683754e3264a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga9cd2ca337001428aa9e1cb512a28ecc2">KERNEL_EVENT_NAMESPACE</a>&nbsp;&nbsp;&nbsp;L&quot;\\BaseNamedObjects\\&quot;</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#gac93c0a6ad1d2a3143b1115bdab3ac04d">MODE_CAPT</a>&nbsp;&nbsp;&nbsp;0x0</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Capture working mode. <a href="group__NPF__include.html#gac93c0a6ad1d2a3143b1115bdab3ac04d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga503326906a62e96c147ae6af31fb5659">MODE_STAT</a>&nbsp;&nbsp;&nbsp;0x1</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Statistical working mode. <a href="group__NPF__include.html#ga503326906a62e96c147ae6af31fb5659"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga528e7e542cb1a028a10a3a318880dffb">MODE_MON</a>&nbsp;&nbsp;&nbsp;0x2</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Kernel monitoring mode. <a href="group__NPF__include.html#ga528e7e542cb1a028a10a3a318880dffb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga89853f93dc8cc890b0665629d16d2831">MODE_DUMP</a>&nbsp;&nbsp;&nbsp;0x10</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Kernel dump working mode. <a href="group__NPF__include.html#ga89853f93dc8cc890b0665629d16d2831"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga4f6749b7708a411df2a3341a3fcef917">IMMEDIATE</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Immediate timeout. Forces a read call to return immediately. <a href="group__NPF__include.html#ga4f6749b7708a411df2a3341a3fcef917"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga0a110077bb4fcbcc75512d8988c90de8">NDIS_FLAGS_SKIP_LOOPBACK_W2K</a>&nbsp;&nbsp;&nbsp;0x400</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an undocumented flag for NdisSetPacketFlags() that allows to disable loopback reception. <a href="group__NPF__include.html#ga0a110077bb4fcbcc75512d8988c90de8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#gafedcc0aa0cf5abe7b20c68eefdfcb126">TCPDUMP_MAGIC</a>&nbsp;&nbsp;&nbsp;0xa1b2c3d4</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Libpcap magic number. Used by programs like tcpdump to recognize a driver's generated dump file. <a href="group__NPF__include.html#gafedcc0aa0cf5abe7b20c68eefdfcb126"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#gaac031371d41e21ff96e80409e05a7ddb">PCAP_VERSION_MAJOR</a>&nbsp;&nbsp;&nbsp;2</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Major libpcap version of the dump file. Used by programs like tcpdump to recognize a driver's generated dump file. <a href="group__NPF__include.html#gaac031371d41e21ff96e80409e05a7ddb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga9c200b070c9f626d38184588b16849c2">PCAP_VERSION_MINOR</a>&nbsp;&nbsp;&nbsp;4</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Minor libpcap version of the dump file. Used by programs like tcpdump to recognize a driver's generated dump file. <a href="group__NPF__include.html#ga9c200b070c9f626d38184588b16849c2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga7ccc8974741059b5ae25231a56dbed09">NPF_DISABLE_LOOPBACK</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tells the driver to drop the packets sent by itself. This is usefult when building applications like bridges. <a href="group__NPF__include.html#ga7ccc8974741059b5ae25231a56dbed09"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga4a60d1f215d5b2af2b3b86a0f2a90ae2">NPF_ENABLE_LOOPBACK</a>&nbsp;&nbsp;&nbsp;2</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tells the driver to capture the packets sent by itself. <a href="group__NPF__include.html#ga4a60d1f215d5b2af2b3b86a0f2a90ae2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga7300b6880da1b61717e7ff815d579bf6">C_ASSERT</a>(a)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga048ba8dfabc6ac16c602a1ca6fe994fc">RESERVED</a>(_p)&nbsp;&nbsp;&nbsp;((<a class="el" href="struct__PACKET__RESERVED.html">PPACKET_RESERVED</a>)((_p)-&gt;ProtocolReserved))</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro to obtain a NDIS_PACKET from a PACKET_RESERVED. <a href="group__NPF__include.html#ga048ba8dfabc6ac16c602a1ca6fe994fc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga652e6173ee1441712652d74a5533e042">TRANSMIT_PACKETS</a>&nbsp;&nbsp;&nbsp;256</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">of packets that can be transmitted at the same time or with a single call to NdisSendPackets. <a href="group__NPF__include.html#ga652e6173ee1441712652d74a5533e042"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#gacabf25322566f3bcd1e564e4939f5821">EXIT_SUCCESS</a>(quantity)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro used in the I/O routines to return the control to user-mode with a success status. <a href="group__NPF__include.html#gacabf25322566f3bcd1e564e4939f5821"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#gad6d1f5522a147ddeb7d9b11916acd50a">EXIT_FAILURE</a>(quantity)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro used in the I/O routines to return the control to user-mode with a failure status. <a href="group__NPF__include.html#gad6d1f5522a147ddeb7d9b11916acd50a"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__PACKET__OID__DATA.html">_PACKET_OID_DATA</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga0c7b0f53860e1de014069aad53987bc6">PACKET_OID_DATA</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure containing an OID request. <a href="group__NPF__include.html#ga0c7b0f53860e1de014069aad53987bc6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__PACKET__OID__DATA.html">_PACKET_OID_DATA</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#gadf678e4006b707eb64a691e611975b22">PPACKET_OID_DATA</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__INTERNAL__REQUEST.html">_INTERNAL_REQUEST</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga0bee4ca4dc129822e19478f88d991a31">INTERNAL_REQUEST</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stores an OID request. <a href="group__NPF__include.html#ga0bee4ca4dc129822e19478f88d991a31"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__INTERNAL__REQUEST.html">_INTERNAL_REQUEST</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga55591a7d14855359ed1e3995f7f025c3">PINTERNAL_REQUEST</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__PACKET__RESERVED.html">_PACKET_RESERVED</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga2225b3cfa793593a1849aa0652846a5c">PACKET_RESERVED</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Contains a NDIS packet. <a href="group__NPF__include.html#ga2225b3cfa793593a1849aa0652846a5c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__PACKET__RESERVED.html">_PACKET_RESERVED</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga375d9973bbbe748c9722e8f546beb10c">PPACKET_RESERVED</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__DEVICE__EXTENSION.html">_DEVICE_EXTENSION</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga5091b7a273db5d38a71df5293eb52ccf">DEVICE_EXTENSION</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Port device extension. <a href="group__NPF__include.html#ga5091b7a273db5d38a71df5293eb52ccf"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__DEVICE__EXTENSION.html">_DEVICE_EXTENSION</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#gac8ad25578be589c8352fc4e1a8a99be3">PDEVICE_EXTENSION</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct____CPU__Private__Data.html">__CPU_Private_Data</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga321d8c7f608d41e095ec3508cff10764">CpuPrivateData</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Kernel buffer of each CPU. <a href="group__NPF__include.html#ga321d8c7f608d41e095ec3508cff10764"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__OPEN__INSTANCE.html">_OPEN_INSTANCE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#gafeddf3a08e141d369532061f3f8cd939">OPEN_INSTANCE</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Contains the state of a running instance of the NPF driver. <a href="group__NPF__include.html#gafeddf3a08e141d369532061f3f8cd939"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__OPEN__INSTANCE.html">_OPEN_INSTANCE</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#gad3b7ff25cfe0e8fd50666782f85e76cb">POPEN_INSTANCE</a></td></tr>
+<tr><td colspan="2"><h2>Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#gaa80226df1c5ee18b01580d23ed4f31cb">ADAPTER_BINDING_STATUS</a> { <a class="el" href="group__NPF__include.html#ggaa80226df1c5ee18b01580d23ed4f31cba6e4cdf9f09abf447cffdfd5058357822">ADAPTER_UNBOUND</a>,
+<a class="el" href="group__NPF__include.html#ggaa80226df1c5ee18b01580d23ed4f31cba3e0c0f314d2e9dc41c205ab44bf087bc">ADAPTER_BOUND</a>,
+<a class="el" href="group__NPF__include.html#ggaa80226df1c5ee18b01580d23ed4f31cbadc92e852ef35fac0f033487a3be66a93">ADAPTER_UNBINDING</a>
+ }</td></tr>
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga6259f706c0907d31a1476960233222c6">C_ASSERT</a> (sizeof(<a class="el" href="struct__PACKET__OID__DATA.html">PACKET_OID_DATA</a>)==12)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NTSTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga6502d781bd20234a06710b92d540baba">DriverEntry</a> (IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The initialization routine of the driver. <a href="group__NPF__code.html#ga6502d781bd20234a06710b92d540baba"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PWCHAR&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gafc395636686df00f554efbd2010f73cb">getAdaptersList</a> (VOID)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the list of the MACs available on the system. <a href="group__NPF__code.html#gafc395636686df00f554efbd2010f73cb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PKEY_VALUE_PARTIAL_INFORMATION&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gacf0e32b371eb9283e5cf1de0dfb15629">getTcpBindings</a> (VOID)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the MACs that bind to TCP/IP. <a href="group__NPF__code.html#gacf0e32b371eb9283e5cf1de0dfb15629"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">BOOLEAN&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga5d152d59c86209c5128ac788a7ae61b3">NPF_CreateDevice</a> (IN OUT PDRIVER_OBJECT adriverObjectP, IN PUNICODE_STRING amacNameP)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a device for a given MAC. <a href="group__NPF__code.html#ga5d152d59c86209c5128ac788a7ae61b3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NTSTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga82e557625e52fe4395bbe2e494fe8c4a">NPF_Open</a> (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opens a new instance of the driver. <a href="group__NPF__code.html#ga82e557625e52fe4395bbe2e494fe8c4a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga155ae51be29c6d36f8109781b8f6e7b2">NPF_OpenAdapterComplete</a> (IN NDIS_HANDLE ProtocolBindingContext, IN NDIS_STATUS Status, IN NDIS_STATUS OpenErrorStatus)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ends the opening of an adapter. <a href="group__NPF__code.html#ga155ae51be29c6d36f8109781b8f6e7b2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NTSTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gafae94a0e7fda8de180cff6e596cc2803">NPF_Cleanup</a> (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Closes an instance of the driver. <a href="group__NPF__code.html#gafae94a0e7fda8de180cff6e596cc2803"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NTSTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gaf8b70be389645c912cf09f1e9ea4b975">NPF_Close</a> (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga300118a9a6cc28c2c880f6bb39d86b53">NPF_CloseAdapterComplete</a> (IN NDIS_HANDLE ProtocolBindingContext, IN NDIS_STATUS Status)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ends the closing of an adapter. <a href="group__NPF__code.html#ga300118a9a6cc28c2c880f6bb39d86b53"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NDIS_STATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga92f84ced372baf09f1c00a6b252a0564">NPF_tap</a> (IN NDIS_HANDLE ProtocolBindingContext, IN NDIS_HANDLE MacReceiveContext, IN PVOID HeaderBuffer, IN UINT HeaderBufferSize, IN PVOID LookAheadBuffer, IN UINT LookaheadBufferSize, IN UINT PacketSize)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Callback invoked by NDIS when a packet arrives from the network. <a href="group__NPF__code.html#ga92f84ced372baf09f1c00a6b252a0564"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga0c34f931d6718be202c7c62406f279fd">NPF_TransferDataComplete</a> (IN NDIS_HANDLE ProtocolBindingContext, IN PNDIS_PACKET Packet, IN NDIS_STATUS Status, IN UINT BytesTransferred)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ends the transfer of a packet. <a href="group__NPF__code.html#ga0c34f931d6718be202c7c62406f279fd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gae7863db01a628ed11324c49953195855">NPF_ReceiveComplete</a> (IN NDIS_HANDLE ProtocolBindingContext)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Callback function that signals the end of a packet reception. <a href="group__NPF__code.html#gae7863db01a628ed11324c49953195855"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NTSTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gad8b208720b6e5149dabcd7fb058b16f7">NPF_IoControl</a> (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Handles the IOCTL calls. <a href="group__NPF__code.html#gad8b208720b6e5149dabcd7fb058b16f7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga4ff37c0fd3273f829a1f84b9ab40755b">NPF_RequestComplete</a> (IN NDIS_HANDLE ProtocolBindingContext, IN PNDIS_REQUEST pRequest, IN NDIS_STATUS Status)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ends an OID request. <a href="group__NPF__code.html#ga4ff37c0fd3273f829a1f84b9ab40755b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NTSTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga595338435296a4d1e15363ebfcb3a38c">NPF_Write</a> (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Writes a raw packet to the network. <a href="group__NPF__code.html#ga595338435296a4d1e15363ebfcb3a38c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">INT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga9a97dd25ae757da4bfed3723a4eb4bce">NPF_BufferedWrite</a> (IN PIRP Irp, IN PCHAR UserBuff, IN ULONG UserBuffSize, BOOLEAN sync)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Writes a buffer of raw packets to the network. <a href="group__NPF__code.html#ga9a97dd25ae757da4bfed3723a4eb4bce"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga8861b474efcb6578c9fe2075ff3e6aef">NPF_WaitEndOfBufferedWrite</a> (<a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a> Open)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Waits the completion of all the sends performed by NPF_BufferedWrite. <a href="group__NPF__code.html#ga8861b474efcb6578c9fe2075ff3e6aef"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gaed126572458eed2dcd18d1824ac86601">NPF_SendComplete</a> (IN NDIS_HANDLE ProtocolBindingContext, IN PNDIS_PACKET pPacket, IN NDIS_STATUS Status)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ends a send operation. <a href="group__NPF__code.html#gaed126572458eed2dcd18d1824ac86601"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga4e7934d9adb1826ed5e9112b9182f74a">NPF_ResetComplete</a> (IN NDIS_HANDLE ProtocolBindingContext, IN NDIS_STATUS Status)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ends a reset of the adapter. <a href="group__NPF__code.html#ga4e7934d9adb1826ed5e9112b9182f74a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga1a8cf4fdeed6e93fcf1f50da654402b7">NPF_Status</a> (IN NDIS_HANDLE ProtocolBindingContext, IN NDIS_STATUS Status, IN PVOID StatusBuffer, IN UINT StatusBufferSize)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Callback for NDIS StatusHandler. Not used by NPF. <a href="group__NPF__code.html#ga1a8cf4fdeed6e93fcf1f50da654402b7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga70f97109adcd6de8b157534e5ecf2e56">NPF_StatusComplete</a> (IN NDIS_HANDLE ProtocolBindingContext)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Callback for NDIS StatusCompleteHandler. Not used by NPF. <a href="group__NPF__code.html#ga70f97109adcd6de8b157534e5ecf2e56"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga5eb5a8e754198d1bbc6572cbc9e59b9c">NPF_Unload</a> (IN PDRIVER_OBJECT DriverObject)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function called by the OS when NPF is unloaded. <a href="group__NPF__code.html#ga5eb5a8e754198d1bbc6572cbc9e59b9c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NTSTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga827b1433b2d08cbac11b3844d721668f">NPF_Read</a> (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function that serves the user's reads. <a href="group__NPF__code.html#ga827b1433b2d08cbac11b3844d721668f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NTSTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga1a3ce25625792c74e5792b8fa86a489c">NPF_ReadRegistry</a> (IN PWSTR *MacDriverName, IN PWSTR *PacketDriverName, IN PUNICODE_STRING RegistryPath)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reads the registry keys associated woth NPF if the driver is manually installed via the control panel. <a href="group__NPF__code.html#ga1a3ce25625792c74e5792b8fa86a489c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NTSTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga8831b54dcd5361e81ddf0d3165f1fb8f">NPF_QueryRegistryRoutine</a> (IN PWSTR ValueName, IN ULONG ValueType, IN PVOID ValueData, IN ULONG ValueLength, IN PVOID Context, IN PVOID EntryContext)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function used by <a class="el" href="group__NPF__code.html#ga1a3ce25625792c74e5792b8fa86a489c" title="Reads the registry keys associated woth NPF if the driver is manually installed via...">NPF_ReadRegistry()</a> to quesry the registry keys associated woth NPF if the driver is manually installed via the control panel. <a href="group__NPF__code.html#ga8831b54dcd5361e81ddf0d3165f1fb8f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga9a78f9937b2d7d00250f49dcaeb5bab0">NPF_BindAdapter</a> (OUT PNDIS_STATUS Status, IN NDIS_HANDLE BindContext, IN PNDIS_STRING DeviceName, IN PVOID SystemSpecific1, IN PVOID SystemSpecific2)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Callback for NDIS BindAdapterHandler. Not used by NPF. <a href="group__NPF__code.html#ga9a78f9937b2d7d00250f49dcaeb5bab0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga54d94e883ff4c580289eefaf0d1fc356">NPF_UnbindAdapter</a> (OUT PNDIS_STATUS Status, IN NDIS_HANDLE ProtocolBindingContext, IN NDIS_HANDLE UnbindContext)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Callback for NDIS UnbindAdapterHandler. <a href="group__NPF__code.html#ga54d94e883ff4c580289eefaf0d1fc356"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NTSTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gae3d1118c72b474fe214517a65afdfe09">NPF_OpenDumpFile</a> (<a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a> Open, PUNICODE_STRING fileName, BOOLEAN append)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates the file that will receive the packets when the driver is in dump mode. <a href="group__NPF__code.html#gae3d1118c72b474fe214517a65afdfe09"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NTSTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gaeffce124cbc3e3ae09bd7a6d10367cbb">NPF_StartDump</a> (<a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a> Open)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Starts dump to file. <a href="group__NPF__code.html#gaeffce124cbc3e3ae09bd7a6d10367cbb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga1566082cef91cf79ba4a855e3f44ede9">NPF_DumpThread</a> (PVOID Open)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The dump thread. <a href="group__NPF__code.html#ga1566082cef91cf79ba4a855e3f44ede9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NTSTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gafcdcf5a4d9bfb8fbdb179963d4c789bd">NPF_SaveCurrentBuffer</a> (<a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a> Open)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Saves the content of the packet buffer to the file associated with current instance. <a href="group__NPF__code.html#gafcdcf5a4d9bfb8fbdb179963d4c789bd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga57b9ee7752f00c8858bda8ca060a033b">NPF_WriteDumpFile</a> (PFILE_OBJECT FileObject, PLARGE_INTEGER Offset, ULONG Length, PMDL Mdl, PIO_STATUS_BLOCK IoStatusBlock)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Writes a block of packets on the dump file. <a href="group__NPF__code.html#ga57b9ee7752f00c8858bda8ca060a033b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NTSTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gac911742b9f71c12c77452614db14c4a1">NPF_CloseDumpFile</a> (<a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a> Open)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Closes the dump file associated with an instance of the driver. <a href="group__NPF__code.html#gac911742b9f71c12c77452614db14c4a1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">BOOLEAN&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga64dab96bfced5d22cc55a42fc6339833">NPF_StartUsingBinding</a> (IN <a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a> pOpen)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gacd54077d4c2d9186486d3504523ba4f0">NPF_StopUsingBinding</a> (IN <a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a> pOpen)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga76d4e48415cea8e0e65ba93d7355b89f">NPF_CloseBinding</a> (IN <a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a> pOpen)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">BOOLEAN&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga504e61b1229a9a604080fc8607b24084">NPF_StartUsingOpenInstance</a> (IN <a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a> pOpen)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga6ceb77291c077b05efd3b588a6a30867">NPF_StopUsingOpenInstance</a> (IN <a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a> pOpen)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga99878d91732973e7b4020d8e42b4cf32">NPF_CloseOpenInstance</a> (IN <a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a> pOpen)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NTSTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga8bad85679d2e8c57f7501052f9b07284">NPF_GetDeviceMTU</a> (IN <a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a> pOpen, IN PIRP pIrp, OUT PUINT pMtu)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">UINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gadd6737f745e21b37b8613b489a96687d">GetBuffOccupation</a> (<a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a> Open)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the amount of bytes present in the packet buffer. <a href="group__NPF__code.html#gadd6737f745e21b37b8613b489a96687d"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Variables</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">ULONG&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga980b14c18716a1788990f8e68fed9420">g_NCpu</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NDIS_HANDLE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga5d6fbe2176d19b191fa7aaac4d6d6bb5">g_NdisProtocolHandle</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct time_conv&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga8bd3dab633cae7a1a47c4ddb2705a31b">G_Start_Time</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">UINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#gab325d08691ab69e4f942f6a418a41db2">g_SendPacketFlags</a></td></tr>
+</table>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/Packet_8h_source.html b/3rdparty/winpcap/docs/html/Packet_8h_source.html
new file mode 100644
index 00000000000..f4293eb752f
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/Packet_8h_source.html
@@ -0,0 +1,572 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Packet.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+<h1>Packet.h</h1><a href="Packet_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (c) 1999 - 2005 NetGroup, Politecnico di Torino (Italy)</span>
+<a name="l00003"></a>00003 <span class="comment"> * Copyright (c) 2005 - 2010 CACE Technologies, Davis (California)</span>
+<a name="l00004"></a>00004 <span class="comment"> * All rights reserved.</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * Redistribution and use in source and binary forms, with or without</span>
+<a name="l00007"></a>00007 <span class="comment"> * modification, are permitted provided that the following conditions</span>
+<a name="l00008"></a>00008 <span class="comment"> * are met:</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * 1. Redistributions of source code must retain the above copyright</span>
+<a name="l00011"></a>00011 <span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
+<a name="l00012"></a>00012 <span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright</span>
+<a name="l00013"></a>00013 <span class="comment"> * notice, this list of conditions and the following disclaimer in the</span>
+<a name="l00014"></a>00014 <span class="comment"> * documentation and/or other materials provided with the distribution.</span>
+<a name="l00015"></a>00015 <span class="comment"> * 3. Neither the name of the Politecnico di Torino, CACE Technologies </span>
+<a name="l00016"></a>00016 <span class="comment"> * nor the names of its contributors may be used to endorse or promote </span>
+<a name="l00017"></a>00017 <span class="comment"> * products derived from this software without specific prior written </span>
+<a name="l00018"></a>00018 <span class="comment"> * permission.</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
+<a name="l00021"></a>00021 <span class="comment"> * &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
+<a name="l00022"></a>00022 <span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
+<a name="l00023"></a>00023 <span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
+<a name="l00024"></a>00024 <span class="comment"> * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
+<a name="l00025"></a>00025 <span class="comment"> * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
+<a name="l00026"></a>00026 <span class="comment"> * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
+<a name="l00027"></a>00027 <span class="comment"> * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
+<a name="l00028"></a>00028 <span class="comment"> * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
+<a name="l00029"></a>00029 <span class="comment"> * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
+<a name="l00030"></a>00030 <span class="comment"> * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
+<a name="l00031"></a>00031 <span class="comment"> *</span>
+<a name="l00032"></a>00032 <span class="comment"> */</span>
+<a name="l00033"></a>00033
+<a name="l00042"></a>00042 <span class="preprocessor">#ifndef __PACKET_INCLUDE______</span>
+<a name="l00043"></a>00043 <span class="preprocessor"></span><span class="preprocessor">#define __PACKET_INCLUDE______</span>
+<a name="l00044"></a>00044 <span class="preprocessor"></span>
+<a name="l00045"></a>00045 <span class="preprocessor">#if !defined(NDIS30) &amp;&amp; !defined(NDIS50)</span>
+<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor">#error NDIS30 or NDIS50 should be defined</span>
+<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00048"></a>00048 <span class="preprocessor"></span>
+<a name="l00049"></a>00049 <span class="preprocessor">#ifdef _X86_</span>
+<a name="l00050"></a>00050 <span class="preprocessor"></span><span class="preprocessor">#define NTKERNEL </span>
+<a name="l00051"></a>00051 <span class="preprocessor">#include &quot;jitter.h&quot;</span>
+<a name="l00052"></a>00052 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00053"></a>00053 <span class="preprocessor"></span>
+<a name="l00054"></a>00054 <span class="preprocessor">#ifdef HAVE_BUGGY_TME_SUPPORT</span>
+<a name="l00055"></a>00055 <span class="preprocessor"></span><span class="preprocessor">#ifndef _X86_</span>
+<a name="l00056"></a>00056 <span class="preprocessor"></span><span class="preprocessor">#error TME support is available only on x86 architectures</span>
+<a name="l00057"></a>00057 <span class="preprocessor"></span><span class="preprocessor">#endif // _X86_</span>
+<a name="l00058"></a>00058 <span class="preprocessor"></span><span class="preprocessor">#endif //HAVE_BUGGY_TME_SUPPORT</span>
+<a name="l00059"></a>00059 <span class="preprocessor"></span>
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 <span class="comment">//</span>
+<a name="l00062"></a>00062 <span class="comment">// Needed to disable a warning due to the #pragma prefast directives,</span>
+<a name="l00063"></a>00063 <span class="comment">// that are ignored by the normal DDK compiler</span>
+<a name="l00064"></a>00064 <span class="comment">//</span>
+<a name="l00065"></a>00065 <span class="preprocessor">#ifndef _PREFAST_</span>
+<a name="l00066"></a>00066 <span class="preprocessor"></span><span class="preprocessor">#pragma warning(disable:4068)</span>
+<a name="l00067"></a>00067 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00068"></a>00068 <span class="preprocessor"></span>
+<a name="l00069"></a>00069 <span class="preprocessor">#include &quot;win_bpf.h&quot;</span>
+<a name="l00070"></a>00070
+<a name="l00071"></a><a class="code" href="group__NPF__include.html#ga8fc96cee4177a369a99de7026ebeba81">00071</a> <span class="preprocessor">#define MAX_REQUESTS 32 </span>
+<a name="l00072"></a>00072 <span class="preprocessor"></span>
+<a name="l00073"></a><a class="code" href="group__NPF__include.html#ga8463d2101446f74b83ed10006d772384">00073</a> <span class="preprocessor"></span><span class="preprocessor">#define Packet_ALIGNMENT sizeof(int) </span>
+<a name="l00074"></a><a class="code" href="group__NPF__include.html#ga6ad53095b69ed77878dc683754e3264a">00074</a> <span class="preprocessor">#define Packet_WORDALIGN(x) (((x)+(Packet_ALIGNMENT-1))&amp;~(Packet_ALIGNMENT-1)) </span>
+<a name="l00075"></a>00075 <span class="preprocessor"></span>
+<a name="l00076"></a>00076 <span class="preprocessor"></span>
+<a name="l00077"></a><a class="code" href="group__NPF__include.html#ga9cd2ca337001428aa9e1cb512a28ecc2">00077</a> <span class="preprocessor"></span><span class="preprocessor">#define KERNEL_EVENT_NAMESPACE L&quot;\\BaseNamedObjects\\&quot;</span>
+<a name="l00078"></a>00078 <span class="preprocessor"></span>
+<a name="l00079"></a>00079
+<a name="l00080"></a>00080 <span class="comment">// Working modes</span>
+<a name="l00081"></a><a class="code" href="group__NPF__include.html#gac93c0a6ad1d2a3143b1115bdab3ac04d">00081</a> <span class="preprocessor">#define MODE_CAPT 0x0 </span>
+<a name="l00082"></a><a class="code" href="group__NPF__include.html#ga503326906a62e96c147ae6af31fb5659">00082</a> <span class="preprocessor">#define MODE_STAT 0x1 </span>
+<a name="l00083"></a><a class="code" href="group__NPF__include.html#ga528e7e542cb1a028a10a3a318880dffb">00083</a> <span class="preprocessor">#define MODE_MON 0x2 </span>
+<a name="l00084"></a><a class="code" href="group__NPF__include.html#ga89853f93dc8cc890b0665629d16d2831">00084</a> <span class="preprocessor">#define MODE_DUMP 0x10 </span>
+<a name="l00085"></a>00085 <span class="preprocessor"></span>
+<a name="l00086"></a>00086 <span class="preprocessor"></span>
+<a name="l00087"></a><a class="code" href="group__NPF__include.html#ga4f6749b7708a411df2a3341a3fcef917">00087</a> <span class="preprocessor">#define IMMEDIATE 1 </span>
+<a name="l00088"></a>00088 <span class="preprocessor"></span>
+<a name="l00089"></a><a class="code" href="group__NPF__include.html#ga0a110077bb4fcbcc75512d8988c90de8">00089</a> <span class="preprocessor"></span><span class="preprocessor">#define NDIS_FLAGS_SKIP_LOOPBACK_W2K 0x400 </span>
+<a name="l00090"></a>00090 <span class="preprocessor"></span>
+<a name="l00091"></a>00091 <span class="preprocessor"></span><span class="comment">// The following definitions are used to provide compatibility </span>
+<a name="l00092"></a>00092 <span class="comment">// of the dump files with the ones of libpcap</span>
+<a name="l00093"></a><a class="code" href="group__NPF__include.html#gafedcc0aa0cf5abe7b20c68eefdfcb126">00093</a> <span class="preprocessor">#define TCPDUMP_MAGIC 0xa1b2c3d4 </span>
+<a name="l00094"></a><a class="code" href="group__NPF__include.html#gaac031371d41e21ff96e80409e05a7ddb">00094</a> <span class="preprocessor">#define PCAP_VERSION_MAJOR 2 </span>
+<a name="l00095"></a><a class="code" href="group__NPF__include.html#ga9c200b070c9f626d38184588b16849c2">00095</a> <span class="preprocessor">#define PCAP_VERSION_MINOR 4 </span>
+<a name="l00096"></a>00096 <span class="preprocessor"></span>
+<a name="l00097"></a>00097 <span class="preprocessor"></span><span class="comment">// Loopback behaviour definitions</span>
+<a name="l00098"></a><a class="code" href="group__NPF__include.html#ga7ccc8974741059b5ae25231a56dbed09">00098</a> <span class="preprocessor">#define NPF_DISABLE_LOOPBACK 1 </span>
+<a name="l00099"></a><a class="code" href="group__NPF__include.html#ga4a60d1f215d5b2af2b3b86a0f2a90ae2">00099</a> <span class="preprocessor">#define NPF_ENABLE_LOOPBACK 2 </span>
+<a name="l00100"></a>00100 <span class="preprocessor"></span>
+<a name="l00101"></a>00101 <span class="preprocessor"></span>
+<a name="l00106"></a><a class="code" href="structpacket__file__header.html">00106</a> <span class="keyword">struct </span><a class="code" href="structpacket__file__header.html" title="Header of a libpcap dump file.">packet_file_header</a>
+<a name="l00107"></a>00107 {
+<a name="l00108"></a><a class="code" href="structpacket__file__header.html#ab396ddef34e11edb49e5edfcc39c2dc7">00108</a> UINT <a class="code" href="structpacket__file__header.html#ab396ddef34e11edb49e5edfcc39c2dc7" title="Libpcap magic number.">magic</a>;
+<a name="l00109"></a><a class="code" href="structpacket__file__header.html#a312dffcaa516df104318626fbdc01a77">00109</a> USHORT <a class="code" href="structpacket__file__header.html#a312dffcaa516df104318626fbdc01a77" title="Libpcap major version.">version_major</a>;
+<a name="l00110"></a><a class="code" href="structpacket__file__header.html#a143bc467378ffbd0460662bd8912082b">00110</a> USHORT <a class="code" href="structpacket__file__header.html#a143bc467378ffbd0460662bd8912082b" title="Libpcap minor version.">version_minor</a>;
+<a name="l00111"></a><a class="code" href="structpacket__file__header.html#ab0f3e0ccc83861eb84cd3da32f01f090">00111</a> UINT <a class="code" href="structpacket__file__header.html#ab0f3e0ccc83861eb84cd3da32f01f090" title="Gmt to local correction.">thiszone</a>;
+<a name="l00112"></a><a class="code" href="structpacket__file__header.html#a5938c470e9e548ad2ac04923725e7721">00112</a> UINT <a class="code" href="structpacket__file__header.html#a5938c470e9e548ad2ac04923725e7721" title="Accuracy of timestamps.">sigfigs</a>;
+<a name="l00113"></a><a class="code" href="structpacket__file__header.html#a45b189420d67014dba25bd13da85ddae">00113</a> UINT <a class="code" href="structpacket__file__header.html#a45b189420d67014dba25bd13da85ddae" title="Length of the max saved portion of each packet.">snaplen</a>;
+<a name="l00114"></a><a class="code" href="structpacket__file__header.html#ab2a8854181cde7a065a43380b56fd2a1">00114</a> UINT <a class="code" href="structpacket__file__header.html#ab2a8854181cde7a065a43380b56fd2a1" title="Data link type (DLT_*). See win_bpf.h for details.">linktype</a>;
+<a name="l00115"></a>00115 };
+<a name="l00116"></a>00116
+<a name="l00121"></a><a class="code" href="structsf__pkthdr.html">00121</a> <span class="keyword">struct </span><a class="code" href="structsf__pkthdr.html" title="Header associated to a packet in the driver&amp;#39;s buffer when the driver is in dump...">sf_pkthdr</a> {
+<a name="l00122"></a><a class="code" href="structsf__pkthdr.html#a21be78b2818c91cb205885b8a6f5aed8">00122</a> <span class="keyword">struct </span>timeval <a class="code" href="structsf__pkthdr.html#a21be78b2818c91cb205885b8a6f5aed8" title="time stamp">ts</a>;
+<a name="l00123"></a><a class="code" href="structsf__pkthdr.html#addde4bcd837b0ac2f4ab6472162c8ec2">00123</a> UINT <a class="code" href="structsf__pkthdr.html#addde4bcd837b0ac2f4ab6472162c8ec2">caplen</a>;
+<a name="l00124"></a>00124
+<a name="l00125"></a>00125
+<a name="l00126"></a><a class="code" href="structsf__pkthdr.html#aacda8195c98d3cc32ebece7b17dac774">00126</a> UINT <a class="code" href="structsf__pkthdr.html#aacda8195c98d3cc32ebece7b17dac774" title="Length of the original packet (off wire).">len</a>;
+<a name="l00127"></a>00127 };
+<a name="l00128"></a>00128
+<a name="l00129"></a>00129 <span class="comment">//</span>
+<a name="l00130"></a>00130 <span class="comment">// NT4 DDK doesn&apos;t have C_ASSERT</span>
+<a name="l00131"></a>00131 <span class="comment">//</span>
+<a name="l00132"></a>00132 <span class="preprocessor">#ifndef C_ASSERT</span>
+<a name="l00133"></a><a class="code" href="group__NPF__include.html#ga7300b6880da1b61717e7ff815d579bf6">00133</a> <span class="preprocessor"></span><span class="preprocessor">#define C_ASSERT(a)</span>
+<a name="l00134"></a>00134 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00135"></a>00135 <span class="preprocessor"></span>
+<a name="l00143"></a><a class="code" href="struct__PACKET__OID__DATA.html">00143</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__PACKET__OID__DATA.html" title="Structure containing an OID request.">_PACKET_OID_DATA</a> {
+<a name="l00144"></a><a class="code" href="struct__PACKET__OID__DATA.html#a7f776f07ead21514e4c48555980644c8">00144</a> ULONG <a class="code" href="struct__PACKET__OID__DATA.html#a7f776f07ead21514e4c48555980644c8">Oid</a>;
+<a name="l00145"></a>00145
+<a name="l00146"></a><a class="code" href="struct__PACKET__OID__DATA.html#abfb371817eb1c8f0d8a165bb2b798092">00146</a> ULONG <a class="code" href="struct__PACKET__OID__DATA.html#abfb371817eb1c8f0d8a165bb2b798092" title="Length of the data field.">Length</a>;
+<a name="l00147"></a><a class="code" href="struct__PACKET__OID__DATA.html#a4cbcc2ef0ca2424d2488748b944f4507">00147</a> UCHAR <a class="code" href="struct__PACKET__OID__DATA.html#a4cbcc2ef0ca2424d2488748b944f4507">Data</a>[1];
+<a name="l00148"></a>00148
+<a name="l00149"></a>00149 }
+<a name="l00150"></a>00150 <a class="code" href="struct__PACKET__OID__DATA.html" title="Structure containing an OID request.">PACKET_OID_DATA</a>, *<a class="code" href="struct__PACKET__OID__DATA.html" title="Structure containing an OID request.">PPACKET_OID_DATA</a>;
+<a name="l00151"></a>00151
+<a name="l00152"></a>00152 <a class="code" href="group__NPF__include.html#ga7300b6880da1b61717e7ff815d579bf6">C_ASSERT</a>(<span class="keyword">sizeof</span>(<a class="code" href="struct__PACKET__OID__DATA.html" title="Structure containing an OID request.">PACKET_OID_DATA</a>) == 12);
+<a name="l00153"></a>00153
+<a name="l00163"></a><a class="code" href="struct__INTERNAL__REQUEST.html">00163</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__INTERNAL__REQUEST.html" title="Stores an OID request.">_INTERNAL_REQUEST</a> {
+<a name="l00164"></a><a class="code" href="struct__INTERNAL__REQUEST.html#a52c50c47cc14f9989d741158ef6da1b9">00164</a> LIST_ENTRY <a class="code" href="struct__INTERNAL__REQUEST.html#a52c50c47cc14f9989d741158ef6da1b9" title="Used to handle lists of requests.">ListElement</a>;
+<a name="l00165"></a>00165 <span class="comment">// PIRP Irp; ///&lt; Irp that performed the request</span>
+<a name="l00166"></a>00166 <span class="comment">// BOOLEAN Internal; ///&lt; True if the request is for internal use of npf.sys. False if the request is performed by the user through an IOCTL.</span>
+<a name="l00167"></a><a class="code" href="struct__INTERNAL__REQUEST.html#aa27c26f410846e10408bc8ac558430b9">00167</a> NDIS_EVENT <a class="code" href="struct__INTERNAL__REQUEST.html#aa27c26f410846e10408bc8ac558430b9">InternalRequestCompletedEvent</a>;
+<a name="l00168"></a><a class="code" href="struct__INTERNAL__REQUEST.html#a9d22abed5e537b5a86700c0cae0aeeda">00168</a> NDIS_REQUEST <a class="code" href="struct__INTERNAL__REQUEST.html#a9d22abed5e537b5a86700c0cae0aeeda" title="The structure with the actual request, that will be passed to NdisRequest().">Request</a>;
+<a name="l00169"></a><a class="code" href="struct__INTERNAL__REQUEST.html#a1948690a3012c81acf392ba489b32b60">00169</a> NDIS_STATUS <a class="code" href="struct__INTERNAL__REQUEST.html#a1948690a3012c81acf392ba489b32b60">RequestStatus</a>;
+<a name="l00170"></a>00170
+<a name="l00171"></a>00171 } <a class="code" href="struct__INTERNAL__REQUEST.html" title="Stores an OID request.">INTERNAL_REQUEST</a>, *<a class="code" href="struct__INTERNAL__REQUEST.html" title="Stores an OID request.">PINTERNAL_REQUEST</a>;
+<a name="l00172"></a>00172
+<a name="l00180"></a><a class="code" href="struct__PACKET__RESERVED.html">00180</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__PACKET__RESERVED.html" title="Contains a NDIS packet.">_PACKET_RESERVED</a> {
+<a name="l00181"></a><a class="code" href="struct__PACKET__RESERVED.html#a52c50c47cc14f9989d741158ef6da1b9">00181</a> LIST_ENTRY <a class="code" href="struct__PACKET__RESERVED.html#a52c50c47cc14f9989d741158ef6da1b9" title="Used to handle lists of packets.">ListElement</a>;
+<a name="l00182"></a><a class="code" href="struct__PACKET__RESERVED.html#a4bee02d146b824008b9d03379b085b1e">00182</a> PIRP <a class="code" href="struct__PACKET__RESERVED.html#a4bee02d146b824008b9d03379b085b1e" title="Irp that performed the request.">Irp</a>;
+<a name="l00183"></a><a class="code" href="struct__PACKET__RESERVED.html#a3bbb67b64845622d97356325852ef6be">00183</a> PMDL <a class="code" href="struct__PACKET__RESERVED.html#a3bbb67b64845622d97356325852ef6be" title="MDL mapping the buffer of the packet.">pMdl</a>;
+<a name="l00184"></a><a class="code" href="struct__PACKET__RESERVED.html#abc42eac7c5d3593aa809edceadb0743f">00184</a> BOOLEAN <a class="code" href="struct__PACKET__RESERVED.html#abc42eac7c5d3593aa809edceadb0743f">FreeBufAfterWrite</a>;
+<a name="l00185"></a>00185
+<a name="l00186"></a><a class="code" href="struct__PACKET__RESERVED.html#a761baf004d76cf5faf3c898787fceeb6">00186</a> ULONG <a class="code" href="struct__PACKET__RESERVED.html#a761baf004d76cf5faf3c898787fceeb6" title="The CPU on which the packet was pulled out of the linked list of free packets.">Cpu</a>;
+<a name="l00187"></a>00187 } <a class="code" href="struct__PACKET__RESERVED.html" title="Contains a NDIS packet.">PACKET_RESERVED</a>, *<a class="code" href="struct__PACKET__RESERVED.html" title="Contains a NDIS packet.">PPACKET_RESERVED</a>;
+<a name="l00188"></a>00188
+<a name="l00189"></a><a class="code" href="group__NPF__include.html#ga048ba8dfabc6ac16c602a1ca6fe994fc">00189</a> <span class="preprocessor">#define RESERVED(_p) ((PPACKET_RESERVED)((_p)-&gt;ProtocolReserved)) </span>
+<a name="l00190"></a>00190 <span class="preprocessor"></span>
+<a name="l00191"></a>00191 <span class="preprocessor"></span>
+<a name="l00196"></a><a class="code" href="struct__DEVICE__EXTENSION.html">00196</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__DEVICE__EXTENSION.html" title="Port device extension.">_DEVICE_EXTENSION</a> {
+<a name="l00197"></a><a class="code" href="struct__DEVICE__EXTENSION.html#a8201dab43dd06ad55b93317cbbd54211">00197</a> NDIS_STRING <a class="code" href="struct__DEVICE__EXTENSION.html#a8201dab43dd06ad55b93317cbbd54211" title="Name of the adapter.">AdapterName</a>;
+<a name="l00198"></a><a class="code" href="struct__DEVICE__EXTENSION.html#a147b6ff0677e88b5721e51ab7759121a">00198</a> PWSTR <a class="code" href="struct__DEVICE__EXTENSION.html#a147b6ff0677e88b5721e51ab7759121a">ExportString</a>;
+<a name="l00199"></a>00199
+<a name="l00200"></a>00200 } <a class="code" href="struct__DEVICE__EXTENSION.html" title="Port device extension.">DEVICE_EXTENSION</a>, *<a class="code" href="struct__DEVICE__EXTENSION.html" title="Port device extension.">PDEVICE_EXTENSION</a>;
+<a name="l00201"></a>00201
+<a name="l00207"></a><a class="code" href="struct____CPU__Private__Data.html">00207</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct____CPU__Private__Data.html" title="Kernel buffer of each CPU.">__CPU_Private_Data</a>
+<a name="l00208"></a>00208 {
+<a name="l00209"></a><a class="code" href="struct____CPU__Private__Data.html#a897d2179904e0d6fafd73b3d400052de">00209</a> ULONG <a class="code" href="struct____CPU__Private__Data.html#a897d2179904e0d6fafd73b3d400052de" title="Zero-based index of the producer in the buffer. It indicates the first free byte...">P</a>;
+<a name="l00210"></a><a class="code" href="struct____CPU__Private__Data.html#a2df61425b58c12f1de6f0e6aaeb131ea">00210</a> ULONG <a class="code" href="struct____CPU__Private__Data.html#a2df61425b58c12f1de6f0e6aaeb131ea" title="Zero-based index of the consumer in the buffer. It indicates the first free byte...">C</a>;
+<a name="l00211"></a><a class="code" href="struct____CPU__Private__Data.html#acaf5ef1e959170b06d01fc65a27bb951">00211</a> ULONG <a class="code" href="struct____CPU__Private__Data.html#acaf5ef1e959170b06d01fc65a27bb951" title="Number of the free bytes in the buffer.">Free</a>;
+<a name="l00212"></a><a class="code" href="struct____CPU__Private__Data.html#a7ed9f5e612c567cfa25af0f46a25dad4">00212</a> PUCHAR <a class="code" href="struct____CPU__Private__Data.html#a7ed9f5e612c567cfa25af0f46a25dad4" title="Pointer to the kernel buffer used to capture packets.">Buffer</a>;
+<a name="l00213"></a><a class="code" href="struct____CPU__Private__Data.html#ac723ebbda9ff2ef8e4d773c7305db1f6">00213</a> ULONG <a class="code" href="struct____CPU__Private__Data.html#ac723ebbda9ff2ef8e4d773c7305db1f6">Accepted</a>;
+<a name="l00214"></a>00214
+<a name="l00215"></a>00215
+<a name="l00216"></a>00216
+<a name="l00217"></a><a class="code" href="struct____CPU__Private__Data.html#a82febc79f3f3bbf857a4fd34447b5ca2">00217</a> ULONG <a class="code" href="struct____CPU__Private__Data.html#a82febc79f3f3bbf857a4fd34447b5ca2">Received</a>;
+<a name="l00218"></a>00218
+<a name="l00219"></a>00219
+<a name="l00220"></a>00220
+<a name="l00221"></a><a class="code" href="struct____CPU__Private__Data.html#a04eecb86252e644a73f38346274340dc">00221</a> ULONG <a class="code" href="struct____CPU__Private__Data.html#a04eecb86252e644a73f38346274340dc">Dropped</a>;
+<a name="l00222"></a>00222
+<a name="l00223"></a>00223
+<a name="l00224"></a>00224
+<a name="l00225"></a><a class="code" href="struct____CPU__Private__Data.html#a59c9030d87b24c9cb4efdabe9c7b9337">00225</a> NDIS_SPIN_LOCK <a class="code" href="struct____CPU__Private__Data.html#a59c9030d87b24c9cb4efdabe9c7b9337" title="It protects the buffer associated with this CPU.">BufferLock</a>;
+<a name="l00226"></a><a class="code" href="struct____CPU__Private__Data.html#acae03ade5065032ceaeef0bd03217b4f">00226</a> PMDL <a class="code" href="struct____CPU__Private__Data.html#acae03ade5065032ceaeef0bd03217b4f" title="MDL used to map the portion of the buffer that will contain an incoming packet.">TransferMdl1</a>;
+<a name="l00227"></a><a class="code" href="struct____CPU__Private__Data.html#a17b59e156d00ef5c76bdfe454c73ca49">00227</a> PMDL <a class="code" href="struct____CPU__Private__Data.html#a17b59e156d00ef5c76bdfe454c73ca49" title="Second MDL used to map the portion of the buffer that will contain an incoming packet...">TransferMdl2</a>;
+<a name="l00228"></a><a class="code" href="struct____CPU__Private__Data.html#a58f2c915dfc7041ccb0d568eb79b494e">00228</a> ULONG <a class="code" href="struct____CPU__Private__Data.html#a58f2c915dfc7041ccb0d568eb79b494e" title="Used by NdisTransferData() (when we call NdisTransferData, p index must be updated...">NewP</a>;
+<a name="l00229"></a>00229 }
+<a name="l00230"></a>00230 <a class="code" href="struct____CPU__Private__Data.html" title="Kernel buffer of each CPU.">CpuPrivateData</a>;
+<a name="l00231"></a>00231
+<a name="l00232"></a>00232
+<a name="l00240"></a><a class="code" href="struct__OPEN__INSTANCE.html">00240</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__OPEN__INSTANCE.html" title="Contains the state of a running instance of the NPF driver.">_OPEN_INSTANCE</a>
+<a name="l00241"></a>00241 {
+<a name="l00242"></a><a class="code" href="struct__OPEN__INSTANCE.html#aaa72c26b5a1b98197da412302325e009">00242</a> PDEVICE_EXTENSION <a class="code" href="struct__OPEN__INSTANCE.html#aaa72c26b5a1b98197da412302325e009">DeviceExtension</a>;
+<a name="l00243"></a>00243
+<a name="l00244"></a><a class="code" href="struct__OPEN__INSTANCE.html#aa017f65671fb96e4a0d3e875536579df">00244</a> NDIS_HANDLE <a class="code" href="struct__OPEN__INSTANCE.html#aa017f65671fb96e4a0d3e875536579df" title="NDIS idetifier of the adapter used by this instance.">AdapterHandle</a>;
+<a name="l00245"></a><a class="code" href="struct__OPEN__INSTANCE.html#af6a81c046e634d6149550d3475924c05">00245</a> UINT <a class="code" href="struct__OPEN__INSTANCE.html#af6a81c046e634d6149550d3475924c05">Medium</a>;
+<a name="l00246"></a>00246
+<a name="l00247"></a><a class="code" href="struct__OPEN__INSTANCE.html#abb035c7e10216edcf41fa1576fecca42">00247</a> NDIS_HANDLE <a class="code" href="struct__OPEN__INSTANCE.html#abb035c7e10216edcf41fa1576fecca42" title="Pool of NDIS_PACKET structures used to transfer the packets from and to the NIC driver...">PacketPool</a>;
+<a name="l00248"></a><a class="code" href="struct__OPEN__INSTANCE.html#abe53f2762ef5451c80b2fcadeff59884">00248</a> KSPIN_LOCK <a class="code" href="struct__OPEN__INSTANCE.html#abe53f2762ef5451c80b2fcadeff59884" title="SpinLock used to synchronize the OID requests.">RequestSpinLock</a>;
+<a name="l00249"></a><a class="code" href="struct__OPEN__INSTANCE.html#a805c530d7fa5f6078b9170dc0cd03f5c">00249</a> LIST_ENTRY <a class="code" href="struct__OPEN__INSTANCE.html#a805c530d7fa5f6078b9170dc0cd03f5c" title="List of pending OID requests.">RequestList</a>;
+<a name="l00250"></a><a class="code" href="struct__OPEN__INSTANCE.html#a1836c9a11084bf113d902946c5c41499">00250</a> LIST_ENTRY <a class="code" href="struct__OPEN__INSTANCE.html#a1836c9a11084bf113d902946c5c41499" title="List of pending adapter reset requests.">ResetIrpList</a>;
+<a name="l00251"></a><a class="code" href="struct__OPEN__INSTANCE.html#a9a6854a154d332159dbcb19e5d104441">00251</a> <a class="code" href="struct__INTERNAL__REQUEST.html" title="Stores an OID request.">INTERNAL_REQUEST</a> <a class="code" href="struct__OPEN__INSTANCE.html#a9a6854a154d332159dbcb19e5d104441" title="Array of structures that wrap every single OID request.">Requests</a>[<a class="code" href="group__NPF__include.html#ga8fc96cee4177a369a99de7026ebeba81" title="Maximum number of simultaneous IOCTL requests.">MAX_REQUESTS</a>];
+<a name="l00252"></a><a class="code" href="struct__OPEN__INSTANCE.html#a006227bc7ca0b2df920a8adfb7740ecb">00252</a> PMDL <a class="code" href="struct__OPEN__INSTANCE.html#a006227bc7ca0b2df920a8adfb7740ecb" title="Pointer to a Memory descriptor list (MDL) that maps the circular buffer&amp;#39;s memory...">BufferMdl</a>;
+<a name="l00253"></a><a class="code" href="struct__OPEN__INSTANCE.html#a6139735ab3e4fa797d344e314bba6473">00253</a> PKEVENT <a class="code" href="struct__OPEN__INSTANCE.html#a6139735ab3e4fa797d344e314bba6473" title="Pointer to the event on which the read calls on this instance must wait.">ReadEvent</a>;
+<a name="l00254"></a><a class="code" href="struct__OPEN__INSTANCE.html#a312a1a6ffddf98f960cd0ac2d56fce52">00254</a> PUCHAR <a class="code" href="struct__OPEN__INSTANCE.html#a312a1a6ffddf98f960cd0ac2d56fce52">bpfprogram</a>;
+<a name="l00255"></a>00255
+<a name="l00256"></a>00256
+<a name="l00257"></a>00257
+<a name="l00258"></a>00258
+<a name="l00259"></a>00259 <span class="preprocessor">#ifdef _X86_</span>
+<a name="l00260"></a>00260 <span class="preprocessor"></span> <a class="code" href="structJIT__BPF__Filter.html" title="Structure describing a x86 filtering program created by the jitter.">JIT_BPF_Filter</a> *Filter;
+<a name="l00261"></a>00261
+<a name="l00262"></a>00262 <span class="preprocessor">#endif //_X86_</span>
+<a name="l00263"></a><a class="code" href="struct__OPEN__INSTANCE.html#a263f7d6f5db5625541d275380685f0b1">00263</a> <span class="preprocessor"></span> UINT <a class="code" href="struct__OPEN__INSTANCE.html#a263f7d6f5db5625541d275380685f0b1">MinToCopy</a>;
+<a name="l00264"></a>00264
+<a name="l00265"></a><a class="code" href="struct__OPEN__INSTANCE.html#aa6709070de8443c026e3b86913942c2b">00265</a> LARGE_INTEGER <a class="code" href="struct__OPEN__INSTANCE.html#aa6709070de8443c026e3b86913942c2b">TimeOut</a>;
+<a name="l00266"></a>00266
+<a name="l00267"></a>00267
+<a name="l00268"></a><a class="code" href="struct__OPEN__INSTANCE.html#a1ea5d0cb93f22f7d0fdf804bd68c3326">00268</a> <span class="keywordtype">int</span> <a class="code" href="struct__OPEN__INSTANCE.html#a1ea5d0cb93f22f7d0fdf804bd68c3326" title="Working mode of the driver. See PacketSetMode() for details.">mode</a>;
+<a name="l00269"></a><a class="code" href="struct__OPEN__INSTANCE.html#a87b5968c02200b033f7c6e15da439e62">00269</a> LARGE_INTEGER <a class="code" href="struct__OPEN__INSTANCE.html#a87b5968c02200b033f7c6e15da439e62" title="Amount of bytes accepted by the filter when this instance is in statistical mode...">Nbytes</a>;
+<a name="l00270"></a><a class="code" href="struct__OPEN__INSTANCE.html#a51a42386327e2a337854dd20cbe83061">00270</a> LARGE_INTEGER <a class="code" href="struct__OPEN__INSTANCE.html#a51a42386327e2a337854dd20cbe83061" title="Number of packets accepted by the filter when this instance is in statistical mode...">Npackets</a>;
+<a name="l00271"></a><a class="code" href="struct__OPEN__INSTANCE.html#a7bd68a3950090232f1147e501a4ccf78">00271</a> NDIS_SPIN_LOCK <a class="code" href="struct__OPEN__INSTANCE.html#a7bd68a3950090232f1147e501a4ccf78" title="SpinLock that protects the statistical mode counters.">CountersLock</a>;
+<a name="l00272"></a><a class="code" href="struct__OPEN__INSTANCE.html#af6b5b0a348f7a40d795b554b0eceed73">00272</a> UINT <a class="code" href="struct__OPEN__INSTANCE.html#af6b5b0a348f7a40d795b554b0eceed73">Nwrites</a>;
+<a name="l00273"></a>00273
+<a name="l00274"></a><a class="code" href="struct__OPEN__INSTANCE.html#aaa76c3b87b73baaa785c459188d769e0">00274</a> ULONG <a class="code" href="struct__OPEN__INSTANCE.html#aaa76c3b87b73baaa785c459188d769e0" title="Counts the number of times a single write has already physically repeated.">Multiple_Write_Counter</a>;
+<a name="l00275"></a><a class="code" href="struct__OPEN__INSTANCE.html#a46f6423b318291c7cc6ae32c226b33fd">00275</a> NDIS_EVENT <a class="code" href="struct__OPEN__INSTANCE.html#a46f6423b318291c7cc6ae32c226b33fd" title="Event used to synchronize the multiple write process.">WriteEvent</a>;
+<a name="l00276"></a><a class="code" href="struct__OPEN__INSTANCE.html#af854d4eefa0f15302eaccee06e1ef447">00276</a> BOOLEAN <a class="code" href="struct__OPEN__INSTANCE.html#af854d4eefa0f15302eaccee06e1ef447">WriteInProgress</a>;
+<a name="l00277"></a>00277
+<a name="l00278"></a><a class="code" href="struct__OPEN__INSTANCE.html#a44ab7ba650b09972a0677958ad0ea4e0">00278</a> NDIS_SPIN_LOCK <a class="code" href="struct__OPEN__INSTANCE.html#a44ab7ba650b09972a0677958ad0ea4e0" title="SpinLock that protects the WriteInProgress variable.">WriteLock</a>;
+<a name="l00279"></a><a class="code" href="struct__OPEN__INSTANCE.html#af63559424b5849687cc5c5fbad184c0f">00279</a> NDIS_EVENT <a class="code" href="struct__OPEN__INSTANCE.html#af63559424b5849687cc5c5fbad184c0f" title="Event used to synchronize I/O requests with the callback structure of NDIS.">NdisRequestEvent</a>;
+<a name="l00280"></a><a class="code" href="struct__OPEN__INSTANCE.html#a445a6029d067430cd761ae692443b573">00280</a> BOOLEAN <a class="code" href="struct__OPEN__INSTANCE.html#a445a6029d067430cd761ae692443b573" title="True if this instance should not capture back the packets that it transmits.">SkipSentPackets</a>;
+<a name="l00281"></a><a class="code" href="struct__OPEN__INSTANCE.html#af4f46bc8ed07a40605aeac6743a3e760">00281</a> NDIS_STATUS <a class="code" href="struct__OPEN__INSTANCE.html#af4f46bc8ed07a40605aeac6743a3e760" title="Maintains the status of and OID request call, that will be passed to the application...">IOStatus</a>;
+<a name="l00282"></a><a class="code" href="struct__OPEN__INSTANCE.html#affef27f71b541e5dfab6a3dc9ea7dd86">00282</a> HANDLE <a class="code" href="struct__OPEN__INSTANCE.html#affef27f71b541e5dfab6a3dc9ea7dd86" title="Handle of the file used in dump mode.">DumpFileHandle</a>;
+<a name="l00283"></a><a class="code" href="struct__OPEN__INSTANCE.html#a093d2624638004aafcc3193328cf2626">00283</a> PFILE_OBJECT <a class="code" href="struct__OPEN__INSTANCE.html#a093d2624638004aafcc3193328cf2626" title="Pointer to the object of the file used in dump mode.">DumpFileObject</a>;
+<a name="l00284"></a><a class="code" href="struct__OPEN__INSTANCE.html#af5fc8480398782ff1f676f25f5097768">00284</a> PKTHREAD <a class="code" href="struct__OPEN__INSTANCE.html#af5fc8480398782ff1f676f25f5097768" title="Pointer to the object of the thread used in dump mode.">DumpThreadObject</a>;
+<a name="l00285"></a><a class="code" href="struct__OPEN__INSTANCE.html#afb4bb3d6e021e9b1cc1206fa23d4c8f7">00285</a> HANDLE <a class="code" href="struct__OPEN__INSTANCE.html#afb4bb3d6e021e9b1cc1206fa23d4c8f7" title="Handle of the thread created by dump mode to asynchronously move the buffer to disk...">DumpThreadHandle</a>;
+<a name="l00286"></a><a class="code" href="struct__OPEN__INSTANCE.html#a1485cbdca5f70ed6a4eb8fd26feec1e0">00286</a> NDIS_EVENT <a class="code" href="struct__OPEN__INSTANCE.html#a1485cbdca5f70ed6a4eb8fd26feec1e0" title="Event used to synchronize the dump thread with the tap when the instance is in dump...">DumpEvent</a>;
+<a name="l00287"></a><a class="code" href="struct__OPEN__INSTANCE.html#a00c3ae6811320e03dea5b400fc5f9da8">00287</a> LARGE_INTEGER <a class="code" href="struct__OPEN__INSTANCE.html#a00c3ae6811320e03dea5b400fc5f9da8" title="Current offset in the dump file.">DumpOffset</a>;
+<a name="l00288"></a><a class="code" href="struct__OPEN__INSTANCE.html#ad26771cfc74dde2d2ce22b38db3124b0">00288</a> UNICODE_STRING <a class="code" href="struct__OPEN__INSTANCE.html#ad26771cfc74dde2d2ce22b38db3124b0" title="String containing the name of the dump file.">DumpFileName</a>;
+<a name="l00289"></a><a class="code" href="struct__OPEN__INSTANCE.html#acfde736fb2a011607da168a05b5100b0">00289</a> UINT <a class="code" href="struct__OPEN__INSTANCE.html#acfde736fb2a011607da168a05b5100b0">MaxDumpBytes</a>;
+<a name="l00290"></a>00290
+<a name="l00291"></a><a class="code" href="struct__OPEN__INSTANCE.html#a3f6accd17a8dccf9b44acc678510a094">00291</a> UINT <a class="code" href="struct__OPEN__INSTANCE.html#a3f6accd17a8dccf9b44acc678510a094">MaxDumpPacks</a>;
+<a name="l00292"></a>00292
+<a name="l00293"></a>00293
+<a name="l00294"></a><a class="code" href="struct__OPEN__INSTANCE.html#a612913cea459725cff2085d29e534aae">00294</a> BOOLEAN <a class="code" href="struct__OPEN__INSTANCE.html#a612913cea459725cff2085d29e534aae">DumpLimitReached</a>;
+<a name="l00295"></a>00295
+<a name="l00296"></a>00296 <span class="preprocessor">#ifdef HAVE_BUGGY_TME_SUPPORT</span>
+<a name="l00297"></a>00297 <span class="preprocessor"></span> MEM_TYPE mem_ex;
+<a name="l00298"></a>00298 TME_CORE tme;
+<a name="l00299"></a>00299 <span class="preprocessor">#endif //HAVE_BUGGY_TME_SUPPORT</span>
+<a name="l00300"></a>00300 <span class="preprocessor"></span>
+<a name="l00301"></a><a class="code" href="struct__OPEN__INSTANCE.html#afe174f20f512159a454365613846eca5">00301</a> NDIS_SPIN_LOCK <a class="code" href="struct__OPEN__INSTANCE.html#afe174f20f512159a454365613846eca5" title="SpinLock that protects the BPF filter and the TME engine, if in use.">MachineLock</a>;
+<a name="l00302"></a><a class="code" href="struct__OPEN__INSTANCE.html#ac672771358770d24087aaa12a80d01cb">00302</a> UINT <a class="code" href="struct__OPEN__INSTANCE.html#ac672771358770d24087aaa12a80d01cb">MaxFrameSize</a>;
+<a name="l00303"></a>00303
+<a name="l00304"></a>00304 <span class="comment">//</span>
+<a name="l00305"></a>00305 <span class="comment">// KAFFINITY is used as a bit mask for the affinity in the system. So on every supported OS is big enough for all the CPUs on the system (32 bits on x86, 64 on x64?).</span>
+<a name="l00306"></a>00306 <span class="comment">// We use its size to compute the max number of CPUs.</span>
+<a name="l00307"></a>00307 <span class="comment">//</span>
+<a name="l00308"></a><a class="code" href="struct__OPEN__INSTANCE.html#a289c7590d7f5d96fa9051d20c2a95a04">00308</a> <a class="code" href="struct____CPU__Private__Data.html" title="Kernel buffer of each CPU.">CpuPrivateData</a> <a class="code" href="struct__OPEN__INSTANCE.html#a289c7590d7f5d96fa9051d20c2a95a04" title="Pool of kernel buffer structures, one for each CPU.">CpuData</a>[<span class="keyword">sizeof</span>(KAFFINITY) * 8];
+<a name="l00309"></a><a class="code" href="struct__OPEN__INSTANCE.html#a80fd41275e80049cbe8238917a1dfb33">00309</a> ULONG <a class="code" href="struct__OPEN__INSTANCE.html#a80fd41275e80049cbe8238917a1dfb33" title="Sequence number of the next packet to be read from the pool of kernel buffers.">ReaderSN</a>;
+<a name="l00310"></a><a class="code" href="struct__OPEN__INSTANCE.html#ae58565fec941091aa7164b49121ffe2b">00310</a> ULONG <a class="code" href="struct__OPEN__INSTANCE.html#ae58565fec941091aa7164b49121ffe2b">WriterSN</a>;
+<a name="l00311"></a>00311
+<a name="l00312"></a><a class="code" href="struct__OPEN__INSTANCE.html#a1ce5ea4c97c82145e50d4b5157889a0e">00312</a> ULONG <a class="code" href="struct__OPEN__INSTANCE.html#a1ce5ea4c97c82145e50d4b5157889a0e" title="Size of each kernel buffer contained in the CpuData field.">Size</a>;
+<a name="l00313"></a><a class="code" href="struct__OPEN__INSTANCE.html#a7157ac074af79faeddb2feef7a891af7">00313</a> ULONG <a class="code" href="struct__OPEN__INSTANCE.html#a7157ac074af79faeddb2feef7a891af7">AdapterHandleUsageCounter</a>;
+<a name="l00314"></a><a class="code" href="struct__OPEN__INSTANCE.html#adbc32cf0b83107c2ad2785b8c71a946b">00314</a> NDIS_SPIN_LOCK <a class="code" href="struct__OPEN__INSTANCE.html#adbc32cf0b83107c2ad2785b8c71a946b">AdapterHandleLock</a>;
+<a name="l00315"></a><a class="code" href="struct__OPEN__INSTANCE.html#aa8dd1c538f9932a866ac342d50277929">00315</a> ULONG <a class="code" href="struct__OPEN__INSTANCE.html#aa8dd1c538f9932a866ac342d50277929" title="Specifies if NPF is still bound to the adapter used by this instance, it&amp;#39;s unbinding...">AdapterBindingStatus</a>;
+<a name="l00316"></a>00316
+<a name="l00317"></a><a class="code" href="struct__OPEN__INSTANCE.html#a58faf70e2b245f7d3f2b1a90257e823e">00317</a> NDIS_EVENT <a class="code" href="struct__OPEN__INSTANCE.html#a58faf70e2b245f7d3f2b1a90257e823e">NdisOpenCloseCompleteEvent</a>;
+<a name="l00318"></a><a class="code" href="struct__OPEN__INSTANCE.html#ae16d8f96321924cea79edfba9a2aed9f">00318</a> NDIS_EVENT <a class="code" href="struct__OPEN__INSTANCE.html#ae16d8f96321924cea79edfba9a2aed9f" title="Event that is signalled when all the packets have been successfully sent by NdisSend...">NdisWriteCompleteEvent</a>;
+<a name="l00319"></a><a class="code" href="struct__OPEN__INSTANCE.html#ae3c547ec9f715618b461b221fa2e3f09">00319</a> NTSTATUS <a class="code" href="struct__OPEN__INSTANCE.html#ae3c547ec9f715618b461b221fa2e3f09">OpenCloseStatus</a>;
+<a name="l00320"></a><a class="code" href="struct__OPEN__INSTANCE.html#a3134a9bd6b67acf8eb8f5fd7a36228d7">00320</a> ULONG <a class="code" href="struct__OPEN__INSTANCE.html#a3134a9bd6b67acf8eb8f5fd7a36228d7" title="Specifies the number of packets that are pending to be transmitted, i.e. have been...">TransmitPendingPackets</a>;
+<a name="l00321"></a><a class="code" href="struct__OPEN__INSTANCE.html#ad829423b08d53cd76dc8bed902d5af72">00321</a> ULONG <a class="code" href="struct__OPEN__INSTANCE.html#ad829423b08d53cd76dc8bed902d5af72">NumPendingIrps</a>;
+<a name="l00322"></a><a class="code" href="struct__OPEN__INSTANCE.html#ae00f3e1e556edb44c5bbf7f4f75f117a">00322</a> BOOLEAN <a class="code" href="struct__OPEN__INSTANCE.html#ae00f3e1e556edb44c5bbf7f4f75f117a">ClosePending</a>;
+<a name="l00323"></a><a class="code" href="struct__OPEN__INSTANCE.html#a4c6d0506eca78eb6602764234ce07e62">00323</a> NDIS_SPIN_LOCK <a class="code" href="struct__OPEN__INSTANCE.html#a4c6d0506eca78eb6602764234ce07e62">OpenInUseLock</a>;
+<a name="l00324"></a>00324 }
+<a name="l00325"></a>00325 <a class="code" href="struct__OPEN__INSTANCE.html" title="Contains the state of a running instance of the NPF driver.">OPEN_INSTANCE</a>, *<a class="code" href="struct__OPEN__INSTANCE.html" title="Contains the state of a running instance of the NPF driver.">POPEN_INSTANCE</a>;
+<a name="l00326"></a>00326
+<a name="l00327"></a><a class="code" href="group__NPF__include.html#gaa80226df1c5ee18b01580d23ed4f31cb">00327</a> <span class="keyword">enum</span> <a class="code" href="group__NPF__include.html#gaa80226df1c5ee18b01580d23ed4f31cb">ADAPTER_BINDING_STATUS</a>
+<a name="l00328"></a>00328 {
+<a name="l00329"></a><a class="code" href="group__NPF__include.html#ggaa80226df1c5ee18b01580d23ed4f31cba6e4cdf9f09abf447cffdfd5058357822">00329</a> <a class="code" href="group__NPF__include.html#ggaa80226df1c5ee18b01580d23ed4f31cba6e4cdf9f09abf447cffdfd5058357822">ADAPTER_UNBOUND</a>,
+<a name="l00330"></a><a class="code" href="group__NPF__include.html#ggaa80226df1c5ee18b01580d23ed4f31cba3e0c0f314d2e9dc41c205ab44bf087bc">00330</a> <a class="code" href="group__NPF__include.html#ggaa80226df1c5ee18b01580d23ed4f31cba3e0c0f314d2e9dc41c205ab44bf087bc">ADAPTER_BOUND</a>,
+<a name="l00331"></a><a class="code" href="group__NPF__include.html#ggaa80226df1c5ee18b01580d23ed4f31cbadc92e852ef35fac0f033487a3be66a93">00331</a> <a class="code" href="group__NPF__include.html#ggaa80226df1c5ee18b01580d23ed4f31cbadc92e852ef35fac0f033487a3be66a93">ADAPTER_UNBINDING</a>,
+<a name="l00332"></a>00332 };
+<a name="l00333"></a>00333
+<a name="l00341"></a><a class="code" href="structPacketHeader.html">00341</a> <span class="keyword">struct </span><a class="code" href="structPacketHeader.html" title="Structure prepended to each packet in the kernel buffer pool.">PacketHeader</a>
+<a name="l00342"></a>00342 {
+<a name="l00343"></a><a class="code" href="structPacketHeader.html#afbd4efa90a98223b9ebe18574c057b47">00343</a> ULONG <a class="code" href="structPacketHeader.html#afbd4efa90a98223b9ebe18574c057b47" title="Sequence number of the packet.">SN</a>;
+<a name="l00344"></a><a class="code" href="structPacketHeader.html#ae2f3ed1162db1cfdbd9abe8f203426ad">00344</a> <span class="keyword">struct </span>bpf_hdr <a class="code" href="structPacketHeader.html#ae2f3ed1162db1cfdbd9abe8f203426ad" title="bpf header, created by the tap, and copied unmodified to user level programs.">header</a>;
+<a name="l00345"></a>00345 };
+<a name="l00346"></a>00346
+<a name="l00347"></a>00347 <span class="keyword">extern</span> ULONG <a class="code" href="group__NPF__include.html#ga980b14c18716a1788990f8e68fed9420">g_NCpu</a>;
+<a name="l00348"></a>00348 <span class="keyword">extern</span> NDIS_HANDLE <a class="code" href="group__NPF__include.html#ga5d6fbe2176d19b191fa7aaac4d6d6bb5">g_NdisProtocolHandle</a>;
+<a name="l00349"></a>00349 <span class="keyword">extern</span> <span class="keyword">struct </span>time_conv <a class="code" href="group__NPF__include.html#ga8bd3dab633cae7a1a47c4ddb2705a31b">G_Start_Time</a>; <span class="comment">// from openclos.c</span>
+<a name="l00350"></a>00350 <span class="keyword">extern</span> UINT <a class="code" href="group__NPF__include.html#gab325d08691ab69e4f942f6a418a41db2">g_SendPacketFlags</a>;
+<a name="l00351"></a>00351
+<a name="l00352"></a><a class="code" href="group__NPF__include.html#ga652e6173ee1441712652d74a5533e042">00352</a> <span class="preprocessor">#define TRANSMIT_PACKETS 256 </span>
+<a name="l00353"></a>00353 <span class="preprocessor"></span>
+<a name="l00354"></a>00354 <span class="preprocessor"></span>
+<a name="l00355"></a>00355 <span class="preprocessor"></span>
+<a name="l00357"></a><a class="code" href="group__NPF__include.html#gacabf25322566f3bcd1e564e4939f5821">00357</a> <span class="preprocessor">#define EXIT_SUCCESS(quantity) Irp-&gt;IoStatus.Information=quantity;\</span>
+<a name="l00358"></a>00358 <span class="preprocessor"> Irp-&gt;IoStatus.Status = STATUS_SUCCESS;\</span>
+<a name="l00359"></a>00359 <span class="preprocessor"> IoCompleteRequest(Irp, IO_NO_INCREMENT);\</span>
+<a name="l00360"></a>00360 <span class="preprocessor"> return STATUS_SUCCESS;\</span>
+<a name="l00361"></a>00361 <span class="preprocessor"></span>
+<a name="l00363"></a><a class="code" href="group__NPF__include.html#gad6d1f5522a147ddeb7d9b11916acd50a">00363</a> <span class="preprocessor">#define EXIT_FAILURE(quantity) Irp-&gt;IoStatus.Information=quantity;\</span>
+<a name="l00364"></a>00364 <span class="preprocessor"> Irp-&gt;IoStatus.Status = STATUS_UNSUCCESSFUL;\</span>
+<a name="l00365"></a>00365 <span class="preprocessor"> IoCompleteRequest(Irp, IO_NO_INCREMENT);\</span>
+<a name="l00366"></a>00366 <span class="preprocessor"> return STATUS_UNSUCCESSFUL;\</span>
+<a name="l00367"></a>00367 <span class="preprocessor"></span>
+<a name="l00368"></a>00368 <span class="preprocessor"></span>
+<a name="l00373"></a>00373 <span class="comment">/***************************/</span>
+<a name="l00374"></a>00374 <span class="comment">/* Prototypes */</span>
+<a name="l00375"></a>00375 <span class="comment">/***************************/</span>
+<a name="l00376"></a>00376
+<a name="l00393"></a>00393 NTSTATUS
+<a name="l00394"></a>00394 <a class="code" href="group__NPF__code.html#ga6502d781bd20234a06710b92d540baba" title="The initialization routine of the driver.">DriverEntry</a>(
+<a name="l00395"></a>00395 IN PDRIVER_OBJECT DriverObject,
+<a name="l00396"></a>00396 IN PUNICODE_STRING RegistryPath
+<a name="l00397"></a>00397 );
+<a name="l00398"></a>00398
+<a name="l00408"></a>00408 PWCHAR <a class="code" href="group__NPF__code.html#gafc395636686df00f554efbd2010f73cb" title="Returns the list of the MACs available on the system.">getAdaptersList</a>(VOID);
+<a name="l00409"></a>00409
+<a name="l00416"></a>00416 PKEY_VALUE_PARTIAL_INFORMATION <a class="code" href="group__NPF__code.html#gacf0e32b371eb9283e5cf1de0dfb15629" title="Returns the MACs that bind to TCP/IP.">getTcpBindings</a>(VOID);
+<a name="l00417"></a>00417
+<a name="l00428"></a>00428 BOOLEAN <a class="code" href="group__NPF__code.html#ga5d152d59c86209c5128ac788a7ae61b3" title="Creates a device for a given MAC.">NPF_CreateDevice</a>(
+<a name="l00429"></a>00429 IN OUT PDRIVER_OBJECT adriverObjectP,
+<a name="l00430"></a>00430 IN PUNICODE_STRING amacNameP
+<a name="l00431"></a>00431 );
+<a name="l00443"></a>00443 NTSTATUS
+<a name="l00444"></a>00444 <a class="code" href="group__NPF__code.html#ga82e557625e52fe4395bbe2e494fe8c4a" title="Opens a new instance of the driver.">NPF_Open</a>(
+<a name="l00445"></a>00445 IN PDEVICE_OBJECT DeviceObject,
+<a name="l00446"></a>00446 IN PIRP Irp
+<a name="l00447"></a>00447 );
+<a name="l00448"></a>00448
+<a name="l00458"></a>00458 VOID
+<a name="l00459"></a>00459 <a class="code" href="group__NPF__code.html#ga155ae51be29c6d36f8109781b8f6e7b2" title="Ends the opening of an adapter.">NPF_OpenAdapterComplete</a>(
+<a name="l00460"></a>00460 IN NDIS_HANDLE ProtocolBindingContext,
+<a name="l00461"></a>00461 IN NDIS_STATUS Status,
+<a name="l00462"></a>00462 IN NDIS_STATUS OpenErrorStatus
+<a name="l00463"></a>00463 );
+<a name="l00464"></a>00464
+<a name="l00475"></a>00475 NTSTATUS
+<a name="l00476"></a>00476 <a class="code" href="group__NPF__code.html#gafae94a0e7fda8de180cff6e596cc2803" title="Closes an instance of the driver.">NPF_Cleanup</a>(
+<a name="l00477"></a>00477 IN PDEVICE_OBJECT DeviceObject,
+<a name="l00478"></a>00478 IN PIRP Irp
+<a name="l00479"></a>00479 );
+<a name="l00480"></a>00480
+<a name="l00481"></a>00481 NTSTATUS
+<a name="l00482"></a>00482 <a class="code" href="group__NPF__code.html#gaf8b70be389645c912cf09f1e9ea4b975">NPF_Close</a>(
+<a name="l00483"></a>00483 IN PDEVICE_OBJECT DeviceObject,
+<a name="l00484"></a>00484 IN PIRP Irp
+<a name="l00485"></a>00485 );
+<a name="l00486"></a>00486
+<a name="l00487"></a>00487
+<a name="l00488"></a>00488
+<a name="l00497"></a>00497 VOID
+<a name="l00498"></a>00498 <a class="code" href="group__NPF__code.html#ga300118a9a6cc28c2c880f6bb39d86b53" title="Ends the closing of an adapter.">NPF_CloseAdapterComplete</a>(
+<a name="l00499"></a>00499 IN NDIS_HANDLE ProtocolBindingContext,
+<a name="l00500"></a>00500 IN NDIS_STATUS Status
+<a name="l00501"></a>00501 );
+<a name="l00502"></a>00502
+<a name="l00525"></a>00525 NDIS_STATUS
+<a name="l00526"></a>00526 <a class="code" href="group__NPF__code.html#ga92f84ced372baf09f1c00a6b252a0564" title="Callback invoked by NDIS when a packet arrives from the network.">NPF_tap</a>(
+<a name="l00527"></a>00527 IN NDIS_HANDLE ProtocolBindingContext,
+<a name="l00528"></a>00528 IN NDIS_HANDLE MacReceiveContext,
+<a name="l00529"></a>00529 IN PVOID HeaderBuffer,
+<a name="l00530"></a>00530 IN UINT HeaderBufferSize,
+<a name="l00531"></a>00531 IN PVOID LookAheadBuffer,
+<a name="l00532"></a>00532 IN UINT LookaheadBufferSize,
+<a name="l00533"></a>00533 IN UINT PacketSize
+<a name="l00534"></a>00534 );
+<a name="l00535"></a>00535
+<a name="l00546"></a>00546 VOID
+<a name="l00547"></a>00547 <a class="code" href="group__NPF__code.html#ga0c34f931d6718be202c7c62406f279fd" title="Ends the transfer of a packet.">NPF_TransferDataComplete</a>(
+<a name="l00548"></a>00548 IN NDIS_HANDLE ProtocolBindingContext,
+<a name="l00549"></a>00549 IN PNDIS_PACKET Packet,
+<a name="l00550"></a>00550 IN NDIS_STATUS Status,
+<a name="l00551"></a>00551 IN UINT BytesTransferred
+<a name="l00552"></a>00552 );
+<a name="l00553"></a>00553
+<a name="l00560"></a>00560 VOID
+<a name="l00561"></a>00561 <a class="code" href="group__NPF__code.html#gae7863db01a628ed11324c49953195855" title="Callback function that signals the end of a packet reception.">NPF_ReceiveComplete</a>(IN NDIS_HANDLE ProtocolBindingContext);
+<a name="l00562"></a>00562
+<a name="l00586"></a>00586 NTSTATUS
+<a name="l00587"></a>00587 <a class="code" href="group__NPF__code.html#gad8b208720b6e5149dabcd7fb058b16f7" title="Handles the IOCTL calls.">NPF_IoControl</a>(
+<a name="l00588"></a>00588 IN PDEVICE_OBJECT DeviceObject,
+<a name="l00589"></a>00589 IN PIRP Irp
+<a name="l00590"></a>00590 );
+<a name="l00591"></a>00591
+<a name="l00592"></a>00592 VOID
+<a name="l00593"></a>00593
+<a name="l00603"></a>00603 <a class="code" href="group__NPF__code.html#ga4ff37c0fd3273f829a1f84b9ab40755b" title="Ends an OID request.">NPF_RequestComplete</a>(
+<a name="l00604"></a>00604 IN NDIS_HANDLE ProtocolBindingContext,
+<a name="l00605"></a>00605 IN PNDIS_REQUEST pRequest,
+<a name="l00606"></a>00606 IN NDIS_STATUS Status
+<a name="l00607"></a>00607 );
+<a name="l00608"></a>00608
+<a name="l00621"></a>00621 NTSTATUS
+<a name="l00622"></a>00622 <a class="code" href="group__NPF__code.html#ga595338435296a4d1e15363ebfcb3a38c" title="Writes a raw packet to the network.">NPF_Write</a>(
+<a name="l00623"></a>00623 IN PDEVICE_OBJECT DeviceObject,
+<a name="l00624"></a>00624 IN PIRP Irp
+<a name="l00625"></a>00625 );
+<a name="l00626"></a>00626
+<a name="l00627"></a>00627
+<a name="l00647"></a>00647 INT <a class="code" href="group__NPF__code.html#ga9a97dd25ae757da4bfed3723a4eb4bce" title="Writes a buffer of raw packets to the network.">NPF_BufferedWrite</a>(IN PIRP Irp,
+<a name="l00648"></a>00648 IN PCHAR UserBuff,
+<a name="l00649"></a>00649 IN ULONG UserBuffSize,
+<a name="l00650"></a>00650 BOOLEAN sync);
+<a name="l00651"></a>00651
+<a name="l00659"></a>00659 VOID <a class="code" href="group__NPF__code.html#ga8861b474efcb6578c9fe2075ff3e6aef" title="Waits the completion of all the sends performed by NPF_BufferedWrite.">NPF_WaitEndOfBufferedWrite</a>(POPEN_INSTANCE Open);
+<a name="l00660"></a>00660
+<a name="l00670"></a>00670 VOID
+<a name="l00671"></a>00671 <a class="code" href="group__NPF__code.html#gaed126572458eed2dcd18d1824ac86601" title="Ends a send operation.">NPF_SendComplete</a>(
+<a name="l00672"></a>00672 IN NDIS_HANDLE ProtocolBindingContext,
+<a name="l00673"></a>00673 IN PNDIS_PACKET pPacket,
+<a name="l00674"></a>00674 IN NDIS_STATUS Status
+<a name="l00675"></a>00675 );
+<a name="l00676"></a>00676
+<a name="l00686"></a>00686 VOID
+<a name="l00687"></a>00687 <a class="code" href="group__NPF__code.html#ga4e7934d9adb1826ed5e9112b9182f74a" title="Ends a reset of the adapter.">NPF_ResetComplete</a>(
+<a name="l00688"></a>00688 IN NDIS_HANDLE ProtocolBindingContext,
+<a name="l00689"></a>00689 IN NDIS_STATUS Status
+<a name="l00690"></a>00690 );
+<a name="l00691"></a>00691
+<a name="l00695"></a>00695 VOID
+<a name="l00696"></a>00696 <a class="code" href="group__NPF__code.html#ga1a8cf4fdeed6e93fcf1f50da654402b7" title="Callback for NDIS StatusHandler. Not used by NPF.">NPF_Status</a>(
+<a name="l00697"></a>00697 IN NDIS_HANDLE ProtocolBindingContext,
+<a name="l00698"></a>00698 IN NDIS_STATUS Status,
+<a name="l00699"></a>00699 IN PVOID StatusBuffer,
+<a name="l00700"></a>00700 IN UINT StatusBufferSize
+<a name="l00701"></a>00701 );
+<a name="l00702"></a>00702
+<a name="l00703"></a>00703
+<a name="l00707"></a>00707 VOID
+<a name="l00708"></a>00708 <a class="code" href="group__NPF__code.html#ga70f97109adcd6de8b157534e5ecf2e56" title="Callback for NDIS StatusCompleteHandler. Not used by NPF.">NPF_StatusComplete</a>(IN NDIS_HANDLE ProtocolBindingContext);
+<a name="l00709"></a>00709
+<a name="l00718"></a>00718 VOID
+<a name="l00719"></a>00719 <a class="code" href="group__NPF__code.html#ga5eb5a8e754198d1bbc6572cbc9e59b9c" title="Function called by the OS when NPF is unloaded.">NPF_Unload</a>(IN PDRIVER_OBJECT DriverObject);
+<a name="l00720"></a>00720
+<a name="l00721"></a>00721
+<a name="l00740"></a>00740 NTSTATUS
+<a name="l00741"></a>00741 <a class="code" href="group__NPF__code.html#ga827b1433b2d08cbac11b3844d721668f" title="Function that serves the user&amp;#39;s reads.">NPF_Read</a>(
+<a name="l00742"></a>00742 IN PDEVICE_OBJECT DeviceObject,
+<a name="l00743"></a>00743 IN PIRP Irp
+<a name="l00744"></a>00744 );
+<a name="l00745"></a>00745
+<a name="l00751"></a>00751 NTSTATUS
+<a name="l00752"></a>00752 <a class="code" href="group__NPF__code.html#ga1a3ce25625792c74e5792b8fa86a489c" title="Reads the registry keys associated woth NPF if the driver is manually installed via...">NPF_ReadRegistry</a>(
+<a name="l00753"></a>00753 IN PWSTR *MacDriverName,
+<a name="l00754"></a>00754 IN PWSTR *PacketDriverName,
+<a name="l00755"></a>00755 IN PUNICODE_STRING RegistryPath
+<a name="l00756"></a>00756 );
+<a name="l00757"></a>00757
+<a name="l00764"></a>00764 NTSTATUS
+<a name="l00765"></a>00765 <a class="code" href="group__NPF__code.html#ga8831b54dcd5361e81ddf0d3165f1fb8f" title="Function used by NPF_ReadRegistry() to quesry the registry keys associated woth NPF...">NPF_QueryRegistryRoutine</a>(
+<a name="l00766"></a>00766 IN PWSTR ValueName,
+<a name="l00767"></a>00767 IN ULONG ValueType,
+<a name="l00768"></a>00768 IN PVOID ValueData,
+<a name="l00769"></a>00769 IN ULONG ValueLength,
+<a name="l00770"></a>00770 IN PVOID Context,
+<a name="l00771"></a>00771 IN PVOID EntryContext
+<a name="l00772"></a>00772 );
+<a name="l00773"></a>00773
+<a name="l00779"></a>00779 VOID <a class="code" href="group__NPF__code.html#ga9a78f9937b2d7d00250f49dcaeb5bab0" title="Callback for NDIS BindAdapterHandler. Not used by NPF.">NPF_BindAdapter</a>(
+<a name="l00780"></a>00780 OUT PNDIS_STATUS Status,
+<a name="l00781"></a>00781 IN NDIS_HANDLE BindContext,
+<a name="l00782"></a>00782 IN PNDIS_STRING DeviceName,
+<a name="l00783"></a>00783 IN PVOID SystemSpecific1,
+<a name="l00784"></a>00784 IN PVOID SystemSpecific2
+<a name="l00785"></a>00785 );
+<a name="l00786"></a>00786
+<a name="l00798"></a>00798 VOID
+<a name="l00799"></a>00799 <a class="code" href="group__NPF__code.html#ga54d94e883ff4c580289eefaf0d1fc356" title="Callback for NDIS UnbindAdapterHandler.">NPF_UnbindAdapter</a>(
+<a name="l00800"></a>00800 OUT PNDIS_STATUS Status,
+<a name="l00801"></a>00801 IN NDIS_HANDLE ProtocolBindingContext,
+<a name="l00802"></a>00802 IN NDIS_HANDLE UnbindContext
+<a name="l00803"></a>00803 );
+<a name="l00804"></a>00804
+<a name="l00805"></a>00805
+<a name="l00813"></a>00813 NTSTATUS <a class="code" href="group__NPF__code.html#gae3d1118c72b474fe214517a65afdfe09" title="Creates the file that will receive the packets when the driver is in dump mode.">NPF_OpenDumpFile</a>(POPEN_INSTANCE Open , PUNICODE_STRING fileName, BOOLEAN append);
+<a name="l00814"></a>00814
+<a name="l00823"></a>00823 NTSTATUS <a class="code" href="group__NPF__code.html#gaeffce124cbc3e3ae09bd7a6d10367cbb" title="Starts dump to file.">NPF_StartDump</a>(POPEN_INSTANCE Open);
+<a name="l00824"></a>00824
+<a name="l00832"></a>00832 VOID <a class="code" href="group__NPF__code.html#ga1566082cef91cf79ba4a855e3f44ede9" title="The dump thread.">NPF_DumpThread</a>(PVOID Open);
+<a name="l00833"></a>00833
+<a name="l00840"></a>00840 NTSTATUS <a class="code" href="group__NPF__code.html#gafcdcf5a4d9bfb8fbdb179963d4c789bd" title="Saves the content of the packet buffer to the file associated with current instance...">NPF_SaveCurrentBuffer</a>(POPEN_INSTANCE Open);
+<a name="l00841"></a>00841
+<a name="l00854"></a>00854 VOID <a class="code" href="group__NPF__code.html#ga57b9ee7752f00c8858bda8ca060a033b" title="Writes a block of packets on the dump file.">NPF_WriteDumpFile</a>(PFILE_OBJECT FileObject,
+<a name="l00855"></a>00855 PLARGE_INTEGER Offset,
+<a name="l00856"></a>00856 ULONG Length,
+<a name="l00857"></a>00857 PMDL Mdl,
+<a name="l00858"></a>00858 PIO_STATUS_BLOCK IoStatusBlock);
+<a name="l00859"></a>00859
+<a name="l00860"></a>00860
+<a name="l00861"></a>00861
+<a name="l00867"></a>00867 NTSTATUS <a class="code" href="group__NPF__code.html#gac911742b9f71c12c77452614db14c4a1" title="Closes the dump file associated with an instance of the driver.">NPF_CloseDumpFile</a>(POPEN_INSTANCE Open);
+<a name="l00868"></a>00868
+<a name="l00869"></a>00869 BOOLEAN
+<a name="l00870"></a>00870 <a class="code" href="group__NPF__code.html#ga64dab96bfced5d22cc55a42fc6339833">NPF_StartUsingBinding</a>(
+<a name="l00871"></a>00871 IN POPEN_INSTANCE pOpen);
+<a name="l00872"></a>00872
+<a name="l00873"></a>00873 VOID
+<a name="l00874"></a>00874 <a class="code" href="group__NPF__code.html#gacd54077d4c2d9186486d3504523ba4f0">NPF_StopUsingBinding</a>(
+<a name="l00875"></a>00875 IN POPEN_INSTANCE pOpen);
+<a name="l00876"></a>00876
+<a name="l00877"></a>00877 VOID
+<a name="l00878"></a>00878 <a class="code" href="group__NPF__code.html#ga76d4e48415cea8e0e65ba93d7355b89f">NPF_CloseBinding</a>(
+<a name="l00879"></a>00879 IN POPEN_INSTANCE pOpen);
+<a name="l00880"></a>00880
+<a name="l00881"></a>00881 BOOLEAN
+<a name="l00882"></a>00882 <a class="code" href="group__NPF__code.html#ga504e61b1229a9a604080fc8607b24084">NPF_StartUsingOpenInstance</a>(
+<a name="l00883"></a>00883 IN POPEN_INSTANCE pOpen);
+<a name="l00884"></a>00884
+<a name="l00885"></a>00885 VOID
+<a name="l00886"></a>00886 <a class="code" href="group__NPF__code.html#ga6ceb77291c077b05efd3b588a6a30867">NPF_StopUsingOpenInstance</a>(
+<a name="l00887"></a>00887 IN POPEN_INSTANCE pOpen);
+<a name="l00888"></a>00888
+<a name="l00889"></a>00889 VOID
+<a name="l00890"></a>00890 <a class="code" href="group__NPF__code.html#ga99878d91732973e7b4020d8e42b4cf32">NPF_CloseOpenInstance</a>(
+<a name="l00891"></a>00891 IN POPEN_INSTANCE pOpen);
+<a name="l00892"></a>00892
+<a name="l00893"></a>00893 NTSTATUS
+<a name="l00894"></a>00894 <a class="code" href="group__NPF__code.html#ga8bad85679d2e8c57f7501052f9b07284">NPF_GetDeviceMTU</a>(
+<a name="l00895"></a>00895 IN POPEN_INSTANCE pOpen,
+<a name="l00896"></a>00896 IN PIRP pIrp,
+<a name="l00897"></a>00897 OUT PUINT pMtu);
+<a name="l00898"></a>00898
+<a name="l00903"></a>00903 UINT <a class="code" href="group__NPF__code.html#gadd6737f745e21b37b8613b489a96687d" title="Returns the amount of bytes present in the packet buffer.">GetBuffOccupation</a>(POPEN_INSTANCE Open);
+<a name="l00904"></a>00904
+<a name="l00916"></a>00916 <span class="preprocessor">#ifdef NDIS50</span>
+<a name="l00917"></a>00917 <span class="preprocessor"></span>NDIS_STATUS NPF_PowerChange(IN NDIS_HANDLE ProtocolBindingContext, IN PNET_PNP_EVENT pNetPnPEvent);
+<a name="l00918"></a>00918 <span class="preprocessor">#endif</span>
+<a name="l00919"></a>00919 <span class="preprocessor"></span>
+<a name="l00920"></a>00920 <span class="comment">// </span>
+<a name="l00921"></a>00921 <span class="comment">// Old registry based WinPcap names</span>
+<a name="l00922"></a>00922 <span class="comment">//</span>
+<a name="l00924"></a>00924 <span class="comment"></span><span class="comment">// \brief Helper function to query a value from the global WinPcap registry key</span>
+<a name="l00925"></a>00925 <span class="comment">//*/</span>
+<a name="l00926"></a>00926 <span class="comment">//VOID NPF_QueryWinpcapRegistryString(PWSTR SubKeyName,</span>
+<a name="l00927"></a>00927 <span class="comment">// WCHAR *Value,</span>
+<a name="l00928"></a>00928 <span class="comment">// UINT ValueLen, </span>
+<a name="l00929"></a>00929 <span class="comment">// WCHAR *DefaultValue);</span>
+<a name="l00930"></a>00930 <span class="comment">//</span>
+<a name="l00931"></a>00931
+<a name="l00932"></a>00932
+<a name="l00941"></a>00941 <span class="preprocessor">#endif </span><span class="comment">/*main ifndef/define*/</span>
+</pre></div></div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/Win32-Extensions_8h.html b/3rdparty/winpcap/docs/html/Win32-Extensions_8h.html
new file mode 100644
index 00000000000..038ab6d7ddf
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/Win32-Extensions_8h.html
@@ -0,0 +1,700 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Win32-Extensions.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Win32-Extensions.h File Reference</h1>
+<p><a href="Win32-Extensions_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__send__queue.html">pcap_send_queue</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A queue of raw packets that will be sent to the network with <a class="el" href="group__wpcapfunc.html#gaa4d55eb047a1cccc0e28397ce04ee097" title="Send a queue of raw packets to the network.">pcap_sendqueue_transmit()</a>. <a href="structpcap__send__queue.html#_details">More...</a><br/></td></tr>
+<tr><td colspan="2"><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Win32-Extensions_8h.html#ac635b6b5d4d6d9958cfb72d44550bd36">AIRPCAP_HANDLE__EAE405F5_0171_9592_B3C2_C19EC426AD34__DEFINED_</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This typedef is a support for the <a class="el" href="group__wpcapfunc.html#ga4c8f8d1b9238c74faa156494a6b98670" title="Returns the AirPcap handler associated with an adapter. This handler can be used...">pcap_get_airpcap_handle()</a> function. <a href="#ac635b6b5d4d6d9958cfb72d44550bd36"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Win32-Extensions_8h.html#a8b0c82df581e67530cb69b0c737f6d13">BPF_MEM_EX_IMM</a>&nbsp;&nbsp;&nbsp;0xc0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Win32-Extensions_8h.html#ae9464818b3ae1e14e27bf7dc2a7d0a55">BPF_MEM_EX_IND</a>&nbsp;&nbsp;&nbsp;0xe0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Win32-Extensions_8h.html#a5be0e4575ff0738e013bf0f3b76dc7be">BPF_MEM_EX</a>&nbsp;&nbsp;&nbsp;0xc0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Win32-Extensions_8h.html#ad7d6cc253b9b7d72ff13f80370a52490">BPF_TME</a>&nbsp;&nbsp;&nbsp;0x08</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Win32-Extensions_8h.html#a5e77fbb97cf270c27c430722a1e6fa3b">BPF_LOOKUP</a>&nbsp;&nbsp;&nbsp;0x90</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Win32-Extensions_8h.html#a7b833a1802fa10b0d550c6eb3e724d75">BPF_EXECUTE</a>&nbsp;&nbsp;&nbsp;0xa0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Win32-Extensions_8h.html#aab18fbabe4f6a84757afb8088827e82f">BPF_INIT</a>&nbsp;&nbsp;&nbsp;0xb0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Win32-Extensions_8h.html#a52afa333263879b18b8ef1278e9d9c38">BPF_VALIDATE</a>&nbsp;&nbsp;&nbsp;0xc0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Win32-Extensions_8h.html#a54a2fb014f7f0ff0dbec7b8c9c319322">BPF_SET_ACTIVE</a>&nbsp;&nbsp;&nbsp;0xd0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Win32-Extensions_8h.html#abb2e97aac5a34caa5ceb0d8495ca7d8c">BPF_RESET</a>&nbsp;&nbsp;&nbsp;0xe0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Win32-Extensions_8h.html#a53c19e47ce08fe540a1e1323b1d5eb04">BPF_SET_MEMORY</a>&nbsp;&nbsp;&nbsp;0x80</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Win32-Extensions_8h.html#ae234c1f999720a0167b71235dd9efbd3">BPF_GET_REGISTER_VALUE</a>&nbsp;&nbsp;&nbsp;0x70</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Win32-Extensions_8h.html#afcf6a0cd9b0e14f9456d643888ae958f">BPF_SET_REGISTER_VALUE</a>&nbsp;&nbsp;&nbsp;0x60</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Win32-Extensions_8h.html#aa2cac9008111e31a231a0183e2af0525">BPF_SET_WORKING</a>&nbsp;&nbsp;&nbsp;0x50</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Win32-Extensions_8h.html#a2beb870e2a5cd292a00b8bc243c0ab78">BPF_SET_ACTIVE_READ</a>&nbsp;&nbsp;&nbsp;0x40</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Win32-Extensions_8h.html#a60cf9b2aab2c973697939bdc85ff4f2d">BPF_SET_AUTODELETION</a>&nbsp;&nbsp;&nbsp;0x30</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Win32-Extensions_8h.html#ac6ebbf4ea8c29d48aa9ebe282544f467">BPF_SEPARATION</a>&nbsp;&nbsp;&nbsp;0xff</td></tr>
+<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structpcap__send__queue.html">pcap_send_queue</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Win32-Extensions_8h.html#a59f37277a1b82cbf46112f0e97485696">pcap_send_queue</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct _AirpcapHandle *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Win32-Extensions_8h.html#aadfdcc0e37082d8f6b28a43ec9a0bccf">PAirpcapHandle</a></td></tr>
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structpcap__send__queue.html">pcap_send_queue</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Win32-Extensions_8h.html#ab940e69631b7cc7f2232a69ea02b86d9">pcap_sendqueue_alloc</a> (u_int memsize)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Win32-Extensions_8h.html#a72624f7a9932cc2124abf661001e0aa4">pcap_sendqueue_destroy</a> (<a class="el" href="structpcap__send__queue.html">pcap_send_queue</a> *queue)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Win32-Extensions_8h.html#a4c57ea320d71dbfe55c5665af9db1297">pcap_sendqueue_queue</a> (<a class="el" href="structpcap__send__queue.html">pcap_send_queue</a> *queue, const struct <a class="el" href="structpcap__pkthdr.html">pcap_pkthdr</a> *pkt_header, const u_char *pkt_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">u_int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Win32-Extensions_8h.html#aa4d55eb047a1cccc0e28397ce04ee097">pcap_sendqueue_transmit</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, <a class="el" href="structpcap__send__queue.html">pcap_send_queue</a> *queue, int sync)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">HANDLE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Win32-Extensions_8h.html#a2c415e9192c7b18a81a02300ae6f2c02">pcap_getevent</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structpcap__stat.html">pcap_stat</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Win32-Extensions_8h.html#a8050f7829956aabd243cc32b3cfabbd6">pcap_stats_ex</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, int *pcap_stat_size)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Win32-Extensions_8h.html#a9b68e06df888cb005ddb92117227e0a6">pcap_setuserbuffer</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, int size)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Win32-Extensions_8h.html#aedef54159d918b22a7de8e75b8a3ef4d">pcap_live_dump</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, char *filename, int maxsize, int maxpacks)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Win32-Extensions_8h.html#afe8a334f3a7ae2dc7f52e96523da39be">pcap_live_dump_ended</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, int sync)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Win32-Extensions_8h.html#ae92f11bfb001c19b2d0fbcd6821d222a">pcap_offline_filter</a> (struct bpf_program *prog, const struct <a class="el" href="structpcap__pkthdr.html">pcap_pkthdr</a> *header, const u_char *pkt_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Win32-Extensions_8h.html#a6455abf1f09abfd5493e2e0e914aa612">pcap_start_oem</a> (char *err_str, int flags)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="Win32-Extensions_8h.html#aadfdcc0e37082d8f6b28a43ec9a0bccf">PAirpcapHandle</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Win32-Extensions_8h.html#a4c8f8d1b9238c74faa156494a6b98670">pcap_get_airpcap_handle</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p)</td></tr>
+</table>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="ac635b6b5d4d6d9958cfb72d44550bd36"></a><!-- doxytag: member="Win32&#45;Extensions.h::AIRPCAP_HANDLE__EAE405F5_0171_9592_B3C2_C19EC426AD34__DEFINED_" ref="ac635b6b5d4d6d9958cfb72d44550bd36" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define AIRPCAP_HANDLE__EAE405F5_0171_9592_B3C2_C19EC426AD34__DEFINED_</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>This typedef is a support for the <a class="el" href="group__wpcapfunc.html#ga4c8f8d1b9238c74faa156494a6b98670" title="Returns the AirPcap handler associated with an adapter. This handler can be used...">pcap_get_airpcap_handle()</a> function. </p>
+
+<p>Definition at line <a class="el" href="Win32-Extensions_8h_source.html#l00059">59</a> of file <a class="el" href="Win32-Extensions_8h_source.html">Win32-Extensions.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7b833a1802fa10b0d550c6eb3e724d75"></a><!-- doxytag: member="Win32&#45;Extensions.h::BPF_EXECUTE" ref="a7b833a1802fa10b0d550c6eb3e724d75" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BPF_EXECUTE&nbsp;&nbsp;&nbsp;0xa0</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="Win32-Extensions_8h_source.html#l00071">71</a> of file <a class="el" href="Win32-Extensions_8h_source.html">Win32-Extensions.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae234c1f999720a0167b71235dd9efbd3"></a><!-- doxytag: member="Win32&#45;Extensions.h::BPF_GET_REGISTER_VALUE" ref="ae234c1f999720a0167b71235dd9efbd3" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BPF_GET_REGISTER_VALUE&nbsp;&nbsp;&nbsp;0x70</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="Win32-Extensions_8h_source.html#l00077">77</a> of file <a class="el" href="Win32-Extensions_8h_source.html">Win32-Extensions.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aab18fbabe4f6a84757afb8088827e82f"></a><!-- doxytag: member="Win32&#45;Extensions.h::BPF_INIT" ref="aab18fbabe4f6a84757afb8088827e82f" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BPF_INIT&nbsp;&nbsp;&nbsp;0xb0</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="Win32-Extensions_8h_source.html#l00072">72</a> of file <a class="el" href="Win32-Extensions_8h_source.html">Win32-Extensions.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5e77fbb97cf270c27c430722a1e6fa3b"></a><!-- doxytag: member="Win32&#45;Extensions.h::BPF_LOOKUP" ref="a5e77fbb97cf270c27c430722a1e6fa3b" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BPF_LOOKUP&nbsp;&nbsp;&nbsp;0x90</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="Win32-Extensions_8h_source.html#l00070">70</a> of file <a class="el" href="Win32-Extensions_8h_source.html">Win32-Extensions.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5be0e4575ff0738e013bf0f3b76dc7be"></a><!-- doxytag: member="Win32&#45;Extensions.h::BPF_MEM_EX" ref="a5be0e4575ff0738e013bf0f3b76dc7be" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BPF_MEM_EX&nbsp;&nbsp;&nbsp;0xc0</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="Win32-Extensions_8h_source.html#l00067">67</a> of file <a class="el" href="Win32-Extensions_8h_source.html">Win32-Extensions.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8b0c82df581e67530cb69b0c737f6d13"></a><!-- doxytag: member="Win32&#45;Extensions.h::BPF_MEM_EX_IMM" ref="a8b0c82df581e67530cb69b0c737f6d13" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BPF_MEM_EX_IMM&nbsp;&nbsp;&nbsp;0xc0</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="Win32-Extensions_8h_source.html#l00063">63</a> of file <a class="el" href="Win32-Extensions_8h_source.html">Win32-Extensions.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae9464818b3ae1e14e27bf7dc2a7d0a55"></a><!-- doxytag: member="Win32&#45;Extensions.h::BPF_MEM_EX_IND" ref="ae9464818b3ae1e14e27bf7dc2a7d0a55" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BPF_MEM_EX_IND&nbsp;&nbsp;&nbsp;0xe0</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="Win32-Extensions_8h_source.html#l00064">64</a> of file <a class="el" href="Win32-Extensions_8h_source.html">Win32-Extensions.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abb2e97aac5a34caa5ceb0d8495ca7d8c"></a><!-- doxytag: member="Win32&#45;Extensions.h::BPF_RESET" ref="abb2e97aac5a34caa5ceb0d8495ca7d8c" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BPF_RESET&nbsp;&nbsp;&nbsp;0xe0</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="Win32-Extensions_8h_source.html#l00075">75</a> of file <a class="el" href="Win32-Extensions_8h_source.html">Win32-Extensions.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac6ebbf4ea8c29d48aa9ebe282544f467"></a><!-- doxytag: member="Win32&#45;Extensions.h::BPF_SEPARATION" ref="ac6ebbf4ea8c29d48aa9ebe282544f467" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BPF_SEPARATION&nbsp;&nbsp;&nbsp;0xff</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="Win32-Extensions_8h_source.html#l00082">82</a> of file <a class="el" href="Win32-Extensions_8h_source.html">Win32-Extensions.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a54a2fb014f7f0ff0dbec7b8c9c319322"></a><!-- doxytag: member="Win32&#45;Extensions.h::BPF_SET_ACTIVE" ref="a54a2fb014f7f0ff0dbec7b8c9c319322" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BPF_SET_ACTIVE&nbsp;&nbsp;&nbsp;0xd0</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="Win32-Extensions_8h_source.html#l00074">74</a> of file <a class="el" href="Win32-Extensions_8h_source.html">Win32-Extensions.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2beb870e2a5cd292a00b8bc243c0ab78"></a><!-- doxytag: member="Win32&#45;Extensions.h::BPF_SET_ACTIVE_READ" ref="a2beb870e2a5cd292a00b8bc243c0ab78" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BPF_SET_ACTIVE_READ&nbsp;&nbsp;&nbsp;0x40</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="Win32-Extensions_8h_source.html#l00080">80</a> of file <a class="el" href="Win32-Extensions_8h_source.html">Win32-Extensions.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a60cf9b2aab2c973697939bdc85ff4f2d"></a><!-- doxytag: member="Win32&#45;Extensions.h::BPF_SET_AUTODELETION" ref="a60cf9b2aab2c973697939bdc85ff4f2d" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BPF_SET_AUTODELETION&nbsp;&nbsp;&nbsp;0x30</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="Win32-Extensions_8h_source.html#l00081">81</a> of file <a class="el" href="Win32-Extensions_8h_source.html">Win32-Extensions.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a53c19e47ce08fe540a1e1323b1d5eb04"></a><!-- doxytag: member="Win32&#45;Extensions.h::BPF_SET_MEMORY" ref="a53c19e47ce08fe540a1e1323b1d5eb04" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BPF_SET_MEMORY&nbsp;&nbsp;&nbsp;0x80</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="Win32-Extensions_8h_source.html#l00076">76</a> of file <a class="el" href="Win32-Extensions_8h_source.html">Win32-Extensions.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="afcf6a0cd9b0e14f9456d643888ae958f"></a><!-- doxytag: member="Win32&#45;Extensions.h::BPF_SET_REGISTER_VALUE" ref="afcf6a0cd9b0e14f9456d643888ae958f" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BPF_SET_REGISTER_VALUE&nbsp;&nbsp;&nbsp;0x60</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="Win32-Extensions_8h_source.html#l00078">78</a> of file <a class="el" href="Win32-Extensions_8h_source.html">Win32-Extensions.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa2cac9008111e31a231a0183e2af0525"></a><!-- doxytag: member="Win32&#45;Extensions.h::BPF_SET_WORKING" ref="aa2cac9008111e31a231a0183e2af0525" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BPF_SET_WORKING&nbsp;&nbsp;&nbsp;0x50</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="Win32-Extensions_8h_source.html#l00079">79</a> of file <a class="el" href="Win32-Extensions_8h_source.html">Win32-Extensions.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad7d6cc253b9b7d72ff13f80370a52490"></a><!-- doxytag: member="Win32&#45;Extensions.h::BPF_TME" ref="ad7d6cc253b9b7d72ff13f80370a52490" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BPF_TME&nbsp;&nbsp;&nbsp;0x08</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="Win32-Extensions_8h_source.html#l00068">68</a> of file <a class="el" href="Win32-Extensions_8h_source.html">Win32-Extensions.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a52afa333263879b18b8ef1278e9d9c38"></a><!-- doxytag: member="Win32&#45;Extensions.h::BPF_VALIDATE" ref="a52afa333263879b18b8ef1278e9d9c38" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BPF_VALIDATE&nbsp;&nbsp;&nbsp;0xc0</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="Win32-Extensions_8h_source.html#l00073">73</a> of file <a class="el" href="Win32-Extensions_8h_source.html">Win32-Extensions.h</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="aadfdcc0e37082d8f6b28a43ec9a0bccf"></a><!-- doxytag: member="Win32&#45;Extensions.h::PAirpcapHandle" ref="aadfdcc0e37082d8f6b28a43ec9a0bccf" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef struct _AirpcapHandle* <a class="el" href="Win32-Extensions_8h.html#aadfdcc0e37082d8f6b28a43ec9a0bccf">PAirpcapHandle</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="Win32-Extensions_8h_source.html#l00060">60</a> of file <a class="el" href="Win32-Extensions_8h_source.html">Win32-Extensions.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a59f37277a1b82cbf46112f0e97485696"></a><!-- doxytag: member="Win32&#45;Extensions.h::pcap_send_queue" ref="a59f37277a1b82cbf46112f0e97485696" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef struct <a class="el" href="structpcap__send__queue.html">pcap_send_queue</a> <a class="el" href="structpcap__send__queue.html">pcap_send_queue</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="Win32-Extensions_8h_source.html#l00053">53</a> of file <a class="el" href="Win32-Extensions_8h_source.html">Win32-Extensions.h</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="a4c8f8d1b9238c74faa156494a6b98670"></a><!-- doxytag: member="Win32&#45;Extensions.h::pcap_get_airpcap_handle" ref="a4c8f8d1b9238c74faa156494a6b98670" args="(pcap_t *p)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="Win32-Extensions_8h.html#aadfdcc0e37082d8f6b28a43ec9a0bccf">PAirpcapHandle</a> pcap_get_airpcap_handle </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a2c415e9192c7b18a81a02300ae6f2c02"></a><!-- doxytag: member="Win32&#45;Extensions.h::pcap_getevent" ref="a2c415e9192c7b18a81a02300ae6f2c02" args="(pcap_t *p)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">HANDLE pcap_getevent </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aedef54159d918b22a7de8e75b8a3ef4d"></a><!-- doxytag: member="Win32&#45;Extensions.h::pcap_live_dump" ref="aedef54159d918b22a7de8e75b8a3ef4d" args="(pcap_t *p, char *filename, int maxsize, int maxpacks)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_live_dump </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>filename</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>maxsize</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>maxpacks</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="afe8a334f3a7ae2dc7f52e96523da39be"></a><!-- doxytag: member="Win32&#45;Extensions.h::pcap_live_dump_ended" ref="afe8a334f3a7ae2dc7f52e96523da39be" args="(pcap_t *p, int sync)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_live_dump_ended </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>sync</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ae92f11bfb001c19b2d0fbcd6821d222a"></a><!-- doxytag: member="Win32&#45;Extensions.h::pcap_offline_filter" ref="ae92f11bfb001c19b2d0fbcd6821d222a" args="(struct bpf_program *prog, const struct pcap_pkthdr *header, const u_char *pkt_data)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_offline_filter </td>
+ <td>(</td>
+ <td class="paramtype">struct bpf_program *&nbsp;</td>
+ <td class="paramname"> <em>prog</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const struct <a class="el" href="structpcap__pkthdr.html">pcap_pkthdr</a> *&nbsp;</td>
+ <td class="paramname"> <em>header</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const u_char *&nbsp;</td>
+ <td class="paramname"> <em>pkt_data</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ab940e69631b7cc7f2232a69ea02b86d9"></a><!-- doxytag: member="Win32&#45;Extensions.h::pcap_sendqueue_alloc" ref="ab940e69631b7cc7f2232a69ea02b86d9" args="(u_int memsize)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structpcap__send__queue.html">pcap_send_queue</a>* pcap_sendqueue_alloc </td>
+ <td>(</td>
+ <td class="paramtype">u_int&nbsp;</td>
+ <td class="paramname"> <em>memsize</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a72624f7a9932cc2124abf661001e0aa4"></a><!-- doxytag: member="Win32&#45;Extensions.h::pcap_sendqueue_destroy" ref="a72624f7a9932cc2124abf661001e0aa4" args="(pcap_send_queue *queue)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void pcap_sendqueue_destroy </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structpcap__send__queue.html">pcap_send_queue</a> *&nbsp;</td>
+ <td class="paramname"> <em>queue</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a4c57ea320d71dbfe55c5665af9db1297"></a><!-- doxytag: member="Win32&#45;Extensions.h::pcap_sendqueue_queue" ref="a4c57ea320d71dbfe55c5665af9db1297" args="(pcap_send_queue *queue, const struct pcap_pkthdr *pkt_header, const u_char *pkt_data)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_sendqueue_queue </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structpcap__send__queue.html">pcap_send_queue</a> *&nbsp;</td>
+ <td class="paramname"> <em>queue</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const struct <a class="el" href="structpcap__pkthdr.html">pcap_pkthdr</a> *&nbsp;</td>
+ <td class="paramname"> <em>pkt_header</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const u_char *&nbsp;</td>
+ <td class="paramname"> <em>pkt_data</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aa4d55eb047a1cccc0e28397ce04ee097"></a><!-- doxytag: member="Win32&#45;Extensions.h::pcap_sendqueue_transmit" ref="aa4d55eb047a1cccc0e28397ce04ee097" args="(pcap_t *p, pcap_send_queue *queue, int sync)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">u_int pcap_sendqueue_transmit </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structpcap__send__queue.html">pcap_send_queue</a> *&nbsp;</td>
+ <td class="paramname"> <em>queue</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>sync</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a9b68e06df888cb005ddb92117227e0a6"></a><!-- doxytag: member="Win32&#45;Extensions.h::pcap_setuserbuffer" ref="a9b68e06df888cb005ddb92117227e0a6" args="(pcap_t *p, int size)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_setuserbuffer </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a6455abf1f09abfd5493e2e0e914aa612"></a><!-- doxytag: member="Win32&#45;Extensions.h::pcap_start_oem" ref="a6455abf1f09abfd5493e2e0e914aa612" args="(char *err_str, int flags)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_start_oem </td>
+ <td>(</td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>err_str</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>flags</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a8050f7829956aabd243cc32b3cfabbd6"></a><!-- doxytag: member="Win32&#45;Extensions.h::pcap_stats_ex" ref="a8050f7829956aabd243cc32b3cfabbd6" args="(pcap_t *p, int *pcap_stat_size)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct <a class="el" href="structpcap__stat.html">pcap_stat</a>* pcap_stats_ex </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int *&nbsp;</td>
+ <td class="paramname"> <em>pcap_stat_size</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [read]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/Win32-Extensions_8h_source.html b/3rdparty/winpcap/docs/html/Win32-Extensions_8h_source.html
new file mode 100644
index 00000000000..aaf88049b3d
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/Win32-Extensions_8h_source.html
@@ -0,0 +1,139 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Win32-Extensions.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+<h1>Win32-Extensions.h</h1><a href="Win32-Extensions_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (c) 1999 - 2005 NetGroup, Politecnico di Torino (Italy)</span>
+<a name="l00003"></a>00003 <span class="comment"> * Copyright (c) 2005 - 2006 CACE Technologies, Davis (California)</span>
+<a name="l00004"></a>00004 <span class="comment"> * All rights reserved.</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * Redistribution and use in source and binary forms, with or without</span>
+<a name="l00007"></a>00007 <span class="comment"> * modification, are permitted provided that the following conditions</span>
+<a name="l00008"></a>00008 <span class="comment"> * are met:</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * 1. Redistributions of source code must retain the above copyright</span>
+<a name="l00011"></a>00011 <span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
+<a name="l00012"></a>00012 <span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright</span>
+<a name="l00013"></a>00013 <span class="comment"> * notice, this list of conditions and the following disclaimer in the</span>
+<a name="l00014"></a>00014 <span class="comment"> * documentation and/or other materials provided with the distribution.</span>
+<a name="l00015"></a>00015 <span class="comment"> * 3. Neither the name of the Politecnico di Torino, CACE Technologies </span>
+<a name="l00016"></a>00016 <span class="comment"> * nor the names of its contributors may be used to endorse or promote </span>
+<a name="l00017"></a>00017 <span class="comment"> * products derived from this software without specific prior written </span>
+<a name="l00018"></a>00018 <span class="comment"> * permission.</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
+<a name="l00021"></a>00021 <span class="comment"> * &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
+<a name="l00022"></a>00022 <span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
+<a name="l00023"></a>00023 <span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
+<a name="l00024"></a>00024 <span class="comment"> * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
+<a name="l00025"></a>00025 <span class="comment"> * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
+<a name="l00026"></a>00026 <span class="comment"> * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
+<a name="l00027"></a>00027 <span class="comment"> * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
+<a name="l00028"></a>00028 <span class="comment"> * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
+<a name="l00029"></a>00029 <span class="comment"> * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
+<a name="l00030"></a>00030 <span class="comment"> * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
+<a name="l00031"></a>00031 <span class="comment"> *</span>
+<a name="l00032"></a>00032 <span class="comment"> */</span>
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <span class="preprocessor">#ifndef __WIN32_EXTENSIONS_H__</span>
+<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="preprocessor">#define __WIN32_EXTENSIONS_H__</span>
+<a name="l00036"></a>00036 <span class="preprocessor"></span>
+<a name="l00037"></a>00037 <span class="preprocessor">#ifdef __cplusplus</span>
+<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {
+<a name="l00039"></a>00039 <span class="preprocessor">#endif</span>
+<a name="l00040"></a>00040 <span class="preprocessor"></span>
+<a name="l00041"></a>00041 <span class="comment">/* Definitions */</span>
+<a name="l00042"></a>00042
+<a name="l00046"></a><a class="code" href="structpcap__send__queue.html">00046</a> <span class="keyword">struct </span><a class="code" href="structpcap__send__queue.html" title="A queue of raw packets that will be sent to the network with pcap_sendqueue_transmit()...">pcap_send_queue</a>
+<a name="l00047"></a>00047 {
+<a name="l00048"></a><a class="code" href="structpcap__send__queue.html#a30305e6f9a9069760edf175b138e445d">00048</a> u_int <a class="code" href="structpcap__send__queue.html#a30305e6f9a9069760edf175b138e445d" title="Maximum size of the the queue, in bytes. This variable contains the size of the buffer...">maxlen</a>;
+<a name="l00049"></a><a class="code" href="structpcap__send__queue.html#ab4853420730b2b590cd3ad0e72fa80ca">00049</a> u_int <a class="code" href="structpcap__send__queue.html#ab4853420730b2b590cd3ad0e72fa80ca" title="Current size of the queue, in bytes.">len</a>;
+<a name="l00050"></a><a class="code" href="structpcap__send__queue.html#aff2566f4c366b48d73479bef43ee4d2e">00050</a> <span class="keywordtype">char</span> *<a class="code" href="structpcap__send__queue.html#aff2566f4c366b48d73479bef43ee4d2e" title="Buffer containing the packets to be sent.">buffer</a>;
+<a name="l00051"></a>00051 };
+<a name="l00052"></a>00052
+<a name="l00053"></a><a class="code" href="Win32-Extensions_8h.html#a59f37277a1b82cbf46112f0e97485696">00053</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structpcap__send__queue.html" title="A queue of raw packets that will be sent to the network with pcap_sendqueue_transmit()...">pcap_send_queue</a> <a class="code" href="structpcap__send__queue.html" title="A queue of raw packets that will be sent to the network with pcap_sendqueue_transmit()...">pcap_send_queue</a>;
+<a name="l00054"></a>00054
+<a name="l00058"></a>00058 <span class="preprocessor">#if !defined(AIRPCAP_HANDLE__EAE405F5_0171_9592_B3C2_C19EC426AD34__DEFINED_)</span>
+<a name="l00059"></a><a class="code" href="Win32-Extensions_8h.html#ac635b6b5d4d6d9958cfb72d44550bd36">00059</a> <span class="preprocessor"></span><span class="preprocessor">#define AIRPCAP_HANDLE__EAE405F5_0171_9592_B3C2_C19EC426AD34__DEFINED_</span>
+<a name="l00060"></a><a class="code" href="Win32-Extensions_8h.html#aadfdcc0e37082d8f6b28a43ec9a0bccf">00060</a> <span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keyword">struct </span>_AirpcapHandle *<a class="code" href="Win32-Extensions_8h.html#aadfdcc0e37082d8f6b28a43ec9a0bccf">PAirpcapHandle</a>;
+<a name="l00061"></a>00061 <span class="preprocessor">#endif</span>
+<a name="l00062"></a>00062 <span class="preprocessor"></span>
+<a name="l00063"></a><a class="code" href="Win32-Extensions_8h.html#a8b0c82df581e67530cb69b0c737f6d13">00063</a> <span class="preprocessor">#define BPF_MEM_EX_IMM 0xc0</span>
+<a name="l00064"></a><a class="code" href="Win32-Extensions_8h.html#ae9464818b3ae1e14e27bf7dc2a7d0a55">00064</a> <span class="preprocessor"></span><span class="preprocessor">#define BPF_MEM_EX_IND 0xe0</span>
+<a name="l00065"></a>00065 <span class="preprocessor"></span>
+<a name="l00066"></a>00066 <span class="comment">/*used for ST*/</span>
+<a name="l00067"></a><a class="code" href="Win32-Extensions_8h.html#a5be0e4575ff0738e013bf0f3b76dc7be">00067</a> <span class="preprocessor">#define BPF_MEM_EX 0xc0</span>
+<a name="l00068"></a><a class="code" href="Win32-Extensions_8h.html#ad7d6cc253b9b7d72ff13f80370a52490">00068</a> <span class="preprocessor"></span><span class="preprocessor">#define BPF_TME 0x08</span>
+<a name="l00069"></a>00069 <span class="preprocessor"></span>
+<a name="l00070"></a><a class="code" href="Win32-Extensions_8h.html#a5e77fbb97cf270c27c430722a1e6fa3b">00070</a> <span class="preprocessor">#define BPF_LOOKUP 0x90 </span>
+<a name="l00071"></a><a class="code" href="Win32-Extensions_8h.html#a7b833a1802fa10b0d550c6eb3e724d75">00071</a> <span class="preprocessor"></span><span class="preprocessor">#define BPF_EXECUTE 0xa0</span>
+<a name="l00072"></a><a class="code" href="Win32-Extensions_8h.html#aab18fbabe4f6a84757afb8088827e82f">00072</a> <span class="preprocessor"></span><span class="preprocessor">#define BPF_INIT 0xb0</span>
+<a name="l00073"></a><a class="code" href="Win32-Extensions_8h.html#a52afa333263879b18b8ef1278e9d9c38">00073</a> <span class="preprocessor"></span><span class="preprocessor">#define BPF_VALIDATE 0xc0</span>
+<a name="l00074"></a><a class="code" href="Win32-Extensions_8h.html#a54a2fb014f7f0ff0dbec7b8c9c319322">00074</a> <span class="preprocessor"></span><span class="preprocessor">#define BPF_SET_ACTIVE 0xd0</span>
+<a name="l00075"></a><a class="code" href="Win32-Extensions_8h.html#abb2e97aac5a34caa5ceb0d8495ca7d8c">00075</a> <span class="preprocessor"></span><span class="preprocessor">#define BPF_RESET 0xe0</span>
+<a name="l00076"></a><a class="code" href="Win32-Extensions_8h.html#a53c19e47ce08fe540a1e1323b1d5eb04">00076</a> <span class="preprocessor"></span><span class="preprocessor">#define BPF_SET_MEMORY 0x80</span>
+<a name="l00077"></a><a class="code" href="Win32-Extensions_8h.html#ae234c1f999720a0167b71235dd9efbd3">00077</a> <span class="preprocessor"></span><span class="preprocessor">#define BPF_GET_REGISTER_VALUE 0x70</span>
+<a name="l00078"></a><a class="code" href="Win32-Extensions_8h.html#afcf6a0cd9b0e14f9456d643888ae958f">00078</a> <span class="preprocessor"></span><span class="preprocessor">#define BPF_SET_REGISTER_VALUE 0x60</span>
+<a name="l00079"></a><a class="code" href="Win32-Extensions_8h.html#aa2cac9008111e31a231a0183e2af0525">00079</a> <span class="preprocessor"></span><span class="preprocessor">#define BPF_SET_WORKING 0x50</span>
+<a name="l00080"></a><a class="code" href="Win32-Extensions_8h.html#a2beb870e2a5cd292a00b8bc243c0ab78">00080</a> <span class="preprocessor"></span><span class="preprocessor">#define BPF_SET_ACTIVE_READ 0x40</span>
+<a name="l00081"></a><a class="code" href="Win32-Extensions_8h.html#a60cf9b2aab2c973697939bdc85ff4f2d">00081</a> <span class="preprocessor"></span><span class="preprocessor">#define BPF_SET_AUTODELETION 0x30</span>
+<a name="l00082"></a><a class="code" href="Win32-Extensions_8h.html#ac6ebbf4ea8c29d48aa9ebe282544f467">00082</a> <span class="preprocessor"></span><span class="preprocessor">#define BPF_SEPARATION 0xff</span>
+<a name="l00083"></a>00083 <span class="preprocessor"></span>
+<a name="l00084"></a>00084 <span class="comment">/* Prototypes */</span>
+<a name="l00085"></a>00085 <a class="code" href="structpcap__send__queue.html" title="A queue of raw packets that will be sent to the network with pcap_sendqueue_transmit()...">pcap_send_queue</a>* <a class="code" href="group__wpcapfunc.html#gab940e69631b7cc7f2232a69ea02b86d9" title="Allocate a send queue.">pcap_sendqueue_alloc</a>(u_int memsize);
+<a name="l00086"></a>00086
+<a name="l00087"></a>00087 <span class="keywordtype">void</span> <a class="code" href="group__wpcapfunc.html#ga72624f7a9932cc2124abf661001e0aa4" title="Destroy a send queue.">pcap_sendqueue_destroy</a>(<a class="code" href="structpcap__send__queue.html" title="A queue of raw packets that will be sent to the network with pcap_sendqueue_transmit()...">pcap_send_queue</a>* queue);
+<a name="l00088"></a>00088
+<a name="l00089"></a>00089 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#ga4c57ea320d71dbfe55c5665af9db1297" title="Add a packet to a send queue.">pcap_sendqueue_queue</a>(<a class="code" href="structpcap__send__queue.html" title="A queue of raw packets that will be sent to the network with pcap_sendqueue_transmit()...">pcap_send_queue</a>* queue, <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structpcap__pkthdr.html" title="Header of a packet in the dump file.">pcap_pkthdr</a> *pkt_header, <span class="keyword">const</span> u_char *pkt_data);
+<a name="l00090"></a>00090
+<a name="l00091"></a>00091 u_int <a class="code" href="group__wpcapfunc.html#gaa4d55eb047a1cccc0e28397ce04ee097" title="Send a queue of raw packets to the network.">pcap_sendqueue_transmit</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p, <a class="code" href="structpcap__send__queue.html" title="A queue of raw packets that will be sent to the network with pcap_sendqueue_transmit()...">pcap_send_queue</a>* queue, <span class="keywordtype">int</span> sync);
+<a name="l00092"></a>00092
+<a name="l00093"></a>00093 HANDLE <a class="code" href="group__wpcapfunc.html#ga2c415e9192c7b18a81a02300ae6f2c02" title="Return the handle of the event associated with the interface p.">pcap_getevent</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p);
+<a name="l00094"></a>00094
+<a name="l00095"></a>00095 <span class="keyword">struct </span><a class="code" href="structpcap__stat.html" title="Structure that keeps statistical values on an interface.">pcap_stat</a> *<a class="code" href="group__wpcapfunc.html#ga8050f7829956aabd243cc32b3cfabbd6" title="Return statistics on current capture.">pcap_stats_ex</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p, <span class="keywordtype">int</span> *pcap_stat_size);
+<a name="l00096"></a>00096
+<a name="l00097"></a>00097 <span class="keywordtype">int</span> <a class="code" href="Win32-Extensions_8h.html#a9b68e06df888cb005ddb92117227e0a6">pcap_setuserbuffer</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p, <span class="keywordtype">int</span> size);
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#gaedef54159d918b22a7de8e75b8a3ef4d" title="Save a capture to file.">pcap_live_dump</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p, <span class="keywordtype">char</span> *filename, <span class="keywordtype">int</span> maxsize, <span class="keywordtype">int</span> maxpacks);
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#gafe8a334f3a7ae2dc7f52e96523da39be" title="Return the status of the kernel dump process, i.e. tells if one of the limits defined...">pcap_live_dump_ended</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p, <span class="keywordtype">int</span> sync);
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#gae92f11bfb001c19b2d0fbcd6821d222a" title="Returns if a given filter applies to an offline packet.">pcap_offline_filter</a>(<span class="keyword">struct</span> bpf_program *prog, <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structpcap__pkthdr.html" title="Header of a packet in the dump file.">pcap_pkthdr</a> *header, <span class="keyword">const</span> u_char *pkt_data);
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105 <span class="keywordtype">int</span> <a class="code" href="Win32-Extensions_8h.html#a6455abf1f09abfd5493e2e0e914aa612">pcap_start_oem</a>(<span class="keywordtype">char</span>* err_str, <span class="keywordtype">int</span> flags);
+<a name="l00106"></a>00106
+<a name="l00107"></a>00107 PAirpcapHandle <a class="code" href="group__wpcapfunc.html#ga4c8f8d1b9238c74faa156494a6b98670" title="Returns the AirPcap handler associated with an adapter. This handler can be used...">pcap_get_airpcap_handle</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p);
+<a name="l00108"></a>00108
+<a name="l00109"></a>00109 <span class="preprocessor">#ifdef __cplusplus</span>
+<a name="l00110"></a>00110 <span class="preprocessor"></span>}
+<a name="l00111"></a>00111 <span class="preprocessor">#endif</span>
+<a name="l00112"></a>00112 <span class="preprocessor"></span>
+<a name="l00113"></a>00113 <span class="preprocessor">#endif //__WIN32_EXTENSIONS_H__</span>
+</pre></div></div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/annotated.html b/3rdparty/winpcap/docs/html/annotated.html
new file mode 100644
index 00000000000..5db948affa0
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/annotated.html
@@ -0,0 +1,70 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Data Structures</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Data Structures</h1>Here are the data structures with brief descriptions:<table>
+ <tr><td class="indexkey"><a class="el" href="struct____CPU__Private__Data.html">__CPU_Private_Data</a></td><td class="indexvalue">Kernel buffer of each CPU </td></tr>
+ <tr><td class="indexkey"><a class="el" href="struct__DEVICE__EXTENSION.html">_DEVICE_EXTENSION</a></td><td class="indexvalue">Port device extension </td></tr>
+ <tr><td class="indexkey"><a class="el" href="struct__INTERNAL__REQUEST.html">_INTERNAL_REQUEST</a></td><td class="indexvalue">Stores an OID request </td></tr>
+ <tr><td class="indexkey"><a class="el" href="struct__OPEN__INSTANCE.html">_OPEN_INSTANCE</a></td><td class="indexvalue">Contains the state of a running instance of the NPF driver </td></tr>
+ <tr><td class="indexkey"><a class="el" href="struct__PACKET__OID__DATA.html">_PACKET_OID_DATA</a></td><td class="indexvalue">Structure containing an OID request </td></tr>
+ <tr><td class="indexkey"><a class="el" href="struct__PACKET__RESERVED.html">_PACKET_RESERVED</a></td><td class="indexvalue">Contains a NDIS packet </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structactive__pars.html">active_pars</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="structactivehosts.html">activehosts</a></td><td class="indexvalue">Keeps a list of all the opened connections in the active mode </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structbinary__stream.html">binary_stream</a></td><td class="indexvalue">A stream of X86 binary code </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structdaemon__slpars.html">daemon_slpars</a></td><td class="indexvalue">Structure that keeps the parameters needed by the <a class="el" href="daemon_8h.html#ac54125d76e6f1ed4531f2025d51297e9">daemon_serviceloop()</a> function </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structJIT__BPF__Filter.html">JIT_BPF_Filter</a></td><td class="indexvalue">Structure describing a x86 filtering program created by the jitter </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structpacket__file__header.html">packet_file_header</a></td><td class="indexvalue">Header of a libpcap dump file </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structPacketHeader.html">PacketHeader</a></td><td class="indexvalue">Structure prepended to each packet in the kernel buffer pool </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structpcap__addr.html">pcap_addr</a></td><td class="indexvalue">Representation of an interface address, used by <a class="el" href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d" title="Construct a list of network devices that can be opened with pcap_open_live().">pcap_findalldevs()</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structpcap__file__header.html">pcap_file_header</a></td><td class="indexvalue">Header of a libpcap dump file </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structpcap__if.html">pcap_if</a></td><td class="indexvalue">Item in a list of interfaces, used by <a class="el" href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d" title="Construct a list of network devices that can be opened with pcap_open_live().">pcap_findalldevs()</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structpcap__pkthdr.html">pcap_pkthdr</a></td><td class="indexvalue">Header of a packet in the dump file </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structpcap__rmtauth.html">pcap_rmtauth</a></td><td class="indexvalue">This structure keeps the information needed to autheticate the user on a remote machine </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structpcap__samp.html">pcap_samp</a></td><td class="indexvalue">This structure defines the information related to sampling </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structpcap__send__queue.html">pcap_send_queue</a></td><td class="indexvalue">A queue of raw packets that will be sent to the network with <a class="el" href="group__wpcapfunc.html#gaa4d55eb047a1cccc0e28397ce04ee097" title="Send a queue of raw packets to the network.">pcap_sendqueue_transmit()</a> </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structpcap__stat.html">pcap_stat</a></td><td class="indexvalue">Structure that keeps statistical values on an interface </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structrpcap__auth.html">rpcap_auth</a></td><td class="indexvalue">Structure that keeps the data required for the authentication on the remote host </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structrpcap__filter.html">rpcap_filter</a></td><td class="indexvalue">General header used for the <a class="el" href="group__wpcapfunc.html#gaf5f9cfe85dad0967ff607e5159b1ba61" title="Associate a filter to a capture.">pcap_setfilter()</a> command; keeps just the number of BPF instructions </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structrpcap__filterbpf__insn.html">rpcap_filterbpf_insn</a></td><td class="indexvalue">Structure that keeps a single BPF instuction; it is repeated 'ninsn' times according to the 'rpcap_filterbpf' header </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structrpcap__findalldevs__if.html">rpcap_findalldevs_if</a></td><td class="indexvalue">Format of the message for the interface description (findalldevs command) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structrpcap__findalldevs__ifaddr.html">rpcap_findalldevs_ifaddr</a></td><td class="indexvalue">Format of the message for the address listing (findalldevs command) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structrpcap__header.html">rpcap_header</a></td><td class="indexvalue">Common header for all the RPCAP messages </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structrpcap__openreply.html">rpcap_openreply</a></td><td class="indexvalue">Format of the message of the connection opening reply (open command) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structrpcap__pkthdr.html">rpcap_pkthdr</a></td><td class="indexvalue">Format of the header which encapsulates captured packets when transmitted on the network </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structrpcap__sampling.html">rpcap_sampling</a></td><td class="indexvalue">Structure that is needed to set sampling parameters </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structrpcap__startcapreply.html">rpcap_startcapreply</a></td><td class="indexvalue">Format of the reply message that devoted to start a remote capture (startcap reply command) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structrpcap__startcapreq.html">rpcap_startcapreq</a></td><td class="indexvalue">Format of the message that starts a remote capture (startcap command) </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structrpcap__stats.html">rpcap_stats</a></td><td class="indexvalue">Structure that keeps the statistics about the number of packets captured, dropped, etc </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structsf__pkthdr.html">sf_pkthdr</a></td><td class="indexvalue">Header associated to a packet in the driver's buffer when the driver is in dump mode. Similar to the bpf_hdr structure, but simpler </td></tr>
+</table>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/classes.html b/3rdparty/winpcap/docs/html/classes.html
new file mode 100644
index 00000000000..8ed33f18e88
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/classes.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Alphabetical List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Data Structure Index</h1><div class="qindex"><a class="qindex" href="#letter_A">A</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_B">B</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_D">D</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_J">J</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_P">P</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_R">R</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter__">_</a></div>
+<table align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
+<tr><td><a name="letter_A"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;A&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a name="letter_P"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;P&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="structpcap__send__queue.html">pcap_send_queue</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structrpcap__header.html">rpcap_header</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structsf__pkthdr.html">sf_pkthdr</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structactive__pars.html">active_pars</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structpacket__file__header.html">packet_file_header</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structpcap__stat.html">pcap_stat</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structrpcap__openreply.html">rpcap_openreply</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter__"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;_&nbsp;&nbsp;</div></td></tr></table>
+</td></tr><tr><td><a class="el" href="structactivehosts.html">activehosts</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structPacketHeader.html">PacketHeader</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_R"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;R&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="structrpcap__pkthdr.html">rpcap_pkthdr</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct____CPU__Private__Data.html">__CPU_Private_Data</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_B"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;B&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="structpcap__addr.html">pcap_addr</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structrpcap__auth.html">rpcap_auth</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structrpcap__sampling.html">rpcap_sampling</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct__DEVICE__EXTENSION.html">_DEVICE_EXTENSION</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structbinary__stream.html">binary_stream</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structpcap__file__header.html">pcap_file_header</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structrpcap__filter.html">rpcap_filter</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structrpcap__startcapreply.html">rpcap_startcapreply</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct__INTERNAL__REQUEST.html">_INTERNAL_REQUEST</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_D"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;D&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="structpcap__if.html">pcap_if</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structrpcap__filterbpf__insn.html">rpcap_filterbpf_insn</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structrpcap__startcapreq.html">rpcap_startcapreq</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct__OPEN__INSTANCE.html">_OPEN_INSTANCE</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structdaemon__slpars.html">daemon_slpars</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structpcap__pkthdr.html">pcap_pkthdr</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structrpcap__findalldevs__if.html">rpcap_findalldevs_if</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structrpcap__stats.html">rpcap_stats</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct__PACKET__OID__DATA.html">_PACKET_OID_DATA</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_J"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;J&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="structpcap__rmtauth.html">pcap_rmtauth</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structrpcap__findalldevs__ifaddr.html">rpcap_findalldevs_ifaddr</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;S&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="struct__PACKET__RESERVED.html">_PACKET_RESERVED</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structJIT__BPF__Filter.html">JIT_BPF_Filter</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structpcap__samp.html">pcap_samp</a>&nbsp;&nbsp;&nbsp;</td></tr></table><div class="qindex"><a class="qindex" href="#letter_A">A</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_B">B</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_D">D</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_J">J</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_P">P</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_R">R</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter__">_</a></div>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/daemon_8h.html b/3rdparty/winpcap/docs/html/daemon_8h.html
new file mode 100644
index 00000000000..9356c74981f
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/daemon_8h.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: daemon.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>daemon.h File Reference</h1>
+<p><a href="daemon_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdaemon__slpars.html">daemon_slpars</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure that keeps the parameters needed by the <a class="el" href="daemon_8h.html#ac54125d76e6f1ed4531f2025d51297e9">daemon_serviceloop()</a> function. <a href="structdaemon__slpars.html#_details">More...</a><br/></td></tr>
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="daemon_8h.html#ac54125d76e6f1ed4531f2025d51297e9">daemon_serviceloop</a> (void *ptr)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="daemon_8h.html#a17c4e1f787be3e05287772cef511a91d">pthread_suspend</a> (int msec)</td></tr>
+</table>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ac54125d76e6f1ed4531f2025d51297e9"></a><!-- doxytag: member="daemon.h::daemon_serviceloop" ref="ac54125d76e6f1ed4531f2025d51297e9" args="(void *ptr)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void daemon_serviceloop </td>
+ <td>(</td>
+ <td class="paramtype">void *&nbsp;</td>
+ <td class="paramname"> <em>ptr</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a17c4e1f787be3e05287772cef511a91d"></a><!-- doxytag: member="daemon.h::pthread_suspend" ref="a17c4e1f787be3e05287772cef511a91d" args="(int msec)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void pthread_suspend </td>
+ <td>(</td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>msec</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/daemon_8h_source.html b/3rdparty/winpcap/docs/html/daemon_8h_source.html
new file mode 100644
index 00000000000..c1676ed92ca
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/daemon_8h_source.html
@@ -0,0 +1,82 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: daemon.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+<h1>daemon.h</h1><a href="daemon_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (c) 2002 - 2003</span>
+<a name="l00003"></a>00003 <span class="comment"> * NetGroup, Politecnico di Torino (Italy)</span>
+<a name="l00004"></a>00004 <span class="comment"> * All rights reserved.</span>
+<a name="l00005"></a>00005 <span class="comment"> * </span>
+<a name="l00006"></a>00006 <span class="comment"> * Redistribution and use in source and binary forms, with or without </span>
+<a name="l00007"></a>00007 <span class="comment"> * modification, are permitted provided that the following conditions </span>
+<a name="l00008"></a>00008 <span class="comment"> * are met:</span>
+<a name="l00009"></a>00009 <span class="comment"> * </span>
+<a name="l00010"></a>00010 <span class="comment"> * 1. Redistributions of source code must retain the above copyright </span>
+<a name="l00011"></a>00011 <span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
+<a name="l00012"></a>00012 <span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright </span>
+<a name="l00013"></a>00013 <span class="comment"> * notice, this list of conditions and the following disclaimer in the </span>
+<a name="l00014"></a>00014 <span class="comment"> * documentation and/or other materials provided with the distribution. </span>
+<a name="l00015"></a>00015 <span class="comment"> * 3. Neither the name of the Politecnico di Torino nor the names of its </span>
+<a name="l00016"></a>00016 <span class="comment"> * contributors may be used to endorse or promote products derived from </span>
+<a name="l00017"></a>00017 <span class="comment"> * this software without specific prior written permission. </span>
+<a name="l00018"></a>00018 <span class="comment"> * </span>
+<a name="l00019"></a>00019 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS </span>
+<a name="l00020"></a>00020 <span class="comment"> * &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT </span>
+<a name="l00021"></a>00021 <span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR </span>
+<a name="l00022"></a>00022 <span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT </span>
+<a name="l00023"></a>00023 <span class="comment"> * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, </span>
+<a name="l00024"></a>00024 <span class="comment"> * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT </span>
+<a name="l00025"></a>00025 <span class="comment"> * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, </span>
+<a name="l00026"></a>00026 <span class="comment"> * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY </span>
+<a name="l00027"></a>00027 <span class="comment"> * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT </span>
+<a name="l00028"></a>00028 <span class="comment"> * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE </span>
+<a name="l00029"></a>00029 <span class="comment"> * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
+<a name="l00030"></a>00030 <span class="comment"> * </span>
+<a name="l00031"></a>00031 <span class="comment"> */</span>
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="preprocessor">#ifndef __DAEMON_H__</span>
+<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="preprocessor">#define __DAEMON_H__</span>
+<a name="l00035"></a>00035 <span class="preprocessor"></span>
+<a name="l00037"></a><a class="code" href="structdaemon__slpars.html">00037</a> <span class="keyword">struct </span><a class="code" href="structdaemon__slpars.html" title="Structure that keeps the parameters needed by the daemon_serviceloop() function.">daemon_slpars</a>
+<a name="l00038"></a>00038 {
+<a name="l00039"></a><a class="code" href="structdaemon__slpars.html#a33939ceefa385f1e6c60f94f2474869d">00039</a> SOCKET <a class="code" href="structdaemon__slpars.html#a33939ceefa385f1e6c60f94f2474869d" title="SOCKET ID of the control connection.">sockctrl</a>;
+<a name="l00040"></a><a class="code" href="structdaemon__slpars.html#a144e351e5de6c1ee3d9db04403434984">00040</a> <span class="keywordtype">int</span> <a class="code" href="structdaemon__slpars.html#a144e351e5de6c1ee3d9db04403434984" title="Not null if the daemon has to run in active mode.">isactive</a>;
+<a name="l00041"></a><a class="code" href="structdaemon__slpars.html#a2513fb035d3d00a2d1b3c355aab6c93a">00041</a> <span class="keywordtype">int</span> <a class="code" href="structdaemon__slpars.html#a2513fb035d3d00a2d1b3c355aab6c93a" title="&amp;#39;1&amp;#39; if we permit NULL authentication, &amp;#39;0&amp;#39; otherwise">nullAuthAllowed</a>;
+<a name="l00042"></a><a class="code" href="structdaemon__slpars.html#a56e762dd86c425a2780508a6373d5271">00042</a> <span class="keywordtype">int</span> <a class="code" href="structdaemon__slpars.html#a56e762dd86c425a2780508a6373d5271" title="&amp;#39;1&amp;#39; if the client closed the control connection explicitely; used in active...">activeclose</a>;
+<a name="l00043"></a>00043 };
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045
+<a name="l00046"></a>00046 <span class="keywordtype">void</span> <a class="code" href="daemon_8h.html#ac54125d76e6f1ed4531f2025d51297e9">daemon_serviceloop</a>( <span class="keywordtype">void</span> *ptr );
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 <span class="keywordtype">void</span> <a class="code" href="daemon_8h.html#a17c4e1f787be3e05287772cef511a91d">pthread_suspend</a>(<span class="keywordtype">int</span> msec);
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 <span class="preprocessor">#endif</span>
+<a name="l00051"></a>00051 <span class="preprocessor"></span>
+</pre></div></div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/deprecated.html b/3rdparty/winpcap/docs/html/deprecated.html
new file mode 100644
index 00000000000..b6e90169669
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/deprecated.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Deprecated List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+
+
+<h1><a class="anchor" id="deprecated">Deprecated List </a></h1><p><a class="anchor" id="_deprecated000003"></a> </p>
+<dl>
+<dt>Global <a class="el" href="group__wpcapfunc.html#ga4c9f5690b99fb2af1f8904403f7da06b">pcap_file</a> </dt>
+<dd><p class="startdd">Due to incompatibilities between the C Runtime (CRT) used to compile WinPcap and the one used by WinPcap-based applications, this function may return an invalid FILE pointer, i.e. a descriptor that causes all the standard I/O stream functions (ftell, fseek, fclose...) to fail. The function is still available for backwards binary compatibility, only.</p>
+<p class="enddd"></p>
+</dd>
+</dl>
+<p><a class="anchor" id="_deprecated000001"></a> </p>
+<dl>
+<dt>Global <a class="el" href="group__wpcapfunc.html#gaed295fc9fd86434372e8a8316f1270b1">pcap_lookupdev</a> </dt>
+<dd><p class="startdd">Use <a class="el" href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d">pcap_findalldevs()</a> or <a class="el" href="group__wpcapfunc.html#ga98f36e62c95c6ad81eaa8b2bbeb8f16e">pcap_findalldevs_ex()</a> instead.</p>
+<p class="enddd"></p>
+</dd>
+</dl>
+<p><a class="anchor" id="_deprecated000002"></a> </p>
+<dl>
+<dt>Global <a class="el" href="group__wpcapfunc.html#gaa35276d0fa530c51a455f298fa1ec453">pcap_lookupnet</a> </dt>
+<dd><p class="startdd">Use <a class="el" href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d">pcap_findalldevs()</a> or <a class="el" href="group__wpcapfunc.html#ga98f36e62c95c6ad81eaa8b2bbeb8f16e">pcap_findalldevs_ex()</a> instead.</p>
+<p class="enddd"></p>
+</dd>
+</dl>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/doxygen.png b/3rdparty/winpcap/docs/html/doxygen.png
new file mode 100644
index 00000000000..f0a274bbaff
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/doxygen.png
Binary files differ
diff --git a/3rdparty/winpcap/docs/html/doxygen__groups_8txt.html b/3rdparty/winpcap/docs/html/doxygen__groups_8txt.html
new file mode 100644
index 00000000000..8935e3bcec4
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/doxygen__groups_8txt.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: doxygen_groups.txt File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>doxygen_groups.txt File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+</table>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/dump.gif b/3rdparty/winpcap/docs/html/dump.gif
new file mode 100644
index 00000000000..dfc0af8710e
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/dump.gif
Binary files differ
diff --git a/3rdparty/winpcap/docs/html/encoding.gif b/3rdparty/winpcap/docs/html/encoding.gif
new file mode 100644
index 00000000000..62a29ffb620
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/encoding.gif
Binary files differ
diff --git a/3rdparty/winpcap/docs/html/fileconf_8h.html b/3rdparty/winpcap/docs/html/fileconf_8h.html
new file mode 100644
index 00000000000..cc663f745b4
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/fileconf_8h.html
@@ -0,0 +1,78 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: fileconf.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>fileconf.h File Reference</h1>
+<p><a href="fileconf_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="fileconf_8h.html#a0de1d69b41cd2c4660ba69528e1efcbc">fileconf_read</a> (int sign)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="fileconf_8h.html#acfe7f224e7366e140e926ea972eebad3">fileconf_save</a> (const char *savefile)</td></tr>
+</table>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="a0de1d69b41cd2c4660ba69528e1efcbc"></a><!-- doxytag: member="fileconf.h::fileconf_read" ref="a0de1d69b41cd2c4660ba69528e1efcbc" args="(int sign)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void fileconf_read </td>
+ <td>(</td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>sign</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="acfe7f224e7366e140e926ea972eebad3"></a><!-- doxytag: member="fileconf.h::fileconf_save" ref="acfe7f224e7366e140e926ea972eebad3" args="(const char *savefile)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int fileconf_save </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>savefile</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/fileconf_8h_source.html b/3rdparty/winpcap/docs/html/fileconf_8h_source.html
new file mode 100644
index 00000000000..69812554974
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/fileconf_8h_source.html
@@ -0,0 +1,74 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: fileconf.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+<h1>fileconf.h</h1><a href="fileconf_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (c) 2002 - 2003</span>
+<a name="l00003"></a>00003 <span class="comment"> * NetGroup, Politecnico di Torino (Italy)</span>
+<a name="l00004"></a>00004 <span class="comment"> * All rights reserved.</span>
+<a name="l00005"></a>00005 <span class="comment"> * </span>
+<a name="l00006"></a>00006 <span class="comment"> * Redistribution and use in source and binary forms, with or without </span>
+<a name="l00007"></a>00007 <span class="comment"> * modification, are permitted provided that the following conditions </span>
+<a name="l00008"></a>00008 <span class="comment"> * are met:</span>
+<a name="l00009"></a>00009 <span class="comment"> * </span>
+<a name="l00010"></a>00010 <span class="comment"> * 1. Redistributions of source code must retain the above copyright </span>
+<a name="l00011"></a>00011 <span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
+<a name="l00012"></a>00012 <span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright </span>
+<a name="l00013"></a>00013 <span class="comment"> * notice, this list of conditions and the following disclaimer in the </span>
+<a name="l00014"></a>00014 <span class="comment"> * documentation and/or other materials provided with the distribution. </span>
+<a name="l00015"></a>00015 <span class="comment"> * 3. Neither the name of the Politecnico di Torino nor the names of its </span>
+<a name="l00016"></a>00016 <span class="comment"> * contributors may be used to endorse or promote products derived from </span>
+<a name="l00017"></a>00017 <span class="comment"> * this software without specific prior written permission. </span>
+<a name="l00018"></a>00018 <span class="comment"> * </span>
+<a name="l00019"></a>00019 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS </span>
+<a name="l00020"></a>00020 <span class="comment"> * &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT </span>
+<a name="l00021"></a>00021 <span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR </span>
+<a name="l00022"></a>00022 <span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT </span>
+<a name="l00023"></a>00023 <span class="comment"> * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, </span>
+<a name="l00024"></a>00024 <span class="comment"> * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT </span>
+<a name="l00025"></a>00025 <span class="comment"> * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, </span>
+<a name="l00026"></a>00026 <span class="comment"> * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY </span>
+<a name="l00027"></a>00027 <span class="comment"> * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT </span>
+<a name="l00028"></a>00028 <span class="comment"> * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE </span>
+<a name="l00029"></a>00029 <span class="comment"> * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
+<a name="l00030"></a>00030 <span class="comment"> * </span>
+<a name="l00031"></a>00031 <span class="comment"> */</span>
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="preprocessor">#ifndef __FILECONF_H__</span>
+<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="preprocessor">#define __FILECONF_H__</span>
+<a name="l00035"></a>00035 <span class="preprocessor"></span>
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="keywordtype">void</span> <a class="code" href="fileconf_8h.html#a0de1d69b41cd2c4660ba69528e1efcbc">fileconf_read</a>(<span class="keywordtype">int</span> sign);
+<a name="l00038"></a>00038 <span class="keywordtype">int</span> <a class="code" href="fileconf_8h.html#acfe7f224e7366e140e926ea972eebad3">fileconf_save</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *savefile);
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041 <span class="preprocessor">#endif</span>
+<a name="l00042"></a>00042 <span class="preprocessor"></span>
+</pre></div></div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/files.html b/3rdparty/winpcap/docs/html/files.html
new file mode 100644
index 00000000000..aedd63d9944
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/files.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: File Index</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>File List</h1>Here is a list of all files with brief descriptions:<table>
+ <tr><td class="indexkey"><a class="el" href="daemon_8h.html">daemon.h</a> <a href="daemon_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="fileconf_8h.html">fileconf.h</a> <a href="fileconf_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="ioctls_8h.html">ioctls.h</a> <a href="ioctls_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="jitter_8h.html">jitter.h</a> <a href="jitter_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="Packet_8h.html">Packet.h</a> <a href="Packet_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="pcap-remote_8h.html">pcap-remote.h</a> <a href="pcap-remote_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="incs_2pcap_8h.html">incs/pcap.h</a> <a href="incs_2pcap_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="funcs_2pcap_8h.html">funcs/pcap.h</a> <a href="funcs_2pcap_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="remote-ext_8h.html">remote-ext.h</a> <a href="remote-ext_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="rpcapd_8h.html">rpcapd.h</a> <a href="rpcapd_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="utils_8h.html">utils.h</a> <a href="utils_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="Win32-Extensions_8h.html">Win32-Extensions.h</a> <a href="Win32-Extensions_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="win32-svc_8h.html">win32-svc.h</a> <a href="win32-svc_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="wpcap__remote_8htm.html">wpcap_remote.htm</a> <a href="wpcap__remote_8htm_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+</table>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/ftv2blank.png b/3rdparty/winpcap/docs/html/ftv2blank.png
new file mode 100644
index 00000000000..493c3c0b615
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/ftv2blank.png
Binary files differ
diff --git a/3rdparty/winpcap/docs/html/ftv2doc.png b/3rdparty/winpcap/docs/html/ftv2doc.png
new file mode 100644
index 00000000000..f72999f9217
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/ftv2doc.png
Binary files differ
diff --git a/3rdparty/winpcap/docs/html/ftv2folderclosed.png b/3rdparty/winpcap/docs/html/ftv2folderclosed.png
new file mode 100644
index 00000000000..d6d063440cb
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/ftv2folderclosed.png
Binary files differ
diff --git a/3rdparty/winpcap/docs/html/ftv2folderopen.png b/3rdparty/winpcap/docs/html/ftv2folderopen.png
new file mode 100644
index 00000000000..bbe2c913cf4
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/ftv2folderopen.png
Binary files differ
diff --git a/3rdparty/winpcap/docs/html/ftv2lastnode.png b/3rdparty/winpcap/docs/html/ftv2lastnode.png
new file mode 100644
index 00000000000..e7b9ba90cb0
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/ftv2lastnode.png
Binary files differ
diff --git a/3rdparty/winpcap/docs/html/ftv2link.png b/3rdparty/winpcap/docs/html/ftv2link.png
new file mode 100644
index 00000000000..14f3fed0036
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/ftv2link.png
Binary files differ
diff --git a/3rdparty/winpcap/docs/html/ftv2mlastnode.png b/3rdparty/winpcap/docs/html/ftv2mlastnode.png
new file mode 100644
index 00000000000..09ceb6adb01
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/ftv2mlastnode.png
Binary files differ
diff --git a/3rdparty/winpcap/docs/html/ftv2mnode.png b/3rdparty/winpcap/docs/html/ftv2mnode.png
new file mode 100644
index 00000000000..3254c051121
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/ftv2mnode.png
Binary files differ
diff --git a/3rdparty/winpcap/docs/html/ftv2node.png b/3rdparty/winpcap/docs/html/ftv2node.png
new file mode 100644
index 00000000000..c9f06a57f4c
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/ftv2node.png
Binary files differ
diff --git a/3rdparty/winpcap/docs/html/ftv2plastnode.png b/3rdparty/winpcap/docs/html/ftv2plastnode.png
new file mode 100644
index 00000000000..0b07e00913d
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/ftv2plastnode.png
Binary files differ
diff --git a/3rdparty/winpcap/docs/html/ftv2pnode.png b/3rdparty/winpcap/docs/html/ftv2pnode.png
new file mode 100644
index 00000000000..2001b797ba2
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/ftv2pnode.png
Binary files differ
diff --git a/3rdparty/winpcap/docs/html/ftv2vertline.png b/3rdparty/winpcap/docs/html/ftv2vertline.png
new file mode 100644
index 00000000000..b330f3a33c0
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/ftv2vertline.png
Binary files differ
diff --git a/3rdparty/winpcap/docs/html/funcs_2pcap_8h.html b/3rdparty/winpcap/docs/html/funcs_2pcap_8h.html
new file mode 100644
index 00000000000..f28970767bf
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/funcs_2pcap_8h.html
@@ -0,0 +1,176 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: pcap.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>pcap.h File Reference</h1>
+<p><a href="funcs_2pcap_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Windows-specific Extensions</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrp06003dbc75790df77036476ed55327c8"></a> The functions in this section extend libpcap to offer advanced functionalities (like remote packet capture, packet buffer size variation or high-precision packet injection). Howerver, at the moment they can be used only in Windows. </p>
+<br/><br/></div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="Win32-Extensions_8h.html#aadfdcc0e37082d8f6b28a43ec9a0bccf">PAirpcapHandle</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga4c8f8d1b9238c74faa156494a6b98670">pcap_get_airpcap_handle</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the AirPcap handler associated with an adapter. This handler can be used to change the wireless-related settings of the CACE Technologies AirPcap wireless capture adapters. <a href="group__wpcapfunc.html#ga4c8f8d1b9238c74faa156494a6b98670"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gae92f11bfb001c19b2d0fbcd6821d222a">pcap_offline_filter</a> (struct bpf_program *prog, const struct <a class="el" href="structpcap__pkthdr.html">pcap_pkthdr</a> *header, const u_char *pkt_data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns if a given filter applies to an offline packet. <a href="group__wpcapfunc.html#gae92f11bfb001c19b2d0fbcd6821d222a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gaedef54159d918b22a7de8e75b8a3ef4d">pcap_live_dump</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, char *filename, int maxsize, int maxpacks)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Save a capture to file. <a href="group__wpcapfunc.html#gaedef54159d918b22a7de8e75b8a3ef4d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gafe8a334f3a7ae2dc7f52e96523da39be">pcap_live_dump_ended</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, int sync)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the status of the kernel dump process, i.e. tells if one of the limits defined with <a class="el" href="group__wpcapfunc.html#gaedef54159d918b22a7de8e75b8a3ef4d" title="Save a capture to file.">pcap_live_dump()</a> has been reached. <a href="group__wpcapfunc.html#gafe8a334f3a7ae2dc7f52e96523da39be"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structpcap__stat.html">pcap_stat</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga8050f7829956aabd243cc32b3cfabbd6">pcap_stats_ex</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, int *pcap_stat_size)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return statistics on current capture. <a href="group__wpcapfunc.html#ga8050f7829956aabd243cc32b3cfabbd6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga124bde25ccd9e39017ff2abec2dda623">pcap_setbuff</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, int dim)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the size of the kernel buffer associated with an adapter. <a href="group__wpcapfunc.html#ga124bde25ccd9e39017ff2abec2dda623"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gaef07ef49d3c75644f3fd34518e2fe720">pcap_setmode</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, int mode)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the working mode of the interface p to mode. <a href="group__wpcapfunc.html#gaef07ef49d3c75644f3fd34518e2fe720"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gab14ceacbf1c2f63026416dd73f80dc0d">pcap_setmintocopy</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, int size)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the minumum amount of data received by the kernel in a single call. <a href="group__wpcapfunc.html#gab14ceacbf1c2f63026416dd73f80dc0d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">HANDLE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga2c415e9192c7b18a81a02300ae6f2c02">pcap_getevent</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the handle of the event associated with the interface p. <a href="group__wpcapfunc.html#ga2c415e9192c7b18a81a02300ae6f2c02"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structpcap__send__queue.html">pcap_send_queue</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gab940e69631b7cc7f2232a69ea02b86d9">pcap_sendqueue_alloc</a> (u_int memsize)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocate a send queue. <a href="group__wpcapfunc.html#gab940e69631b7cc7f2232a69ea02b86d9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga72624f7a9932cc2124abf661001e0aa4">pcap_sendqueue_destroy</a> (<a class="el" href="structpcap__send__queue.html">pcap_send_queue</a> *queue)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy a send queue. <a href="group__wpcapfunc.html#ga72624f7a9932cc2124abf661001e0aa4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga4c57ea320d71dbfe55c5665af9db1297">pcap_sendqueue_queue</a> (<a class="el" href="structpcap__send__queue.html">pcap_send_queue</a> *queue, const struct <a class="el" href="structpcap__pkthdr.html">pcap_pkthdr</a> *pkt_header, const u_char *pkt_data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a packet to a send queue. <a href="group__wpcapfunc.html#ga4c57ea320d71dbfe55c5665af9db1297"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">u_int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gaa4d55eb047a1cccc0e28397ce04ee097">pcap_sendqueue_transmit</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, <a class="el" href="structpcap__send__queue.html">pcap_send_queue</a> *queue, int sync)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send a queue of raw packets to the network. <a href="group__wpcapfunc.html#gaa4d55eb047a1cccc0e28397ce04ee097"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga98f36e62c95c6ad81eaa8b2bbeb8f16e">pcap_findalldevs_ex</a> (char *source, struct <a class="el" href="structpcap__rmtauth.html">pcap_rmtauth</a> *auth, <a class="el" href="structpcap__if.html">pcap_if_t</a> **alldevs, char *errbuf)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a list of network devices that can be opened with <a class="el" href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791" title="Open a generic source in order to capture / send (WinPcap only) traffic.">pcap_open()</a>. <a href="group__wpcapfunc.html#ga98f36e62c95c6ad81eaa8b2bbeb8f16e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gaa3111e10f930a9772a32a922b26948b0">pcap_createsrcstr</a> (char *source, int type, const char *<a class="el" href="wpcap__remote_8htm.html#a3c46d79c790748a5942fb43baa6b3073">host</a>, const char *port, const char *name, char *errbuf)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Accept a set of strings (host name, port, ...), and it returns the complete source string according to the new format (e.g. 'rpcap://1.2.3.4/eth0'). <a href="group__wpcapfunc.html#gaa3111e10f930a9772a32a922b26948b0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga090e0afd3f463b4b60a64c47eddc1ba2">pcap_parsesrcstr</a> (const char *source, int *type, char *<a class="el" href="wpcap__remote_8htm.html#a3c46d79c790748a5942fb43baa6b3073">host</a>, char *port, char *name, char *errbuf)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parse the source string and returns the pieces in which the source can be split. <a href="group__wpcapfunc.html#ga090e0afd3f463b4b60a64c47eddc1ba2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791">pcap_open</a> (const char *source, int snaplen, int flags, int read_timeout, struct <a class="el" href="structpcap__rmtauth.html">pcap_rmtauth</a> *auth, char *errbuf)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Open a generic source in order to capture / send (WinPcap only) traffic. <a href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structpcap__samp.html">pcap_samp</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga84c7d55f5b0e7d545b38d6b8e7bde005">pcap_setsampling</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Define a sampling method for packet capture. <a href="group__wpcapfunc.html#ga84c7d55f5b0e7d545b38d6b8e7bde005"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">SOCKET&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga5495943cc8262db57f726e2a23f837dd">pcap_remoteact_accept</a> (const char *address, const char *port, const char *hostlist, char *connectinghost, struct <a class="el" href="structpcap__rmtauth.html">pcap_rmtauth</a> *auth, char *errbuf)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Block until a network connection is accepted (active mode only). <a href="group__wpcapfunc.html#ga5495943cc8262db57f726e2a23f837dd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga6a84e03497f946d61c440696e57e2c95">pcap_remoteact_close</a> (const char *<a class="el" href="wpcap__remote_8htm.html#a3c46d79c790748a5942fb43baa6b3073">host</a>, char *errbuf)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Drop an active connection (active mode only). <a href="group__wpcapfunc.html#ga6a84e03497f946d61c440696e57e2c95"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga7b022e0a67f5ff62fd13df5c688d6d82">pcap_remoteact_cleanup</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clean the socket that is currently used in waiting active connections. <a href="group__wpcapfunc.html#ga7b022e0a67f5ff62fd13df5c688d6d82"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga7ee8f666bff537aa457b7c05651cf815">pcap_remoteact_list</a> (char *hostlist, char sep, int size, char *errbuf)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the hostname of the host that have an active connection with us (active mode only). <a href="group__wpcapfunc.html#ga7ee8f666bff537aa457b7c05651cf815"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Unix-compatible Functions</h2></td></tr>
+<tr><td colspan="2"><p><a class="anchor" id="amgrp66235da55168274536ca96ecc6470bf6"></a> These functions are part of the libpcap library, and therefore work both on Windows and on Linux. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd>errbuf in <a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a>, <a class="el" href="group__wpcapfunc.html#ga6445eeb76f2757b9fa088b276eea2845" title="Create a pcap_t structure without starting a capture.">pcap_open_dead()</a>, <a class="el" href="group__wpcapfunc.html#ga91078168a13de8848df2b7b83d1f5b69" title="Open a savefile in the tcpdump/libpcap format to read packets.">pcap_open_offline()</a>, <a class="el" href="group__wpcapfunc.html#ga3f212141c80b59aad8ac535bb0178275" title="Switch between blocking and nonblocking mode.">pcap_setnonblock()</a>, <a class="el" href="group__wpcapfunc.html#gab25dc0bfe06545b86be4103bf010708e" title="Get the &quot;non-blocking&quot; state of an interface.">pcap_getnonblock()</a>, <a class="el" href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d" title="Construct a list of network devices that can be opened with pcap_open_live().">pcap_findalldevs()</a>, <a class="el" href="group__wpcapfunc.html#gaed295fc9fd86434372e8a8316f1270b1" title="Return the first valid device in the system.">pcap_lookupdev()</a>, and <a class="el" href="group__wpcapfunc.html#gaa35276d0fa530c51a455f298fa1ec453" title="Return the subnet and netmask of an interface.">pcap_lookupnet()</a> is assumed to be able to hold at least PCAP_ERRBUF_SIZE chars. </dd></dl>
+<br/><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gabcba231c099919ecd9300d7160b19878">pcap_handler</a> )(u_char *user, const struct <a class="el" href="structpcap__pkthdr.html">pcap_pkthdr</a> *pkt_header, const u_char *pkt_data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prototype of the callback function that receives the packets. <a href="group__wpcapfunc.html#gabcba231c099919ecd9300d7160b19878"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8">pcap_open_live</a> (const char *device, int snaplen, int promisc, int to_ms, char *ebuf)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Open a live capture from the network. <a href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga6445eeb76f2757b9fa088b276eea2845">pcap_open_dead</a> (int linktype, int snaplen)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a pcap_t structure without starting a capture. <a href="group__wpcapfunc.html#ga6445eeb76f2757b9fa088b276eea2845"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga91078168a13de8848df2b7b83d1f5b69">pcap_open_offline</a> (const char *fname, char *errbuf)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Open a savefile in the tcpdump/libpcap format to read packets. <a href="group__wpcapfunc.html#ga91078168a13de8848df2b7b83d1f5b69"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__wpcap__def.html#gab8c7858aa3a7e3158d9d58cb113a2ae8">pcap_dumper_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga9506c33d580fdb5e5c288dba0f8a085c">pcap_dump_open</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, const char *fname)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Open a file to write packets. <a href="group__wpcapfunc.html#ga9506c33d580fdb5e5c288dba0f8a085c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga3f212141c80b59aad8ac535bb0178275">pcap_setnonblock</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, int nonblock, char *errbuf)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Switch between blocking and nonblocking mode. <a href="group__wpcapfunc.html#ga3f212141c80b59aad8ac535bb0178275"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gab25dc0bfe06545b86be4103bf010708e">pcap_getnonblock</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, char *errbuf)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the "non-blocking" state of an interface. <a href="group__wpcapfunc.html#gab25dc0bfe06545b86be4103bf010708e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d">pcap_findalldevs</a> (<a class="el" href="structpcap__if.html">pcap_if_t</a> **alldevsp, char *errbuf)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct a list of network devices that can be opened with <a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a>. <a href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga346b4b0b7fd1cda4abb9a39f767dbeb1">pcap_freealldevs</a> (<a class="el" href="structpcap__if.html">pcap_if_t</a> *alldevsp)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free an interface list returned by <a class="el" href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d" title="Construct a list of network devices that can be opened with pcap_open_live().">pcap_findalldevs()</a>. <a href="group__wpcapfunc.html#ga346b4b0b7fd1cda4abb9a39f767dbeb1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gaed295fc9fd86434372e8a8316f1270b1">pcap_lookupdev</a> (char *errbuf)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the first valid device in the system. <a href="group__wpcapfunc.html#gaed295fc9fd86434372e8a8316f1270b1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gaa35276d0fa530c51a455f298fa1ec453">pcap_lookupnet</a> (const char *device, <a class="el" href="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482">bpf_u_int32</a> *netp, <a class="el" href="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482">bpf_u_int32</a> *maskp, char *errbuf)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the subnet and netmask of an interface. <a href="group__wpcapfunc.html#gaa35276d0fa530c51a455f298fa1ec453"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c">pcap_dispatch</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, int cnt, <a class="el" href="group__wpcapfunc.html#gabcba231c099919ecd9300d7160b19878">pcap_handler</a> callback, u_char *user)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Collect a group of packets. <a href="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de">pcap_loop</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, int cnt, <a class="el" href="group__wpcapfunc.html#gabcba231c099919ecd9300d7160b19878">pcap_handler</a> callback, u_char *user)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Collect a group of packets. <a href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">u_char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gadf60257f650aaf869671e0a163611fc3">pcap_next</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, struct <a class="el" href="structpcap__pkthdr.html">pcap_pkthdr</a> *h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the next available packet. <a href="group__wpcapfunc.html#gadf60257f650aaf869671e0a163611fc3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga439439c2eae61161dc1efb1e03a81133">pcap_next_ex</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, struct <a class="el" href="structpcap__pkthdr.html">pcap_pkthdr</a> **pkt_header, const u_char **pkt_data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read a packet from an interface or from an offline capture. <a href="group__wpcapfunc.html#ga439439c2eae61161dc1efb1e03a81133"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gae0dc50910fabbd375fab8a1352a6cf33">pcap_breakloop</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set a flag that will force <a class="el" href="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c" title="Collect a group of packets.">pcap_dispatch()</a> or <a class="el" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de" title="Collect a group of packets.">pcap_loop()</a> to return rather than looping. <a href="group__wpcapfunc.html#gae0dc50910fabbd375fab8a1352a6cf33"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga51dbda0f1ab9da2cfe49d657486d50b2">pcap_sendpacket</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, u_char *buf, int size)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send a raw packet. <a href="group__wpcapfunc.html#ga51dbda0f1ab9da2cfe49d657486d50b2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga659439bf5aa3988b5a92d31990fbf437">pcap_dump</a> (u_char *user, const struct <a class="el" href="structpcap__pkthdr.html">pcap_pkthdr</a> *h, const u_char *sp)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Save a packet to disk. <a href="group__wpcapfunc.html#ga659439bf5aa3988b5a92d31990fbf437"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga50de34b8b3298f76c66c82b7ca3f84de">pcap_dump_ftell</a> (<a class="el" href="group__wpcap__def.html#gab8c7858aa3a7e3158d9d58cb113a2ae8">pcap_dumper_t</a> *)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the file position for a "savefile". <a href="group__wpcapfunc.html#ga50de34b8b3298f76c66c82b7ca3f84de"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga363bdc6f6b39b4979ddcf15ecb830c5c">pcap_compile</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, struct bpf_program *fp, char *str, int optimize, <a class="el" href="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482">bpf_u_int32</a> netmask)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compile a packet filter, converting an high level filtering expression (see <a class="el" href="group__language.html">Filtering expression syntax</a>) in a program that can be interpreted by the kernel-level filtering engine. <a href="group__wpcapfunc.html#ga363bdc6f6b39b4979ddcf15ecb830c5c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga8325b202dad14a00609db8372722ae4e">pcap_compile_nopcap</a> (int snaplen_arg, int linktype_arg, struct bpf_program *program, char *buf, int optimize, <a class="el" href="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482">bpf_u_int32</a> mask)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compile a packet filter without the need of opening an adapter. This function converts an high level filtering expression (see <a class="el" href="group__language.html">Filtering expression syntax</a>) in a program that can be interpreted by the kernel-level filtering engine. <a href="group__wpcapfunc.html#ga8325b202dad14a00609db8372722ae4e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gaf5f9cfe85dad0967ff607e5159b1ba61">pcap_setfilter</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, struct bpf_program *fp)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Associate a filter to a capture. <a href="group__wpcapfunc.html#gaf5f9cfe85dad0967ff607e5159b1ba61"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga9e0a5aad1a5dc79d85f1edfcebe0ac13">pcap_freecode</a> (struct bpf_program *fp)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free a filter. <a href="group__wpcapfunc.html#ga9e0a5aad1a5dc79d85f1edfcebe0ac13"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga64c019f851f7da6892d51cca15f12ace">pcap_datalink</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the link layer of an adapter. <a href="group__wpcapfunc.html#ga64c019f851f7da6892d51cca15f12ace"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga64e482360b0ed7d65fce1db23d56b921">pcap_list_datalinks</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, int **dlt_buf)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">list datalinks <a href="group__wpcapfunc.html#ga64e482360b0ed7d65fce1db23d56b921"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga9588b99ac118cf827873d9e941eb6c77">pcap_set_datalink</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, int dlt)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the current data link type of the pcap descriptor to the type specified by dlt. -1 is returned on failure. <a href="group__wpcapfunc.html#ga9588b99ac118cf827873d9e941eb6c77"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga440b2f0757acd4804588933324909207">pcap_datalink_name_to_val</a> (const char *name)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Translates a data link type name, which is a DLT_ name with the DLT_ removed, to the corresponding data link type value. The translation is case-insensitive. -1 is returned on failure. <a href="group__wpcapfunc.html#ga440b2f0757acd4804588933324909207"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gad45c16d494577f1886704af8f31ed442">pcap_datalink_val_to_name</a> (int dlt)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Translates a data link type value to the corresponding data link type name. NULL is returned on failure. <a href="group__wpcapfunc.html#gad45c16d494577f1886704af8f31ed442"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga3f142cd0694b49357e4a73371db71411">pcap_datalink_val_to_description</a> (int dlt)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Translates a data link type value to a short description of that data link type. NULL is returned on failure. <a href="group__wpcapfunc.html#ga3f142cd0694b49357e4a73371db71411"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gae5c6e9768e89a6b82f9d720f37e6ab97">pcap_snapshot</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the dimension of the packet portion (in bytes) that is delivered to the application. <a href="group__wpcapfunc.html#gae5c6e9768e89a6b82f9d720f37e6ab97"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gaba4941e09e5e03ba39841de4b1d5d6a4">pcap_is_swapped</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns true if the current savefile uses a different byte order than the current system. <a href="group__wpcapfunc.html#gaba4941e09e5e03ba39841de4b1d5d6a4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga39dfb05149b443cc25b8febc455ca753">pcap_major_version</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return the major version number of the pcap library used to write the savefile. <a href="group__wpcapfunc.html#ga39dfb05149b443cc25b8febc455ca753"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gac7a9dd9cd040ee500221cf35dfb49248">pcap_minor_version</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return the minor version number of the pcap library used to write the savefile. <a href="group__wpcapfunc.html#gac7a9dd9cd040ee500221cf35dfb49248"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">FILE *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga4c9f5690b99fb2af1f8904403f7da06b">pcap_file</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the standard stream of an offline capture. <a href="group__wpcapfunc.html#ga4c9f5690b99fb2af1f8904403f7da06b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gabbd74d8c3ce1bcbccc76129ac38f4549">pcap_stats</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, struct <a class="el" href="structpcap__stat.html">pcap_stat</a> *ps)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return statistics on current capture. <a href="group__wpcapfunc.html#gabbd74d8c3ce1bcbccc76129ac38f4549"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gac3b6784c6c2623b93b22f6f219bd470e">pcap_perror</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, char *prefix)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">print the text of the last pcap library error on stderr, prefixed by prefix. <a href="group__wpcapfunc.html#gac3b6784c6c2623b93b22f6f219bd470e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga81305cb154e4497e95bbb9b708631a3a">pcap_geterr</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return the error text pertaining to the last pcap library error. <a href="group__wpcapfunc.html#ga81305cb154e4497e95bbb9b708631a3a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gafac2067e8f66f5a5a87f19f5e2b5ad4f">pcap_strerror</a> (int error)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Provided in case strerror() isn't available. <a href="group__wpcapfunc.html#gafac2067e8f66f5a5a87f19f5e2b5ad4f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga2d92cec9ff55906b5b6fb883e4bd72f4">pcap_lib_version</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a pointer to a string giving information about the version of the libpcap library being used; note that it contains more information than just a version number. <a href="group__wpcapfunc.html#ga2d92cec9ff55906b5b6fb883e4bd72f4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gaa45a5e1a4ba9925bb3586dcbeec78560">pcap_close</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">close the files associated with p and deallocates resources. <a href="group__wpcapfunc.html#gaa45a5e1a4ba9925bb3586dcbeec78560"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">FILE *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga8dac02f297422ff2ab5983d1e30c58b6">pcap_dump_file</a> (<a class="el" href="group__wpcap__def.html#gab8c7858aa3a7e3158d9d58cb113a2ae8">pcap_dumper_t</a> *p)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return the standard I/O stream of the 'savefile' opened by <a class="el" href="group__wpcapfunc.html#ga9506c33d580fdb5e5c288dba0f8a085c" title="Open a file to write packets.">pcap_dump_open()</a>. <a href="group__wpcapfunc.html#ga8dac02f297422ff2ab5983d1e30c58b6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga90404ae3dcffcd3bbe78f8b187a88984">pcap_dump_flush</a> (<a class="el" href="group__wpcap__def.html#gab8c7858aa3a7e3158d9d58cb113a2ae8">pcap_dumper_t</a> *p)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flushes the output buffer to the ``savefile,'' so that any packets written with <a class="el" href="group__wpcapfunc.html#ga659439bf5aa3988b5a92d31990fbf437" title="Save a packet to disk.">pcap_dump()</a> but not yet written to the ``savefile'' will be written. -1 is returned on error, 0 on success. <a href="group__wpcapfunc.html#ga90404ae3dcffcd3bbe78f8b187a88984"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga3897795c1e9fb10571092febae964ef0">pcap_dump_close</a> (<a class="el" href="group__wpcap__def.html#gab8c7858aa3a7e3158d9d58cb113a2ae8">pcap_dumper_t</a> *p)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Closes a savefile. <a href="group__wpcapfunc.html#ga3897795c1e9fb10571092febae964ef0"></a><br/></td></tr>
+</table>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/funcs_2pcap_8h_source.html b/3rdparty/winpcap/docs/html/funcs_2pcap_8h_source.html
new file mode 100644
index 00000000000..487998c3bde
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/funcs_2pcap_8h_source.html
@@ -0,0 +1,206 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: pcap.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+<h1>pcap.h</h1><a href="funcs_2pcap_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
+<a name="l00017"></a>00017 <span class="comment">//\{ </span>
+<a name="l00018"></a>00018
+<a name="l00027"></a><a class="code" href="group__wpcapfunc.html#gabcba231c099919ecd9300d7160b19878">00027</a> <span class="keyword">typedef</span> void (*<a class="code" href="group__wpcapfunc.html#gabcba231c099919ecd9300d7160b19878" title="Prototype of the callback function that receives the packets.">pcap_handler</a>)(u_char *user, <span class="keyword">const</span> <span class="keyword">struct </span><a class="code" href="structpcap__pkthdr.html" title="Header of a packet in the dump file.">pcap_pkthdr</a> *pkt_header,
+<a name="l00028"></a>00028 <span class="keyword">const</span> u_char *pkt_data);
+<a name="l00029"></a>00029
+<a name="l00063"></a>00063 <a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *<a class="code" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *device, <span class="keywordtype">int</span> snaplen, <span class="keywordtype">int</span> promisc, <span class="keywordtype">int</span> to_ms, <span class="keywordtype">char</span> *ebuf);
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065
+<a name="l00075"></a>00075 <a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *<a class="code" href="group__wpcapfunc.html#ga6445eeb76f2757b9fa088b276eea2845" title="Create a pcap_t structure without starting a capture.">pcap_open_dead</a>(<span class="keywordtype">int</span> linktype, <span class="keywordtype">int</span> snaplen);
+<a name="l00076"></a>00076
+<a name="l00077"></a>00077
+<a name="l00091"></a>00091 <a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *<a class="code" href="group__wpcapfunc.html#ga91078168a13de8848df2b7b83d1f5b69" title="Open a savefile in the tcpdump/libpcap format to read packets.">pcap_open_offline</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *fname, <span class="keywordtype">char</span> *errbuf);
+<a name="l00092"></a>00092
+<a name="l00105"></a>00105 <a class="code" href="group__wpcap__def.html#gab8c7858aa3a7e3158d9d58cb113a2ae8" title="libpcap savefile descriptor.">pcap_dumper_t</a> *<a class="code" href="group__wpcapfunc.html#ga9506c33d580fdb5e5c288dba0f8a085c" title="Open a file to write packets.">pcap_dump_open</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p, <span class="keyword">const</span> <span class="keywordtype">char</span> *fname);
+<a name="l00106"></a>00106
+<a name="l00124"></a>00124 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#ga3f212141c80b59aad8ac535bb0178275" title="Switch between blocking and nonblocking mode.">pcap_setnonblock</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p, <span class="keywordtype">int</span> nonblock, <span class="keywordtype">char</span> *errbuf);
+<a name="l00125"></a>00125
+<a name="l00126"></a>00126
+<a name="l00136"></a>00136 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#gab25dc0bfe06545b86be4103bf010708e" title="Get the &amp;quot;non-blocking&amp;quot; state of an interface.">pcap_getnonblock</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p, <span class="keywordtype">char</span> *errbuf);
+<a name="l00137"></a>00137
+<a name="l00153"></a>00153 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d" title="Construct a list of network devices that can be opened with pcap_open_live().">pcap_findalldevs</a>(<a class="code" href="structpcap__if.html" title="Item in a list of interfaces, used by pcap_findalldevs().">pcap_if_t</a> **alldevsp, <span class="keywordtype">char</span> *errbuf);
+<a name="l00154"></a>00154
+<a name="l00161"></a>00161 <span class="keywordtype">void</span> <a class="code" href="group__wpcapfunc.html#ga346b4b0b7fd1cda4abb9a39f767dbeb1" title="Free an interface list returned by pcap_findalldevs().">pcap_freealldevs</a>(<a class="code" href="structpcap__if.html" title="Item in a list of interfaces, used by pcap_findalldevs().">pcap_if_t</a> *alldevsp);
+<a name="l00162"></a>00162
+<a name="l00173"></a>00173 <span class="keywordtype">char</span> *<a class="code" href="group__wpcapfunc.html#gaed295fc9fd86434372e8a8316f1270b1" title="Return the first valid device in the system.">pcap_lookupdev</a>(<span class="keywordtype">char</span> *errbuf);
+<a name="l00174"></a>00174
+<a name="l00175"></a>00175
+<a name="l00187"></a>00187 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#gaa35276d0fa530c51a455f298fa1ec453" title="Return the subnet and netmask of an interface.">pcap_lookupnet</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *device, <a class="code" href="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482" title="32-bit unsigned integer">bpf_u_int32</a> *netp, <a class="code" href="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482" title="32-bit unsigned integer">bpf_u_int32</a> *maskp, <span class="keywordtype">char</span> *errbuf);
+<a name="l00188"></a>00188
+<a name="l00227"></a>00227 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c" title="Collect a group of packets.">pcap_dispatch</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p, <span class="keywordtype">int</span> cnt, <a class="code" href="group__wpcapfunc.html#gabcba231c099919ecd9300d7160b19878" title="Prototype of the callback function that receives the packets.">pcap_handler</a> callback, u_char *user);
+<a name="l00228"></a>00228
+<a name="l00229"></a>00229
+<a name="l00244"></a>00244 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de" title="Collect a group of packets.">pcap_loop</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p, <span class="keywordtype">int</span> cnt, <a class="code" href="group__wpcapfunc.html#gabcba231c099919ecd9300d7160b19878" title="Prototype of the callback function that receives the packets.">pcap_handler</a> callback, u_char *user);
+<a name="l00245"></a>00245
+<a name="l00246"></a>00246
+<a name="l00261"></a>00261 u_char *<a class="code" href="group__wpcapfunc.html#gadf60257f650aaf869671e0a163611fc3" title="Return the next available packet.">pcap_next</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p, <span class="keyword">struct</span> <a class="code" href="structpcap__pkthdr.html" title="Header of a packet in the dump file.">pcap_pkthdr</a> *h);
+<a name="l00262"></a>00262
+<a name="l00279"></a>00279 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#ga439439c2eae61161dc1efb1e03a81133" title="Read a packet from an interface or from an offline capture.">pcap_next_ex</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p, <span class="keyword">struct</span> <a class="code" href="structpcap__pkthdr.html" title="Header of a packet in the dump file.">pcap_pkthdr</a> **pkt_header, <span class="keyword">const</span> u_char **pkt_data);
+<a name="l00280"></a>00280
+<a name="l00302"></a>00302 <span class="keywordtype">void</span> <a class="code" href="group__wpcapfunc.html#gae0dc50910fabbd375fab8a1352a6cf33" title="set a flag that will force pcap_dispatch() or pcap_loop() to return rather than looping...">pcap_breakloop</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *);
+<a name="l00303"></a>00303
+<a name="l00315"></a>00315 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#ga51dbda0f1ab9da2cfe49d657486d50b2" title="Send a raw packet.">pcap_sendpacket</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p, u_char *buf, <span class="keywordtype">int</span> size);
+<a name="l00316"></a>00316
+<a name="l00327"></a>00327 <span class="keywordtype">void</span> <a class="code" href="group__wpcapfunc.html#ga659439bf5aa3988b5a92d31990fbf437" title="Save a packet to disk.">pcap_dump</a>(u_char *user, <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structpcap__pkthdr.html" title="Header of a packet in the dump file.">pcap_pkthdr</a> *h, <span class="keyword">const</span> u_char *sp);
+<a name="l00328"></a>00328
+<a name="l00337"></a>00337 <span class="keywordtype">long</span> <a class="code" href="group__wpcapfunc.html#ga50de34b8b3298f76c66c82b7ca3f84de" title="Return the file position for a &amp;quot;savefile&amp;quot;.">pcap_dump_ftell</a>(<a class="code" href="group__wpcap__def.html#gab8c7858aa3a7e3158d9d58cb113a2ae8" title="libpcap savefile descriptor.">pcap_dumper_t</a> *);
+<a name="l00338"></a>00338
+<a name="l00357"></a>00357 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#ga363bdc6f6b39b4979ddcf15ecb830c5c" title="Compile a packet filter, converting an high level filtering expression (see Filtering...">pcap_compile</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p, <span class="keyword">struct</span> bpf_program *fp, <span class="keywordtype">char</span> *str, <span class="keywordtype">int</span> optimize, <a class="code" href="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482" title="32-bit unsigned integer">bpf_u_int32</a> netmask);
+<a name="l00358"></a>00358
+<a name="l00378"></a>00378 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#ga8325b202dad14a00609db8372722ae4e" title="Compile a packet filter without the need of opening an adapter. This function converts...">pcap_compile_nopcap</a>(<span class="keywordtype">int</span> snaplen_arg, <span class="keywordtype">int</span> linktype_arg, <span class="keyword">struct</span> bpf_program *program, <span class="keywordtype">char</span> *buf, <span class="keywordtype">int</span> optimize, <a class="code" href="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482" title="32-bit unsigned integer">bpf_u_int32</a> mask);
+<a name="l00379"></a>00379
+<a name="l00380"></a>00380
+<a name="l00391"></a>00391 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#gaf5f9cfe85dad0967ff607e5159b1ba61" title="Associate a filter to a capture.">pcap_setfilter</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p, <span class="keyword">struct</span> bpf_program *fp);
+<a name="l00392"></a>00392
+<a name="l00393"></a>00393
+<a name="l00404"></a>00404 <span class="keywordtype">void</span> <a class="code" href="group__wpcapfunc.html#ga9e0a5aad1a5dc79d85f1edfcebe0ac13" title="Free a filter.">pcap_freecode</a>(<span class="keyword">struct</span> bpf_program *fp);
+<a name="l00405"></a>00405
+<a name="l00485"></a>00485 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#ga64c019f851f7da6892d51cca15f12ace" title="Return the link layer of an adapter.">pcap_datalink</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p);
+<a name="l00486"></a>00486
+<a name="l00496"></a>00496 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#ga64e482360b0ed7d65fce1db23d56b921" title="list datalinks">pcap_list_datalinks</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p, <span class="keywordtype">int</span> **dlt_buf);
+<a name="l00497"></a>00497
+<a name="l00500"></a>00500 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#ga9588b99ac118cf827873d9e941eb6c77" title="Set the current data link type of the pcap descriptor to the type specified by dlt...">pcap_set_datalink</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p, <span class="keywordtype">int</span> dlt);
+<a name="l00501"></a>00501
+<a name="l00506"></a>00506 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#ga440b2f0757acd4804588933324909207" title="Translates a data link type name, which is a DLT_ name with the DLT_ removed, to...">pcap_datalink_name_to_val</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *name);
+<a name="l00507"></a>00507
+<a name="l00511"></a>00511 <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="group__wpcapfunc.html#gad45c16d494577f1886704af8f31ed442" title="Translates a data link type value to the corresponding data link type name. NULL...">pcap_datalink_val_to_name</a>(<span class="keywordtype">int</span> dlt);
+<a name="l00512"></a>00512
+<a name="l00516"></a>00516 <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="group__wpcapfunc.html#ga3f142cd0694b49357e4a73371db71411" title="Translates a data link type value to a short description of that data link type....">pcap_datalink_val_to_description</a>(<span class="keywordtype">int</span> dlt);
+<a name="l00517"></a>00517
+<a name="l00518"></a>00518
+<a name="l00526"></a>00526 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#gae5c6e9768e89a6b82f9d720f37e6ab97" title="Return the dimension of the packet portion (in bytes) that is delivered to the application...">pcap_snapshot</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p);
+<a name="l00527"></a>00527
+<a name="l00528"></a>00528
+<a name="l00532"></a>00532 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#gaba4941e09e5e03ba39841de4b1d5d6a4" title="returns true if the current savefile uses a different byte order than the current...">pcap_is_swapped</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p);
+<a name="l00533"></a>00533
+<a name="l00534"></a>00534
+<a name="l00539"></a>00539 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#ga39dfb05149b443cc25b8febc455ca753" title="return the major version number of the pcap library used to write the savefile.">pcap_major_version</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p);
+<a name="l00540"></a>00540
+<a name="l00541"></a>00541
+<a name="l00546"></a>00546 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#gac7a9dd9cd040ee500221cf35dfb49248" title="return the minor version number of the pcap library used to write the savefile.">pcap_minor_version</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p);
+<a name="l00547"></a>00547
+<a name="l00562"></a>00562 FILE *<a class="code" href="group__wpcapfunc.html#ga4c9f5690b99fb2af1f8904403f7da06b" title="Return the standard stream of an offline capture.">pcap_file</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p);
+<a name="l00563"></a>00563
+<a name="l00578"></a>00578 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#gabbd74d8c3ce1bcbccc76129ac38f4549" title="Return statistics on current capture.">pcap_stats</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p, <span class="keyword">struct</span> <a class="code" href="structpcap__stat.html" title="Structure that keeps statistical values on an interface.">pcap_stat</a> *ps);
+<a name="l00579"></a>00579
+<a name="l00584"></a>00584 <span class="keywordtype">void</span> <a class="code" href="group__wpcapfunc.html#gac3b6784c6c2623b93b22f6f219bd470e" title="print the text of the last pcap library error on stderr, prefixed by prefix.">pcap_perror</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p, <span class="keywordtype">char</span> *prefix);
+<a name="l00585"></a>00585
+<a name="l00586"></a>00586
+<a name="l00596"></a>00596 <span class="keywordtype">char</span> *<a class="code" href="group__wpcapfunc.html#ga81305cb154e4497e95bbb9b708631a3a" title="return the error text pertaining to the last pcap library error.">pcap_geterr</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p);
+<a name="l00597"></a>00597
+<a name="l00598"></a>00598
+<a name="l00604"></a>00604 <span class="keywordtype">char</span> *<a class="code" href="group__wpcapfunc.html#gafac2067e8f66f5a5a87f19f5e2b5ad4f" title="Provided in case strerror() isn&amp;#39;t available.">pcap_strerror</a>(<span class="keywordtype">int</span> error);
+<a name="l00605"></a>00605
+<a name="l00610"></a>00610 <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="group__wpcapfunc.html#ga2d92cec9ff55906b5b6fb883e4bd72f4" title="Returns a pointer to a string giving information about the version of the libpcap...">pcap_lib_version</a>(<span class="keywordtype">void</span>);
+<a name="l00611"></a>00611
+<a name="l00617"></a>00617 <span class="keywordtype">void</span> <a class="code" href="group__wpcapfunc.html#gaa45a5e1a4ba9925bb3586dcbeec78560" title="close the files associated with p and deallocates resources.">pcap_close</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p);
+<a name="l00618"></a>00618
+<a name="l00620"></a>00620 FILE *<a class="code" href="group__wpcapfunc.html#ga8dac02f297422ff2ab5983d1e30c58b6" title="return the standard I/O stream of the &amp;#39;savefile&amp;#39; opened by pcap_dump_open()...">pcap_dump_file</a>(<a class="code" href="group__wpcap__def.html#gab8c7858aa3a7e3158d9d58cb113a2ae8" title="libpcap savefile descriptor.">pcap_dumper_t</a> *p);
+<a name="l00621"></a>00621
+<a name="l00626"></a>00626 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#ga90404ae3dcffcd3bbe78f8b187a88984" title="Flushes the output buffer to the ``savefile,&amp;#39;&amp;#39; so that any packets written...">pcap_dump_flush</a>(<a class="code" href="group__wpcap__def.html#gab8c7858aa3a7e3158d9d58cb113a2ae8" title="libpcap savefile descriptor.">pcap_dumper_t</a> *p);
+<a name="l00627"></a>00627
+<a name="l00632"></a>00632 <span class="keywordtype">void</span> <a class="code" href="group__wpcapfunc.html#ga3897795c1e9fb10571092febae964ef0" title="Closes a savefile.">pcap_dump_close</a>(<a class="code" href="group__wpcap__def.html#gab8c7858aa3a7e3158d9d58cb113a2ae8" title="libpcap savefile descriptor.">pcap_dumper_t</a> *p);
+<a name="l00633"></a>00633
+<a name="l00634"></a>00634 <span class="comment">//\}</span>
+<a name="l00635"></a>00635 <span class="comment">// End of Unix-compatible functions</span>
+<a name="l00636"></a>00636
+<a name="l00637"></a>00637
+<a name="l00638"></a>00638
+<a name="l00639"></a>00639
+<a name="l00640"></a>00640
+<a name="l00641"></a>00641
+<a name="l00642"></a>00642
+<a name="l00649"></a>00649 <span class="comment">//\{ </span>
+<a name="l00650"></a>00650
+<a name="l00667"></a>00667 <a class="code" href="Win32-Extensions_8h.html#aadfdcc0e37082d8f6b28a43ec9a0bccf">PAirpcapHandle</a> <a class="code" href="group__wpcapfunc.html#ga4c8f8d1b9238c74faa156494a6b98670" title="Returns the AirPcap handler associated with an adapter. This handler can be used...">pcap_get_airpcap_handle</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p);
+<a name="l00668"></a>00668
+<a name="l00686"></a>00686 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#gae92f11bfb001c19b2d0fbcd6821d222a" title="Returns if a given filter applies to an offline packet.">pcap_offline_filter</a>(<span class="keyword">struct</span> bpf_program *prog, <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structpcap__pkthdr.html" title="Header of a packet in the dump file.">pcap_pkthdr</a> *header, <span class="keyword">const</span> u_char *pkt_data);
+<a name="l00687"></a>00687
+<a name="l00712"></a>00712 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#gaedef54159d918b22a7de8e75b8a3ef4d" title="Save a capture to file.">pcap_live_dump</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p, <span class="keywordtype">char</span> *filename, <span class="keywordtype">int</span> maxsize, <span class="keywordtype">int</span> maxpacks);
+<a name="l00713"></a>00713
+<a name="l00714"></a>00714
+<a name="l00731"></a>00731 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#gafe8a334f3a7ae2dc7f52e96523da39be" title="Return the status of the kernel dump process, i.e. tells if one of the limits defined...">pcap_live_dump_ended</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p, <span class="keywordtype">int</span> sync);
+<a name="l00732"></a>00732
+<a name="l00733"></a>00733
+<a name="l00757"></a>00757 <span class="keyword">struct </span><a class="code" href="structpcap__stat.html" title="Structure that keeps statistical values on an interface.">pcap_stat</a> *<a class="code" href="group__wpcapfunc.html#ga8050f7829956aabd243cc32b3cfabbd6" title="Return statistics on current capture.">pcap_stats_ex</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p, <span class="keywordtype">int</span> *pcap_stat_size);
+<a name="l00758"></a>00758
+<a name="l00768"></a>00768 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#ga124bde25ccd9e39017ff2abec2dda623" title="Set the size of the kernel buffer associated with an adapter.">pcap_setbuff</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p, <span class="keywordtype">int</span> dim);
+<a name="l00769"></a>00769
+<a name="l00770"></a>00770
+<a name="l00777"></a>00777 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#gaef07ef49d3c75644f3fd34518e2fe720" title="Set the working mode of the interface p to mode.">pcap_setmode</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p, <span class="keywordtype">int</span> mode);
+<a name="l00778"></a>00778
+<a name="l00779"></a>00779
+<a name="l00793"></a>00793 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#gab14ceacbf1c2f63026416dd73f80dc0d" title="Set the minumum amount of data received by the kernel in a single call.">pcap_setmintocopy</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p, <span class="keywordtype">int</span> size);
+<a name="l00794"></a>00794
+<a name="l00795"></a>00795
+<a name="l00796"></a>00796
+<a name="l00806"></a>00806 HANDLE <a class="code" href="group__wpcapfunc.html#ga2c415e9192c7b18a81a02300ae6f2c02" title="Return the handle of the event associated with the interface p.">pcap_getevent</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p);
+<a name="l00807"></a>00807
+<a name="l00820"></a>00820 <a class="code" href="structpcap__send__queue.html" title="A queue of raw packets that will be sent to the network with pcap_sendqueue_transmit()...">pcap_send_queue</a>* <a class="code" href="group__wpcapfunc.html#gab940e69631b7cc7f2232a69ea02b86d9" title="Allocate a send queue.">pcap_sendqueue_alloc</a>(u_int memsize);
+<a name="l00821"></a>00821
+<a name="l00828"></a>00828 <span class="keywordtype">void</span> <a class="code" href="group__wpcapfunc.html#ga72624f7a9932cc2124abf661001e0aa4" title="Destroy a send queue.">pcap_sendqueue_destroy</a>(<a class="code" href="structpcap__send__queue.html" title="A queue of raw packets that will be sent to the network with pcap_sendqueue_transmit()...">pcap_send_queue</a>* queue);
+<a name="l00829"></a>00829
+<a name="l00844"></a>00844 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#ga4c57ea320d71dbfe55c5665af9db1297" title="Add a packet to a send queue.">pcap_sendqueue_queue</a>(<a class="code" href="structpcap__send__queue.html" title="A queue of raw packets that will be sent to the network with pcap_sendqueue_transmit()...">pcap_send_queue</a>* queue, <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structpcap__pkthdr.html" title="Header of a packet in the dump file.">pcap_pkthdr</a> *pkt_header, <span class="keyword">const</span> u_char *pkt_data);
+<a name="l00845"></a>00845
+<a name="l00846"></a>00846
+<a name="l00870"></a>00870 u_int <a class="code" href="group__wpcapfunc.html#gaa4d55eb047a1cccc0e28397ce04ee097" title="Send a queue of raw packets to the network.">pcap_sendqueue_transmit</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p, <a class="code" href="structpcap__send__queue.html" title="A queue of raw packets that will be sent to the network with pcap_sendqueue_transmit()...">pcap_send_queue</a>* queue, <span class="keywordtype">int</span> sync);
+<a name="l00871"></a>00871
+<a name="l00872"></a>00872
+<a name="l00935"></a>00935 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#ga98f36e62c95c6ad81eaa8b2bbeb8f16e" title="Create a list of network devices that can be opened with pcap_open().">pcap_findalldevs_ex</a>(<span class="keywordtype">char</span> *source, <span class="keyword">struct</span> <a class="code" href="structpcap__rmtauth.html" title="This structure keeps the information needed to autheticate the user on a remote machine...">pcap_rmtauth</a> *auth, <a class="code" href="structpcap__if.html" title="Item in a list of interfaces, used by pcap_findalldevs().">pcap_if_t</a> **alldevs, <span class="keywordtype">char</span> *errbuf);
+<a name="l00936"></a>00936
+<a name="l00937"></a>00937
+<a name="l00981"></a>00981 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#gaa3111e10f930a9772a32a922b26948b0" title="Accept a set of strings (host name, port, ...), and it returns the complete source...">pcap_createsrcstr</a>(<span class="keywordtype">char</span> *source, <span class="keywordtype">int</span> type, <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="wpcap__remote_8htm.html#a3c46d79c790748a5942fb43baa6b3073">host</a>, <span class="keyword">const</span> <span class="keywordtype">char</span> *port, <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">char</span> *errbuf);
+<a name="l00982"></a>00982
+<a name="l00983"></a>00983
+<a name="l01039"></a>01039 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#ga090e0afd3f463b4b60a64c47eddc1ba2" title="Parse the source string and returns the pieces in which the source can be split.">pcap_parsesrcstr</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *source, <span class="keywordtype">int</span> *type, <span class="keywordtype">char</span> *<a class="code" href="wpcap__remote_8htm.html#a3c46d79c790748a5942fb43baa6b3073">host</a>, <span class="keywordtype">char</span> *port, <span class="keywordtype">char</span> *name, <span class="keywordtype">char</span> *errbuf);
+<a name="l01040"></a>01040
+<a name="l01106"></a>01106 <a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *<a class="code" href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791" title="Open a generic source in order to capture / send (WinPcap only) traffic.">pcap_open</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *source, <span class="keywordtype">int</span> snaplen, <span class="keywordtype">int</span> flags, <span class="keywordtype">int</span> read_timeout, <span class="keyword">struct</span> <a class="code" href="structpcap__rmtauth.html" title="This structure keeps the information needed to autheticate the user on a remote machine...">pcap_rmtauth</a> *auth, <span class="keywordtype">char</span> *errbuf);
+<a name="l01107"></a>01107
+<a name="l01123"></a>01123 <span class="keyword">struct </span><a class="code" href="structpcap__samp.html" title="This structure defines the information related to sampling.">pcap_samp</a> *<a class="code" href="group__wpcapfunc.html#ga84c7d55f5b0e7d545b38d6b8e7bde005" title="Define a sampling method for packet capture.">pcap_setsampling</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p);
+<a name="l01124"></a>01124
+<a name="l01184"></a>01184 SOCKET <a class="code" href="group__wpcapfunc.html#ga5495943cc8262db57f726e2a23f837dd" title="Block until a network connection is accepted (active mode only).">pcap_remoteact_accept</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *address, <span class="keyword">const</span> <span class="keywordtype">char</span> *port, <span class="keyword">const</span> <span class="keywordtype">char</span> *hostlist, <span class="keywordtype">char</span> *connectinghost, <span class="keyword">struct</span> <a class="code" href="structpcap__rmtauth.html" title="This structure keeps the information needed to autheticate the user on a remote machine...">pcap_rmtauth</a> *auth, <span class="keywordtype">char</span> *errbuf);
+<a name="l01185"></a>01185
+<a name="l01202"></a>01202 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#ga6a84e03497f946d61c440696e57e2c95" title="Drop an active connection (active mode only).">pcap_remoteact_close</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="wpcap__remote_8htm.html#a3c46d79c790748a5942fb43baa6b3073">host</a>, <span class="keywordtype">char</span> *errbuf);
+<a name="l01203"></a>01203
+<a name="l01222"></a>01222 <span class="keywordtype">void</span> <a class="code" href="group__wpcapfunc.html#ga7b022e0a67f5ff62fd13df5c688d6d82" title="Clean the socket that is currently used in waiting active connections.">pcap_remoteact_cleanup</a>();
+<a name="l01223"></a>01223
+<a name="l01244"></a>01244 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#ga7ee8f666bff537aa457b7c05651cf815" title="Return the hostname of the host that have an active connection with us (active mode...">pcap_remoteact_list</a>(<span class="keywordtype">char</span> *hostlist, <span class="keywordtype">char</span> sep, <span class="keywordtype">int</span> size, <span class="keywordtype">char</span> *errbuf);
+<a name="l01245"></a>01245
+<a name="l01246"></a>01246 <span class="comment">//\}</span>
+<a name="l01247"></a>01247 <span class="comment">// End of Windows-specific extensions</span>
+<a name="l01248"></a>01248
+<a name="l01249"></a>01249
+<a name="l01250"></a>01250
+</pre></div></div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/functions.html b/3rdparty/winpcap/docs/html/functions.html
new file mode 100644
index 00000000000..fa463f11b5b
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/functions.html
@@ -0,0 +1,627 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="functions.html"><span>All</span></a></li>
+ <li><a href="functions_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="#index_a"><span>a</span></a></li>
+ <li><a href="#index_b"><span>b</span></a></li>
+ <li><a href="#index_c"><span>c</span></a></li>
+ <li><a href="#index_d"><span>d</span></a></li>
+ <li><a href="#index_e"><span>e</span></a></li>
+ <li><a href="#index_f"><span>f</span></a></li>
+ <li><a href="#index_h"><span>h</span></a></li>
+ <li><a href="#index_i"><span>i</span></a></li>
+ <li><a href="#index_j"><span>j</span></a></li>
+ <li><a href="#index_k"><span>k</span></a></li>
+ <li><a href="#index_l"><span>l</span></a></li>
+ <li><a href="#index_m"><span>m</span></a></li>
+ <li><a href="#index_n"><span>n</span></a></li>
+ <li><a href="#index_o"><span>o</span></a></li>
+ <li><a href="#index_p"><span>p</span></a></li>
+ <li><a href="#index_r"><span>r</span></a></li>
+ <li><a href="#index_s"><span>s</span></a></li>
+ <li><a href="#index_t"><span>t</span></a></li>
+ <li><a href="#index_u"><span>u</span></a></li>
+ <li><a href="#index_v"><span>v</span></a></li>
+ <li><a href="#index_w"><span>w</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all struct and union fields with links to the structures/unions they belong to:
+
+<h3><a class="anchor" id="index_a">- a -</a></h3><ul>
+<li>Accepted
+: <a class="el" href="struct____CPU__Private__Data.html#ac723ebbda9ff2ef8e4d773c7305db1f6">__CPU_Private_Data</a>
+</li>
+<li>activeclose
+: <a class="el" href="structdaemon__slpars.html#a56e762dd86c425a2780508a6373d5271">daemon_slpars</a>
+</li>
+<li>AdapterBindingStatus
+: <a class="el" href="struct__OPEN__INSTANCE.html#aa8dd1c538f9932a866ac342d50277929">_OPEN_INSTANCE</a>
+</li>
+<li>AdapterHandle
+: <a class="el" href="struct__OPEN__INSTANCE.html#aa017f65671fb96e4a0d3e875536579df">_OPEN_INSTANCE</a>
+</li>
+<li>AdapterHandleLock
+: <a class="el" href="struct__OPEN__INSTANCE.html#adbc32cf0b83107c2ad2785b8c71a946b">_OPEN_INSTANCE</a>
+</li>
+<li>AdapterHandleUsageCounter
+: <a class="el" href="struct__OPEN__INSTANCE.html#a7157ac074af79faeddb2feef7a891af7">_OPEN_INSTANCE</a>
+</li>
+<li>AdapterName
+: <a class="el" href="struct__DEVICE__EXTENSION.html#a8201dab43dd06ad55b93317cbbd54211">_DEVICE_EXTENSION</a>
+</li>
+<li>addr
+: <a class="el" href="structrpcap__findalldevs__ifaddr.html#a7fe4b3f87e7a49d2520a0d26563bb921">rpcap_findalldevs_ifaddr</a>
+, <a class="el" href="structpcap__addr.html#a4863f5b8767cd19fe6ea4db75456e5df">pcap_addr</a>
+</li>
+<li>address
+: <a class="el" href="structactive__pars.html#a5511071c05ef7770f90a2a75366c2929">active_pars</a>
+</li>
+<li>addresses
+: <a class="el" href="structpcap__if.html#a3910004677550db6d9b09792ba3e2cca">pcap_if</a>
+</li>
+<li>ai_family
+: <a class="el" href="structactive__pars.html#a4dc44d22f13bc5c59bff73e549e96a5c">active_pars</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_b">- b -</a></h3><ul>
+<li>bpf_pc
+: <a class="el" href="structbinary__stream.html#aac2aa0c781c5af722cd3b1bbf843349e">binary_stream</a>
+</li>
+<li>bpfprogram
+: <a class="el" href="struct__OPEN__INSTANCE.html#a312a1a6ffddf98f960cd0ac2d56fce52">_OPEN_INSTANCE</a>
+</li>
+<li>broadaddr
+: <a class="el" href="structrpcap__findalldevs__ifaddr.html#a2689aec0100832e17df8795f1acfdef0">rpcap_findalldevs_ifaddr</a>
+, <a class="el" href="structpcap__addr.html#a0077647e1560caa72d457120b36c248c">pcap_addr</a>
+</li>
+<li>bs_capt
+: <a class="el" href="structpcap__stat.html#a579778ac11d2b5c142ce8bc7ed37bb08">pcap_stat</a>
+</li>
+<li>Buffer
+: <a class="el" href="struct____CPU__Private__Data.html#a7ed9f5e612c567cfa25af0f46a25dad4">__CPU_Private_Data</a>
+</li>
+<li>buffer
+: <a class="el" href="structpcap__send__queue.html#aff2566f4c366b48d73479bef43ee4d2e">pcap_send_queue</a>
+</li>
+<li>BufferLock
+: <a class="el" href="struct____CPU__Private__Data.html#a59c9030d87b24c9cb4efdabe9c7b9337">__CPU_Private_Data</a>
+</li>
+<li>BufferMdl
+: <a class="el" href="struct__OPEN__INSTANCE.html#a006227bc7ca0b2df920a8adfb7740ecb">_OPEN_INSTANCE</a>
+</li>
+<li>bufsize
+: <a class="el" href="structrpcap__startcapreply.html#a115866b96012076ded74e527b0e082ea">rpcap_startcapreply</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_c">- c -</a></h3><ul>
+<li>C
+: <a class="el" href="struct____CPU__Private__Data.html#a2df61425b58c12f1de6f0e6aaeb131ea">__CPU_Private_Data</a>
+</li>
+<li>caplen
+: <a class="el" href="structsf__pkthdr.html#addde4bcd837b0ac2f4ab6472162c8ec2">sf_pkthdr</a>
+, <a class="el" href="structrpcap__pkthdr.html#a7219d531cfc6ceb3447db730ffd11794">rpcap_pkthdr</a>
+, <a class="el" href="structpcap__pkthdr.html#aac5771ed2efd92508bb4fe650f2ce7d7">pcap_pkthdr</a>
+</li>
+<li>ClosePending
+: <a class="el" href="struct__OPEN__INSTANCE.html#ae00f3e1e556edb44c5bbf7f4f75f117a">_OPEN_INSTANCE</a>
+</li>
+<li>code
+: <a class="el" href="structrpcap__filterbpf__insn.html#a17ec1b1641303c1995e0ca66ae938603">rpcap_filterbpf_insn</a>
+</li>
+<li>CountersLock
+: <a class="el" href="struct__OPEN__INSTANCE.html#a7bd68a3950090232f1147e501a4ccf78">_OPEN_INSTANCE</a>
+</li>
+<li>Cpu
+: <a class="el" href="struct__PACKET__RESERVED.html#a761baf004d76cf5faf3c898787fceeb6">_PACKET_RESERVED</a>
+</li>
+<li>CpuData
+: <a class="el" href="struct__OPEN__INSTANCE.html#a289c7590d7f5d96fa9051d20c2a95a04">_OPEN_INSTANCE</a>
+</li>
+<li>cur_ip
+: <a class="el" href="structbinary__stream.html#a50441f9758f33af17338ad5287c77eba">binary_stream</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_d">- d -</a></h3><ul>
+<li>Data
+: <a class="el" href="struct__PACKET__OID__DATA.html#a4cbcc2ef0ca2424d2488748b944f4507">_PACKET_OID_DATA</a>
+</li>
+<li>desclen
+: <a class="el" href="structrpcap__findalldevs__if.html#a9fe649a115732c913d126218054a9941">rpcap_findalldevs_if</a>
+</li>
+<li>description
+: <a class="el" href="structpcap__if.html#a8444d6e0dfe2bbab0b5e7b24308f1559">pcap_if</a>
+</li>
+<li>DeviceExtension
+: <a class="el" href="struct__OPEN__INSTANCE.html#aaa72c26b5a1b98197da412302325e009">_OPEN_INSTANCE</a>
+</li>
+<li>Dropped
+: <a class="el" href="struct____CPU__Private__Data.html#a04eecb86252e644a73f38346274340dc">__CPU_Private_Data</a>
+</li>
+<li>dstaddr
+: <a class="el" href="structpcap__addr.html#a4a32e00e83d4b1b582ba9cef24a5d62a">pcap_addr</a>
+, <a class="el" href="structrpcap__findalldevs__ifaddr.html#a907e6142b6f02d26357a18525f2a32c1">rpcap_findalldevs_ifaddr</a>
+</li>
+<li>dummy
+: <a class="el" href="structrpcap__findalldevs__if.html#a39840d82c8fedd34d8b6d25ae4e374c7">rpcap_findalldevs_if</a>
+, <a class="el" href="structrpcap__startcapreply.html#a39840d82c8fedd34d8b6d25ae4e374c7">rpcap_startcapreply</a>
+, <a class="el" href="structrpcap__filter.html#a39840d82c8fedd34d8b6d25ae4e374c7">rpcap_filter</a>
+, <a class="el" href="structrpcap__auth.html#a39840d82c8fedd34d8b6d25ae4e374c7">rpcap_auth</a>
+</li>
+<li>dummy1
+: <a class="el" href="structrpcap__sampling.html#ac5a9635addc2e517659182ae5b8a6fe6">rpcap_sampling</a>
+</li>
+<li>dummy2
+: <a class="el" href="structrpcap__sampling.html#a055fd5d9ca450d213ec8d0be4328251a">rpcap_sampling</a>
+</li>
+<li>DumpEvent
+: <a class="el" href="struct__OPEN__INSTANCE.html#a1485cbdca5f70ed6a4eb8fd26feec1e0">_OPEN_INSTANCE</a>
+</li>
+<li>DumpFileHandle
+: <a class="el" href="struct__OPEN__INSTANCE.html#affef27f71b541e5dfab6a3dc9ea7dd86">_OPEN_INSTANCE</a>
+</li>
+<li>DumpFileName
+: <a class="el" href="struct__OPEN__INSTANCE.html#ad26771cfc74dde2d2ce22b38db3124b0">_OPEN_INSTANCE</a>
+</li>
+<li>DumpFileObject
+: <a class="el" href="struct__OPEN__INSTANCE.html#a093d2624638004aafcc3193328cf2626">_OPEN_INSTANCE</a>
+</li>
+<li>DumpLimitReached
+: <a class="el" href="struct__OPEN__INSTANCE.html#a612913cea459725cff2085d29e534aae">_OPEN_INSTANCE</a>
+</li>
+<li>DumpOffset
+: <a class="el" href="struct__OPEN__INSTANCE.html#a00c3ae6811320e03dea5b400fc5f9da8">_OPEN_INSTANCE</a>
+</li>
+<li>DumpThreadHandle
+: <a class="el" href="struct__OPEN__INSTANCE.html#afb4bb3d6e021e9b1cc1206fa23d4c8f7">_OPEN_INSTANCE</a>
+</li>
+<li>DumpThreadObject
+: <a class="el" href="struct__OPEN__INSTANCE.html#af5fc8480398782ff1f676f25f5097768">_OPEN_INSTANCE</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_e">- e -</a></h3><ul>
+<li>ExportString
+: <a class="el" href="struct__DEVICE__EXTENSION.html#a147b6ff0677e88b5721e51ab7759121a">_DEVICE_EXTENSION</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_f">- f -</a></h3><ul>
+<li>filtertype
+: <a class="el" href="structrpcap__filter.html#a1d9d57b94681191242914430f33b34f0">rpcap_filter</a>
+</li>
+<li>flags
+: <a class="el" href="structpcap__if.html#a304e038dd1326c14b31a206cbad18756">pcap_if</a>
+, <a class="el" href="structrpcap__startcapreq.html#ae15f0808741c35cb9a8d231105d8beea">rpcap_startcapreq</a>
+, <a class="el" href="structrpcap__findalldevs__if.html#a81a27ce50e78368b0d0de1e8767fd32d">rpcap_findalldevs_if</a>
+</li>
+<li>Free
+: <a class="el" href="struct____CPU__Private__Data.html#acaf5ef1e959170b06d01fc65a27bb951">__CPU_Private_Data</a>
+</li>
+<li>FreeBufAfterWrite
+: <a class="el" href="struct__PACKET__RESERVED.html#abc42eac7c5d3593aa809edceadb0743f">_PACKET_RESERVED</a>
+</li>
+<li>Function
+: <a class="el" href="structJIT__BPF__Filter.html#a2c70f0e9fd23c617d13b2dc57bb32162">JIT_BPF_Filter</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_h">- h -</a></h3><ul>
+<li>header
+: <a class="el" href="structPacketHeader.html#ae2f3ed1162db1cfdbd9abe8f203426ad">PacketHeader</a>
+</li>
+<li>host
+: <a class="el" href="structactivehosts.html#aa80ddc7d4304067f1441e3562c9b2b08">activehosts</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_i">- i -</a></h3><ul>
+<li>ibuf
+: <a class="el" href="structbinary__stream.html#abb3db7b09fbe9ae9c56d7ee080669cca">binary_stream</a>
+</li>
+<li>ifdrop
+: <a class="el" href="structrpcap__stats.html#a1be6b9fbf42a7f74578974c611903f7d">rpcap_stats</a>
+</li>
+<li>ifrecv
+: <a class="el" href="structrpcap__stats.html#a1d0c9184d7f075a1237db76400b1b503">rpcap_stats</a>
+</li>
+<li>InternalRequestCompletedEvent
+: <a class="el" href="struct__INTERNAL__REQUEST.html#aa27c26f410846e10408bc8ac558430b9">_INTERNAL_REQUEST</a>
+</li>
+<li>IOStatus
+: <a class="el" href="struct__OPEN__INSTANCE.html#af4f46bc8ed07a40605aeac6743a3e760">_OPEN_INSTANCE</a>
+</li>
+<li>Irp
+: <a class="el" href="struct__PACKET__RESERVED.html#a4bee02d146b824008b9d03379b085b1e">_PACKET_RESERVED</a>
+</li>
+<li>isactive
+: <a class="el" href="structdaemon__slpars.html#a144e351e5de6c1ee3d9db04403434984">daemon_slpars</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_j">- j -</a></h3><ul>
+<li>jf
+: <a class="el" href="structrpcap__filterbpf__insn.html#ab2a6ab7330382a0e09a46b17ecbd1f9a">rpcap_filterbpf_insn</a>
+</li>
+<li>jt
+: <a class="el" href="structrpcap__filterbpf__insn.html#ad4d266bd45e28984c672e886adb82907">rpcap_filterbpf_insn</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_k">- k -</a></h3><ul>
+<li>k
+: <a class="el" href="structrpcap__filterbpf__insn.html#adf462c7c841cf6945d8552684393efcf">rpcap_filterbpf_insn</a>
+</li>
+<li>krnldrop
+: <a class="el" href="structrpcap__stats.html#a498da3bcc201f4f77714798c5c6b03b5">rpcap_stats</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_l">- l -</a></h3><ul>
+<li>len
+: <a class="el" href="structsf__pkthdr.html#aacda8195c98d3cc32ebece7b17dac774">sf_pkthdr</a>
+, <a class="el" href="structpcap__pkthdr.html#a728f264db4f5cc304742565a2bcdbeea">pcap_pkthdr</a>
+, <a class="el" href="structrpcap__pkthdr.html#a63941c3a03dc9736f3234bb756d9a305">rpcap_pkthdr</a>
+, <a class="el" href="structpcap__send__queue.html#ab4853420730b2b590cd3ad0e72fa80ca">pcap_send_queue</a>
+</li>
+<li>Length
+: <a class="el" href="struct__PACKET__OID__DATA.html#abfb371817eb1c8f0d8a165bb2b798092">_PACKET_OID_DATA</a>
+</li>
+<li>linktype
+: <a class="el" href="structpcap__file__header.html#a1c54dd90a08b2c232f2f204bfaa54496">pcap_file_header</a>
+, <a class="el" href="structrpcap__openreply.html#a114fd2309d7d5811a05db20605112955">rpcap_openreply</a>
+, <a class="el" href="structpacket__file__header.html#ab2a8854181cde7a065a43380b56fd2a1">packet_file_header</a>
+</li>
+<li>ListElement
+: <a class="el" href="struct__PACKET__RESERVED.html#a52c50c47cc14f9989d741158ef6da1b9">_PACKET_RESERVED</a>
+, <a class="el" href="struct__INTERNAL__REQUEST.html#a52c50c47cc14f9989d741158ef6da1b9">_INTERNAL_REQUEST</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_m">- m -</a></h3><ul>
+<li>MachineLock
+: <a class="el" href="struct__OPEN__INSTANCE.html#afe174f20f512159a454365613846eca5">_OPEN_INSTANCE</a>
+</li>
+<li>magic
+: <a class="el" href="structpacket__file__header.html#ab396ddef34e11edb49e5edfcc39c2dc7">packet_file_header</a>
+, <a class="el" href="structpcap__file__header.html#a18b75bcc7dcee1412b74b57bb238cf3d">pcap_file_header</a>
+</li>
+<li>MaxDumpBytes
+: <a class="el" href="struct__OPEN__INSTANCE.html#acfde736fb2a011607da168a05b5100b0">_OPEN_INSTANCE</a>
+</li>
+<li>MaxDumpPacks
+: <a class="el" href="struct__OPEN__INSTANCE.html#a3f6accd17a8dccf9b44acc678510a094">_OPEN_INSTANCE</a>
+</li>
+<li>MaxFrameSize
+: <a class="el" href="struct__OPEN__INSTANCE.html#ac672771358770d24087aaa12a80d01cb">_OPEN_INSTANCE</a>
+</li>
+<li>maxlen
+: <a class="el" href="structpcap__send__queue.html#a30305e6f9a9069760edf175b138e445d">pcap_send_queue</a>
+</li>
+<li>Medium
+: <a class="el" href="struct__OPEN__INSTANCE.html#af6a81c046e634d6149550d3475924c05">_OPEN_INSTANCE</a>
+</li>
+<li>mem
+: <a class="el" href="structJIT__BPF__Filter.html#aeb16cd6e768dbea45530de3d0fc83e51">JIT_BPF_Filter</a>
+</li>
+<li>method
+: <a class="el" href="structrpcap__sampling.html#aa4da76ff1a3e6459e06e4d39af6bfef2">rpcap_sampling</a>
+, <a class="el" href="structpcap__samp.html#adcc9a19ad3119f823a658f6a49a24e64">pcap_samp</a>
+</li>
+<li>MinToCopy
+: <a class="el" href="struct__OPEN__INSTANCE.html#a263f7d6f5db5625541d275380685f0b1">_OPEN_INSTANCE</a>
+</li>
+<li>mode
+: <a class="el" href="struct__OPEN__INSTANCE.html#a1ea5d0cb93f22f7d0fdf804bd68c3326">_OPEN_INSTANCE</a>
+</li>
+<li>Multiple_Write_Counter
+: <a class="el" href="struct__OPEN__INSTANCE.html#aaa76c3b87b73baaa785c459188d769e0">_OPEN_INSTANCE</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_n">- n -</a></h3><ul>
+<li>naddr
+: <a class="el" href="structrpcap__findalldevs__if.html#af6e199ccfaf5ab811cc064e09f3153c3">rpcap_findalldevs_if</a>
+</li>
+<li>name
+: <a class="el" href="structpcap__if.html#a5ac083a645d964373f022d03df4849c8">pcap_if</a>
+</li>
+<li>namelen
+: <a class="el" href="structrpcap__findalldevs__if.html#ab42bca1875d25b6ce19de3ff5309a0bf">rpcap_findalldevs_if</a>
+</li>
+<li>Nbytes
+: <a class="el" href="struct__OPEN__INSTANCE.html#a87b5968c02200b033f7c6e15da439e62">_OPEN_INSTANCE</a>
+</li>
+<li>NdisOpenCloseCompleteEvent
+: <a class="el" href="struct__OPEN__INSTANCE.html#a58faf70e2b245f7d3f2b1a90257e823e">_OPEN_INSTANCE</a>
+</li>
+<li>NdisRequestEvent
+: <a class="el" href="struct__OPEN__INSTANCE.html#af63559424b5849687cc5c5fbad184c0f">_OPEN_INSTANCE</a>
+</li>
+<li>NdisWriteCompleteEvent
+: <a class="el" href="struct__OPEN__INSTANCE.html#ae16d8f96321924cea79edfba9a2aed9f">_OPEN_INSTANCE</a>
+</li>
+<li>netmask
+: <a class="el" href="structpcap__addr.html#ac43963e42e4d901e55e433ab9c3ea686">pcap_addr</a>
+, <a class="el" href="structrpcap__findalldevs__ifaddr.html#ae65e589cf67e45f6c5b5bd05a068b1dd">rpcap_findalldevs_ifaddr</a>
+</li>
+<li>NewP
+: <a class="el" href="struct____CPU__Private__Data.html#a58f2c915dfc7041ccb0d568eb79b494e">__CPU_Private_Data</a>
+</li>
+<li>next
+: <a class="el" href="structpcap__if.html#a81508e6e4e41ca4235c8d6b51913c536">pcap_if</a>
+, <a class="el" href="structpcap__addr.html#ab151e8e96bdb23ae8dd8d644de561999">pcap_addr</a>
+, <a class="el" href="structactivehosts.html#a34f7d4dc0ffb851aa4d9bf2e82ba915b">activehosts</a>
+</li>
+<li>nitems
+: <a class="el" href="structrpcap__filter.html#afa9a77743030f7cbceae9cffa2f8b311">rpcap_filter</a>
+</li>
+<li>Npackets
+: <a class="el" href="struct__OPEN__INSTANCE.html#a51a42386327e2a337854dd20cbe83061">_OPEN_INSTANCE</a>
+</li>
+<li>npkt
+: <a class="el" href="structrpcap__pkthdr.html#a18dee93b2d48c10546eb5637ba48405d">rpcap_pkthdr</a>
+</li>
+<li>nullAuthAllowed
+: <a class="el" href="structdaemon__slpars.html#a2513fb035d3d00a2d1b3c355aab6c93a">daemon_slpars</a>
+</li>
+<li>NumPendingIrps
+: <a class="el" href="struct__OPEN__INSTANCE.html#ad829423b08d53cd76dc8bed902d5af72">_OPEN_INSTANCE</a>
+</li>
+<li>Nwrites
+: <a class="el" href="struct__OPEN__INSTANCE.html#af6b5b0a348f7a40d795b554b0eceed73">_OPEN_INSTANCE</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_o">- o -</a></h3><ul>
+<li>Oid
+: <a class="el" href="struct__PACKET__OID__DATA.html#a7f776f07ead21514e4c48555980644c8">_PACKET_OID_DATA</a>
+</li>
+<li>OpenCloseStatus
+: <a class="el" href="struct__OPEN__INSTANCE.html#ae3c547ec9f715618b461b221fa2e3f09">_OPEN_INSTANCE</a>
+</li>
+<li>OpenInUseLock
+: <a class="el" href="struct__OPEN__INSTANCE.html#a4c6d0506eca78eb6602764234ce07e62">_OPEN_INSTANCE</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_p">- p -</a></h3><ul>
+<li>P
+: <a class="el" href="struct____CPU__Private__Data.html#a897d2179904e0d6fafd73b3d400052de">__CPU_Private_Data</a>
+</li>
+<li>PacketPool
+: <a class="el" href="struct__OPEN__INSTANCE.html#abb035c7e10216edcf41fa1576fecca42">_OPEN_INSTANCE</a>
+</li>
+<li>password
+: <a class="el" href="structpcap__rmtauth.html#a59460a3ff2c12443d1022e5cc0fba85c">pcap_rmtauth</a>
+</li>
+<li>plen
+: <a class="el" href="structrpcap__header.html#a9f51ae02e66e202ec26632a2bce78942">rpcap_header</a>
+</li>
+<li>pMdl
+: <a class="el" href="struct__PACKET__RESERVED.html#a3bbb67b64845622d97356325852ef6be">_PACKET_RESERVED</a>
+</li>
+<li>port
+: <a class="el" href="structactive__pars.html#a27201989fe772052edc147c02e61ae00">active_pars</a>
+</li>
+<li>portdata
+: <a class="el" href="structrpcap__startcapreply.html#a914e4f42058b208f03d04a65c902bff3">rpcap_startcapreply</a>
+, <a class="el" href="structrpcap__startcapreq.html#a914e4f42058b208f03d04a65c902bff3">rpcap_startcapreq</a>
+</li>
+<li>ps_drop
+: <a class="el" href="structpcap__stat.html#a2cfc89d84a0ba404cacfa59f6b112bc1">pcap_stat</a>
+</li>
+<li>ps_ifdrop
+: <a class="el" href="structpcap__stat.html#abc51be1ec5423e462bde5eac5a9b7c56">pcap_stat</a>
+</li>
+<li>ps_recv
+: <a class="el" href="structpcap__stat.html#a825c8bdb589e7de8e597f6d6f7af8125">pcap_stat</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_r">- r -</a></h3><ul>
+<li>read_timeout
+: <a class="el" href="structrpcap__startcapreq.html#a189e41efb9a00f52c242e0287e341543">rpcap_startcapreq</a>
+</li>
+<li>ReaderSN
+: <a class="el" href="struct__OPEN__INSTANCE.html#a80fd41275e80049cbe8238917a1dfb33">_OPEN_INSTANCE</a>
+</li>
+<li>ReadEvent
+: <a class="el" href="struct__OPEN__INSTANCE.html#a6139735ab3e4fa797d344e314bba6473">_OPEN_INSTANCE</a>
+</li>
+<li>Received
+: <a class="el" href="struct____CPU__Private__Data.html#a82febc79f3f3bbf857a4fd34447b5ca2">__CPU_Private_Data</a>
+</li>
+<li>refs
+: <a class="el" href="structbinary__stream.html#a479a793a3937e38fd40e0bb6edfbfe5e">binary_stream</a>
+</li>
+<li>Request
+: <a class="el" href="struct__INTERNAL__REQUEST.html#a9d22abed5e537b5a86700c0cae0aeeda">_INTERNAL_REQUEST</a>
+</li>
+<li>RequestList
+: <a class="el" href="struct__OPEN__INSTANCE.html#a805c530d7fa5f6078b9170dc0cd03f5c">_OPEN_INSTANCE</a>
+</li>
+<li>Requests
+: <a class="el" href="struct__OPEN__INSTANCE.html#a9a6854a154d332159dbcb19e5d104441">_OPEN_INSTANCE</a>
+</li>
+<li>RequestSpinLock
+: <a class="el" href="struct__OPEN__INSTANCE.html#abe53f2762ef5451c80b2fcadeff59884">_OPEN_INSTANCE</a>
+</li>
+<li>RequestStatus
+: <a class="el" href="struct__INTERNAL__REQUEST.html#a1948690a3012c81acf392ba489b32b60">_INTERNAL_REQUEST</a>
+</li>
+<li>ResetIrpList
+: <a class="el" href="struct__OPEN__INSTANCE.html#a1836c9a11084bf113d902946c5c41499">_OPEN_INSTANCE</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_s">- s -</a></h3><ul>
+<li>sigfigs
+: <a class="el" href="structpacket__file__header.html#a5938c470e9e548ad2ac04923725e7721">packet_file_header</a>
+, <a class="el" href="structpcap__file__header.html#a209ec264363632ccd21b412c93d2881a">pcap_file_header</a>
+</li>
+<li>Size
+: <a class="el" href="struct__OPEN__INSTANCE.html#a1ce5ea4c97c82145e50d4b5157889a0e">_OPEN_INSTANCE</a>
+</li>
+<li>SkipSentPackets
+: <a class="el" href="struct__OPEN__INSTANCE.html#a445a6029d067430cd761ae692443b573">_OPEN_INSTANCE</a>
+</li>
+<li>slen1
+: <a class="el" href="structrpcap__auth.html#a893c04f91ad73ad97125a7b451ad9f79">rpcap_auth</a>
+</li>
+<li>slen2
+: <a class="el" href="structrpcap__auth.html#aa8114dce6bebe43b9a350a9716128cd1">rpcap_auth</a>
+</li>
+<li>SN
+: <a class="el" href="structPacketHeader.html#afbd4efa90a98223b9ebe18574c057b47">PacketHeader</a>
+</li>
+<li>snaplen
+: <a class="el" href="structpacket__file__header.html#a45b189420d67014dba25bd13da85ddae">packet_file_header</a>
+, <a class="el" href="structpcap__file__header.html#aa73496b51e5edb630420e4044792c897">pcap_file_header</a>
+, <a class="el" href="structrpcap__startcapreq.html#aebbb13cc569d948514d286df698443d2">rpcap_startcapreq</a>
+</li>
+<li>sockctrl
+: <a class="el" href="structactivehosts.html#a33939ceefa385f1e6c60f94f2474869d">activehosts</a>
+, <a class="el" href="structdaemon__slpars.html#a33939ceefa385f1e6c60f94f2474869d">daemon_slpars</a>
+</li>
+<li>svrcapt
+: <a class="el" href="structrpcap__stats.html#a42ea5a69add0a420c6cb2b8961482a76">rpcap_stats</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_t">- t -</a></h3><ul>
+<li>thiszone
+: <a class="el" href="structpacket__file__header.html#ab0f3e0ccc83861eb84cd3da32f01f090">packet_file_header</a>
+, <a class="el" href="structpcap__file__header.html#ae729a1ba12145c96acbe2bb6310bc7e1">pcap_file_header</a>
+</li>
+<li>TimeOut
+: <a class="el" href="struct__OPEN__INSTANCE.html#aa6709070de8443c026e3b86913942c2b">_OPEN_INSTANCE</a>
+</li>
+<li>timestamp_sec
+: <a class="el" href="structrpcap__pkthdr.html#a0878eda64803556abde60998d96cae36">rpcap_pkthdr</a>
+</li>
+<li>timestamp_usec
+: <a class="el" href="structrpcap__pkthdr.html#a590071a7578068cca2e22ab465a8af68">rpcap_pkthdr</a>
+</li>
+<li>TransferMdl1
+: <a class="el" href="struct____CPU__Private__Data.html#acae03ade5065032ceaeef0bd03217b4f">__CPU_Private_Data</a>
+</li>
+<li>TransferMdl2
+: <a class="el" href="struct____CPU__Private__Data.html#a17b59e156d00ef5c76bdfe454c73ca49">__CPU_Private_Data</a>
+</li>
+<li>TransmitPendingPackets
+: <a class="el" href="struct__OPEN__INSTANCE.html#a3134a9bd6b67acf8eb8f5fd7a36228d7">_OPEN_INSTANCE</a>
+</li>
+<li>ts
+: <a class="el" href="structsf__pkthdr.html#a21be78b2818c91cb205885b8a6f5aed8">sf_pkthdr</a>
+, <a class="el" href="structpcap__pkthdr.html#a21be78b2818c91cb205885b8a6f5aed8">pcap_pkthdr</a>
+</li>
+<li>type
+: <a class="el" href="structrpcap__auth.html#af9b2e23a8f32ca09cfeb7d828436fb01">rpcap_auth</a>
+, <a class="el" href="structpcap__rmtauth.html#ac765329451135abec74c45e1897abf26">pcap_rmtauth</a>
+, <a class="el" href="structrpcap__header.html#a0d5276797b2358f6093607c68006bde8">rpcap_header</a>
+</li>
+<li>tzoff
+: <a class="el" href="structrpcap__openreply.html#a3d91df4637112c85432c1f3c59b2c5ae">rpcap_openreply</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_u">- u -</a></h3><ul>
+<li>username
+: <a class="el" href="structpcap__rmtauth.html#a9b20c006bd90a09e1465fb668700e81d">pcap_rmtauth</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_v">- v -</a></h3><ul>
+<li>value
+: <a class="el" href="structrpcap__header.html#a4dd7e7f197e82dc6db279eed0a5dc820">rpcap_header</a>
+, <a class="el" href="structrpcap__sampling.html#a825a6aa3f85d5b289f6e1a3b3a2beb83">rpcap_sampling</a>
+, <a class="el" href="structpcap__samp.html#ac4f474c82e82cbb89ca7c36dd52be0ed">pcap_samp</a>
+</li>
+<li>ver
+: <a class="el" href="structrpcap__header.html#ad284ddbfb04b14b9f8341f4dea79076e">rpcap_header</a>
+</li>
+<li>version_major
+: <a class="el" href="structpacket__file__header.html#a312dffcaa516df104318626fbdc01a77">packet_file_header</a>
+, <a class="el" href="structpcap__file__header.html#a571fada6e8ffbb02ad47e64f0f721d4a">pcap_file_header</a>
+</li>
+<li>version_minor
+: <a class="el" href="structpcap__file__header.html#a82971bc0da75fef683f826bd48050307">pcap_file_header</a>
+, <a class="el" href="structpacket__file__header.html#a143bc467378ffbd0460662bd8912082b">packet_file_header</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_w">- w -</a></h3><ul>
+<li>WriteEvent
+: <a class="el" href="struct__OPEN__INSTANCE.html#a46f6423b318291c7cc6ae32c226b33fd">_OPEN_INSTANCE</a>
+</li>
+<li>WriteInProgress
+: <a class="el" href="struct__OPEN__INSTANCE.html#af854d4eefa0f15302eaccee06e1ef447">_OPEN_INSTANCE</a>
+</li>
+<li>WriteLock
+: <a class="el" href="struct__OPEN__INSTANCE.html#a44ab7ba650b09972a0677958ad0ea4e0">_OPEN_INSTANCE</a>
+</li>
+<li>WriterSN
+: <a class="el" href="struct__OPEN__INSTANCE.html#ae58565fec941091aa7164b49121ffe2b">_OPEN_INSTANCE</a>
+</li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/functions_vars.html b/3rdparty/winpcap/docs/html/functions_vars.html
new file mode 100644
index 00000000000..c399dc5754e
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/functions_vars.html
@@ -0,0 +1,627 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Data Fields - Variables</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="functions.html"><span>All</span></a></li>
+ <li class="current"><a href="functions_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="#index_a"><span>a</span></a></li>
+ <li><a href="#index_b"><span>b</span></a></li>
+ <li><a href="#index_c"><span>c</span></a></li>
+ <li><a href="#index_d"><span>d</span></a></li>
+ <li><a href="#index_e"><span>e</span></a></li>
+ <li><a href="#index_f"><span>f</span></a></li>
+ <li><a href="#index_h"><span>h</span></a></li>
+ <li><a href="#index_i"><span>i</span></a></li>
+ <li><a href="#index_j"><span>j</span></a></li>
+ <li><a href="#index_k"><span>k</span></a></li>
+ <li><a href="#index_l"><span>l</span></a></li>
+ <li><a href="#index_m"><span>m</span></a></li>
+ <li><a href="#index_n"><span>n</span></a></li>
+ <li><a href="#index_o"><span>o</span></a></li>
+ <li><a href="#index_p"><span>p</span></a></li>
+ <li><a href="#index_r"><span>r</span></a></li>
+ <li><a href="#index_s"><span>s</span></a></li>
+ <li><a href="#index_t"><span>t</span></a></li>
+ <li><a href="#index_u"><span>u</span></a></li>
+ <li><a href="#index_v"><span>v</span></a></li>
+ <li><a href="#index_w"><span>w</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_a">- a -</a></h3><ul>
+<li>Accepted
+: <a class="el" href="struct____CPU__Private__Data.html#ac723ebbda9ff2ef8e4d773c7305db1f6">__CPU_Private_Data</a>
+</li>
+<li>activeclose
+: <a class="el" href="structdaemon__slpars.html#a56e762dd86c425a2780508a6373d5271">daemon_slpars</a>
+</li>
+<li>AdapterBindingStatus
+: <a class="el" href="struct__OPEN__INSTANCE.html#aa8dd1c538f9932a866ac342d50277929">_OPEN_INSTANCE</a>
+</li>
+<li>AdapterHandle
+: <a class="el" href="struct__OPEN__INSTANCE.html#aa017f65671fb96e4a0d3e875536579df">_OPEN_INSTANCE</a>
+</li>
+<li>AdapterHandleLock
+: <a class="el" href="struct__OPEN__INSTANCE.html#adbc32cf0b83107c2ad2785b8c71a946b">_OPEN_INSTANCE</a>
+</li>
+<li>AdapterHandleUsageCounter
+: <a class="el" href="struct__OPEN__INSTANCE.html#a7157ac074af79faeddb2feef7a891af7">_OPEN_INSTANCE</a>
+</li>
+<li>AdapterName
+: <a class="el" href="struct__DEVICE__EXTENSION.html#a8201dab43dd06ad55b93317cbbd54211">_DEVICE_EXTENSION</a>
+</li>
+<li>addr
+: <a class="el" href="structrpcap__findalldevs__ifaddr.html#a7fe4b3f87e7a49d2520a0d26563bb921">rpcap_findalldevs_ifaddr</a>
+, <a class="el" href="structpcap__addr.html#a4863f5b8767cd19fe6ea4db75456e5df">pcap_addr</a>
+</li>
+<li>address
+: <a class="el" href="structactive__pars.html#a5511071c05ef7770f90a2a75366c2929">active_pars</a>
+</li>
+<li>addresses
+: <a class="el" href="structpcap__if.html#a3910004677550db6d9b09792ba3e2cca">pcap_if</a>
+</li>
+<li>ai_family
+: <a class="el" href="structactive__pars.html#a4dc44d22f13bc5c59bff73e549e96a5c">active_pars</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_b">- b -</a></h3><ul>
+<li>bpf_pc
+: <a class="el" href="structbinary__stream.html#aac2aa0c781c5af722cd3b1bbf843349e">binary_stream</a>
+</li>
+<li>bpfprogram
+: <a class="el" href="struct__OPEN__INSTANCE.html#a312a1a6ffddf98f960cd0ac2d56fce52">_OPEN_INSTANCE</a>
+</li>
+<li>broadaddr
+: <a class="el" href="structrpcap__findalldevs__ifaddr.html#a2689aec0100832e17df8795f1acfdef0">rpcap_findalldevs_ifaddr</a>
+, <a class="el" href="structpcap__addr.html#a0077647e1560caa72d457120b36c248c">pcap_addr</a>
+</li>
+<li>bs_capt
+: <a class="el" href="structpcap__stat.html#a579778ac11d2b5c142ce8bc7ed37bb08">pcap_stat</a>
+</li>
+<li>Buffer
+: <a class="el" href="struct____CPU__Private__Data.html#a7ed9f5e612c567cfa25af0f46a25dad4">__CPU_Private_Data</a>
+</li>
+<li>buffer
+: <a class="el" href="structpcap__send__queue.html#aff2566f4c366b48d73479bef43ee4d2e">pcap_send_queue</a>
+</li>
+<li>BufferLock
+: <a class="el" href="struct____CPU__Private__Data.html#a59c9030d87b24c9cb4efdabe9c7b9337">__CPU_Private_Data</a>
+</li>
+<li>BufferMdl
+: <a class="el" href="struct__OPEN__INSTANCE.html#a006227bc7ca0b2df920a8adfb7740ecb">_OPEN_INSTANCE</a>
+</li>
+<li>bufsize
+: <a class="el" href="structrpcap__startcapreply.html#a115866b96012076ded74e527b0e082ea">rpcap_startcapreply</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_c">- c -</a></h3><ul>
+<li>C
+: <a class="el" href="struct____CPU__Private__Data.html#a2df61425b58c12f1de6f0e6aaeb131ea">__CPU_Private_Data</a>
+</li>
+<li>caplen
+: <a class="el" href="structsf__pkthdr.html#addde4bcd837b0ac2f4ab6472162c8ec2">sf_pkthdr</a>
+, <a class="el" href="structrpcap__pkthdr.html#a7219d531cfc6ceb3447db730ffd11794">rpcap_pkthdr</a>
+, <a class="el" href="structpcap__pkthdr.html#aac5771ed2efd92508bb4fe650f2ce7d7">pcap_pkthdr</a>
+</li>
+<li>ClosePending
+: <a class="el" href="struct__OPEN__INSTANCE.html#ae00f3e1e556edb44c5bbf7f4f75f117a">_OPEN_INSTANCE</a>
+</li>
+<li>code
+: <a class="el" href="structrpcap__filterbpf__insn.html#a17ec1b1641303c1995e0ca66ae938603">rpcap_filterbpf_insn</a>
+</li>
+<li>CountersLock
+: <a class="el" href="struct__OPEN__INSTANCE.html#a7bd68a3950090232f1147e501a4ccf78">_OPEN_INSTANCE</a>
+</li>
+<li>Cpu
+: <a class="el" href="struct__PACKET__RESERVED.html#a761baf004d76cf5faf3c898787fceeb6">_PACKET_RESERVED</a>
+</li>
+<li>CpuData
+: <a class="el" href="struct__OPEN__INSTANCE.html#a289c7590d7f5d96fa9051d20c2a95a04">_OPEN_INSTANCE</a>
+</li>
+<li>cur_ip
+: <a class="el" href="structbinary__stream.html#a50441f9758f33af17338ad5287c77eba">binary_stream</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_d">- d -</a></h3><ul>
+<li>Data
+: <a class="el" href="struct__PACKET__OID__DATA.html#a4cbcc2ef0ca2424d2488748b944f4507">_PACKET_OID_DATA</a>
+</li>
+<li>desclen
+: <a class="el" href="structrpcap__findalldevs__if.html#a9fe649a115732c913d126218054a9941">rpcap_findalldevs_if</a>
+</li>
+<li>description
+: <a class="el" href="structpcap__if.html#a8444d6e0dfe2bbab0b5e7b24308f1559">pcap_if</a>
+</li>
+<li>DeviceExtension
+: <a class="el" href="struct__OPEN__INSTANCE.html#aaa72c26b5a1b98197da412302325e009">_OPEN_INSTANCE</a>
+</li>
+<li>Dropped
+: <a class="el" href="struct____CPU__Private__Data.html#a04eecb86252e644a73f38346274340dc">__CPU_Private_Data</a>
+</li>
+<li>dstaddr
+: <a class="el" href="structpcap__addr.html#a4a32e00e83d4b1b582ba9cef24a5d62a">pcap_addr</a>
+, <a class="el" href="structrpcap__findalldevs__ifaddr.html#a907e6142b6f02d26357a18525f2a32c1">rpcap_findalldevs_ifaddr</a>
+</li>
+<li>dummy
+: <a class="el" href="structrpcap__findalldevs__if.html#a39840d82c8fedd34d8b6d25ae4e374c7">rpcap_findalldevs_if</a>
+, <a class="el" href="structrpcap__startcapreply.html#a39840d82c8fedd34d8b6d25ae4e374c7">rpcap_startcapreply</a>
+, <a class="el" href="structrpcap__filter.html#a39840d82c8fedd34d8b6d25ae4e374c7">rpcap_filter</a>
+, <a class="el" href="structrpcap__auth.html#a39840d82c8fedd34d8b6d25ae4e374c7">rpcap_auth</a>
+</li>
+<li>dummy1
+: <a class="el" href="structrpcap__sampling.html#ac5a9635addc2e517659182ae5b8a6fe6">rpcap_sampling</a>
+</li>
+<li>dummy2
+: <a class="el" href="structrpcap__sampling.html#a055fd5d9ca450d213ec8d0be4328251a">rpcap_sampling</a>
+</li>
+<li>DumpEvent
+: <a class="el" href="struct__OPEN__INSTANCE.html#a1485cbdca5f70ed6a4eb8fd26feec1e0">_OPEN_INSTANCE</a>
+</li>
+<li>DumpFileHandle
+: <a class="el" href="struct__OPEN__INSTANCE.html#affef27f71b541e5dfab6a3dc9ea7dd86">_OPEN_INSTANCE</a>
+</li>
+<li>DumpFileName
+: <a class="el" href="struct__OPEN__INSTANCE.html#ad26771cfc74dde2d2ce22b38db3124b0">_OPEN_INSTANCE</a>
+</li>
+<li>DumpFileObject
+: <a class="el" href="struct__OPEN__INSTANCE.html#a093d2624638004aafcc3193328cf2626">_OPEN_INSTANCE</a>
+</li>
+<li>DumpLimitReached
+: <a class="el" href="struct__OPEN__INSTANCE.html#a612913cea459725cff2085d29e534aae">_OPEN_INSTANCE</a>
+</li>
+<li>DumpOffset
+: <a class="el" href="struct__OPEN__INSTANCE.html#a00c3ae6811320e03dea5b400fc5f9da8">_OPEN_INSTANCE</a>
+</li>
+<li>DumpThreadHandle
+: <a class="el" href="struct__OPEN__INSTANCE.html#afb4bb3d6e021e9b1cc1206fa23d4c8f7">_OPEN_INSTANCE</a>
+</li>
+<li>DumpThreadObject
+: <a class="el" href="struct__OPEN__INSTANCE.html#af5fc8480398782ff1f676f25f5097768">_OPEN_INSTANCE</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_e">- e -</a></h3><ul>
+<li>ExportString
+: <a class="el" href="struct__DEVICE__EXTENSION.html#a147b6ff0677e88b5721e51ab7759121a">_DEVICE_EXTENSION</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_f">- f -</a></h3><ul>
+<li>filtertype
+: <a class="el" href="structrpcap__filter.html#a1d9d57b94681191242914430f33b34f0">rpcap_filter</a>
+</li>
+<li>flags
+: <a class="el" href="structpcap__if.html#a304e038dd1326c14b31a206cbad18756">pcap_if</a>
+, <a class="el" href="structrpcap__startcapreq.html#ae15f0808741c35cb9a8d231105d8beea">rpcap_startcapreq</a>
+, <a class="el" href="structrpcap__findalldevs__if.html#a81a27ce50e78368b0d0de1e8767fd32d">rpcap_findalldevs_if</a>
+</li>
+<li>Free
+: <a class="el" href="struct____CPU__Private__Data.html#acaf5ef1e959170b06d01fc65a27bb951">__CPU_Private_Data</a>
+</li>
+<li>FreeBufAfterWrite
+: <a class="el" href="struct__PACKET__RESERVED.html#abc42eac7c5d3593aa809edceadb0743f">_PACKET_RESERVED</a>
+</li>
+<li>Function
+: <a class="el" href="structJIT__BPF__Filter.html#a2c70f0e9fd23c617d13b2dc57bb32162">JIT_BPF_Filter</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_h">- h -</a></h3><ul>
+<li>header
+: <a class="el" href="structPacketHeader.html#ae2f3ed1162db1cfdbd9abe8f203426ad">PacketHeader</a>
+</li>
+<li>host
+: <a class="el" href="structactivehosts.html#aa80ddc7d4304067f1441e3562c9b2b08">activehosts</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_i">- i -</a></h3><ul>
+<li>ibuf
+: <a class="el" href="structbinary__stream.html#abb3db7b09fbe9ae9c56d7ee080669cca">binary_stream</a>
+</li>
+<li>ifdrop
+: <a class="el" href="structrpcap__stats.html#a1be6b9fbf42a7f74578974c611903f7d">rpcap_stats</a>
+</li>
+<li>ifrecv
+: <a class="el" href="structrpcap__stats.html#a1d0c9184d7f075a1237db76400b1b503">rpcap_stats</a>
+</li>
+<li>InternalRequestCompletedEvent
+: <a class="el" href="struct__INTERNAL__REQUEST.html#aa27c26f410846e10408bc8ac558430b9">_INTERNAL_REQUEST</a>
+</li>
+<li>IOStatus
+: <a class="el" href="struct__OPEN__INSTANCE.html#af4f46bc8ed07a40605aeac6743a3e760">_OPEN_INSTANCE</a>
+</li>
+<li>Irp
+: <a class="el" href="struct__PACKET__RESERVED.html#a4bee02d146b824008b9d03379b085b1e">_PACKET_RESERVED</a>
+</li>
+<li>isactive
+: <a class="el" href="structdaemon__slpars.html#a144e351e5de6c1ee3d9db04403434984">daemon_slpars</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_j">- j -</a></h3><ul>
+<li>jf
+: <a class="el" href="structrpcap__filterbpf__insn.html#ab2a6ab7330382a0e09a46b17ecbd1f9a">rpcap_filterbpf_insn</a>
+</li>
+<li>jt
+: <a class="el" href="structrpcap__filterbpf__insn.html#ad4d266bd45e28984c672e886adb82907">rpcap_filterbpf_insn</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_k">- k -</a></h3><ul>
+<li>k
+: <a class="el" href="structrpcap__filterbpf__insn.html#adf462c7c841cf6945d8552684393efcf">rpcap_filterbpf_insn</a>
+</li>
+<li>krnldrop
+: <a class="el" href="structrpcap__stats.html#a498da3bcc201f4f77714798c5c6b03b5">rpcap_stats</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_l">- l -</a></h3><ul>
+<li>len
+: <a class="el" href="structsf__pkthdr.html#aacda8195c98d3cc32ebece7b17dac774">sf_pkthdr</a>
+, <a class="el" href="structpcap__pkthdr.html#a728f264db4f5cc304742565a2bcdbeea">pcap_pkthdr</a>
+, <a class="el" href="structrpcap__pkthdr.html#a63941c3a03dc9736f3234bb756d9a305">rpcap_pkthdr</a>
+, <a class="el" href="structpcap__send__queue.html#ab4853420730b2b590cd3ad0e72fa80ca">pcap_send_queue</a>
+</li>
+<li>Length
+: <a class="el" href="struct__PACKET__OID__DATA.html#abfb371817eb1c8f0d8a165bb2b798092">_PACKET_OID_DATA</a>
+</li>
+<li>linktype
+: <a class="el" href="structpcap__file__header.html#a1c54dd90a08b2c232f2f204bfaa54496">pcap_file_header</a>
+, <a class="el" href="structrpcap__openreply.html#a114fd2309d7d5811a05db20605112955">rpcap_openreply</a>
+, <a class="el" href="structpacket__file__header.html#ab2a8854181cde7a065a43380b56fd2a1">packet_file_header</a>
+</li>
+<li>ListElement
+: <a class="el" href="struct__PACKET__RESERVED.html#a52c50c47cc14f9989d741158ef6da1b9">_PACKET_RESERVED</a>
+, <a class="el" href="struct__INTERNAL__REQUEST.html#a52c50c47cc14f9989d741158ef6da1b9">_INTERNAL_REQUEST</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_m">- m -</a></h3><ul>
+<li>MachineLock
+: <a class="el" href="struct__OPEN__INSTANCE.html#afe174f20f512159a454365613846eca5">_OPEN_INSTANCE</a>
+</li>
+<li>magic
+: <a class="el" href="structpacket__file__header.html#ab396ddef34e11edb49e5edfcc39c2dc7">packet_file_header</a>
+, <a class="el" href="structpcap__file__header.html#a18b75bcc7dcee1412b74b57bb238cf3d">pcap_file_header</a>
+</li>
+<li>MaxDumpBytes
+: <a class="el" href="struct__OPEN__INSTANCE.html#acfde736fb2a011607da168a05b5100b0">_OPEN_INSTANCE</a>
+</li>
+<li>MaxDumpPacks
+: <a class="el" href="struct__OPEN__INSTANCE.html#a3f6accd17a8dccf9b44acc678510a094">_OPEN_INSTANCE</a>
+</li>
+<li>MaxFrameSize
+: <a class="el" href="struct__OPEN__INSTANCE.html#ac672771358770d24087aaa12a80d01cb">_OPEN_INSTANCE</a>
+</li>
+<li>maxlen
+: <a class="el" href="structpcap__send__queue.html#a30305e6f9a9069760edf175b138e445d">pcap_send_queue</a>
+</li>
+<li>Medium
+: <a class="el" href="struct__OPEN__INSTANCE.html#af6a81c046e634d6149550d3475924c05">_OPEN_INSTANCE</a>
+</li>
+<li>mem
+: <a class="el" href="structJIT__BPF__Filter.html#aeb16cd6e768dbea45530de3d0fc83e51">JIT_BPF_Filter</a>
+</li>
+<li>method
+: <a class="el" href="structrpcap__sampling.html#aa4da76ff1a3e6459e06e4d39af6bfef2">rpcap_sampling</a>
+, <a class="el" href="structpcap__samp.html#adcc9a19ad3119f823a658f6a49a24e64">pcap_samp</a>
+</li>
+<li>MinToCopy
+: <a class="el" href="struct__OPEN__INSTANCE.html#a263f7d6f5db5625541d275380685f0b1">_OPEN_INSTANCE</a>
+</li>
+<li>mode
+: <a class="el" href="struct__OPEN__INSTANCE.html#a1ea5d0cb93f22f7d0fdf804bd68c3326">_OPEN_INSTANCE</a>
+</li>
+<li>Multiple_Write_Counter
+: <a class="el" href="struct__OPEN__INSTANCE.html#aaa76c3b87b73baaa785c459188d769e0">_OPEN_INSTANCE</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_n">- n -</a></h3><ul>
+<li>naddr
+: <a class="el" href="structrpcap__findalldevs__if.html#af6e199ccfaf5ab811cc064e09f3153c3">rpcap_findalldevs_if</a>
+</li>
+<li>name
+: <a class="el" href="structpcap__if.html#a5ac083a645d964373f022d03df4849c8">pcap_if</a>
+</li>
+<li>namelen
+: <a class="el" href="structrpcap__findalldevs__if.html#ab42bca1875d25b6ce19de3ff5309a0bf">rpcap_findalldevs_if</a>
+</li>
+<li>Nbytes
+: <a class="el" href="struct__OPEN__INSTANCE.html#a87b5968c02200b033f7c6e15da439e62">_OPEN_INSTANCE</a>
+</li>
+<li>NdisOpenCloseCompleteEvent
+: <a class="el" href="struct__OPEN__INSTANCE.html#a58faf70e2b245f7d3f2b1a90257e823e">_OPEN_INSTANCE</a>
+</li>
+<li>NdisRequestEvent
+: <a class="el" href="struct__OPEN__INSTANCE.html#af63559424b5849687cc5c5fbad184c0f">_OPEN_INSTANCE</a>
+</li>
+<li>NdisWriteCompleteEvent
+: <a class="el" href="struct__OPEN__INSTANCE.html#ae16d8f96321924cea79edfba9a2aed9f">_OPEN_INSTANCE</a>
+</li>
+<li>netmask
+: <a class="el" href="structpcap__addr.html#ac43963e42e4d901e55e433ab9c3ea686">pcap_addr</a>
+, <a class="el" href="structrpcap__findalldevs__ifaddr.html#ae65e589cf67e45f6c5b5bd05a068b1dd">rpcap_findalldevs_ifaddr</a>
+</li>
+<li>NewP
+: <a class="el" href="struct____CPU__Private__Data.html#a58f2c915dfc7041ccb0d568eb79b494e">__CPU_Private_Data</a>
+</li>
+<li>next
+: <a class="el" href="structpcap__if.html#a81508e6e4e41ca4235c8d6b51913c536">pcap_if</a>
+, <a class="el" href="structpcap__addr.html#ab151e8e96bdb23ae8dd8d644de561999">pcap_addr</a>
+, <a class="el" href="structactivehosts.html#a34f7d4dc0ffb851aa4d9bf2e82ba915b">activehosts</a>
+</li>
+<li>nitems
+: <a class="el" href="structrpcap__filter.html#afa9a77743030f7cbceae9cffa2f8b311">rpcap_filter</a>
+</li>
+<li>Npackets
+: <a class="el" href="struct__OPEN__INSTANCE.html#a51a42386327e2a337854dd20cbe83061">_OPEN_INSTANCE</a>
+</li>
+<li>npkt
+: <a class="el" href="structrpcap__pkthdr.html#a18dee93b2d48c10546eb5637ba48405d">rpcap_pkthdr</a>
+</li>
+<li>nullAuthAllowed
+: <a class="el" href="structdaemon__slpars.html#a2513fb035d3d00a2d1b3c355aab6c93a">daemon_slpars</a>
+</li>
+<li>NumPendingIrps
+: <a class="el" href="struct__OPEN__INSTANCE.html#ad829423b08d53cd76dc8bed902d5af72">_OPEN_INSTANCE</a>
+</li>
+<li>Nwrites
+: <a class="el" href="struct__OPEN__INSTANCE.html#af6b5b0a348f7a40d795b554b0eceed73">_OPEN_INSTANCE</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_o">- o -</a></h3><ul>
+<li>Oid
+: <a class="el" href="struct__PACKET__OID__DATA.html#a7f776f07ead21514e4c48555980644c8">_PACKET_OID_DATA</a>
+</li>
+<li>OpenCloseStatus
+: <a class="el" href="struct__OPEN__INSTANCE.html#ae3c547ec9f715618b461b221fa2e3f09">_OPEN_INSTANCE</a>
+</li>
+<li>OpenInUseLock
+: <a class="el" href="struct__OPEN__INSTANCE.html#a4c6d0506eca78eb6602764234ce07e62">_OPEN_INSTANCE</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_p">- p -</a></h3><ul>
+<li>P
+: <a class="el" href="struct____CPU__Private__Data.html#a897d2179904e0d6fafd73b3d400052de">__CPU_Private_Data</a>
+</li>
+<li>PacketPool
+: <a class="el" href="struct__OPEN__INSTANCE.html#abb035c7e10216edcf41fa1576fecca42">_OPEN_INSTANCE</a>
+</li>
+<li>password
+: <a class="el" href="structpcap__rmtauth.html#a59460a3ff2c12443d1022e5cc0fba85c">pcap_rmtauth</a>
+</li>
+<li>plen
+: <a class="el" href="structrpcap__header.html#a9f51ae02e66e202ec26632a2bce78942">rpcap_header</a>
+</li>
+<li>pMdl
+: <a class="el" href="struct__PACKET__RESERVED.html#a3bbb67b64845622d97356325852ef6be">_PACKET_RESERVED</a>
+</li>
+<li>port
+: <a class="el" href="structactive__pars.html#a27201989fe772052edc147c02e61ae00">active_pars</a>
+</li>
+<li>portdata
+: <a class="el" href="structrpcap__startcapreply.html#a914e4f42058b208f03d04a65c902bff3">rpcap_startcapreply</a>
+, <a class="el" href="structrpcap__startcapreq.html#a914e4f42058b208f03d04a65c902bff3">rpcap_startcapreq</a>
+</li>
+<li>ps_drop
+: <a class="el" href="structpcap__stat.html#a2cfc89d84a0ba404cacfa59f6b112bc1">pcap_stat</a>
+</li>
+<li>ps_ifdrop
+: <a class="el" href="structpcap__stat.html#abc51be1ec5423e462bde5eac5a9b7c56">pcap_stat</a>
+</li>
+<li>ps_recv
+: <a class="el" href="structpcap__stat.html#a825c8bdb589e7de8e597f6d6f7af8125">pcap_stat</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_r">- r -</a></h3><ul>
+<li>read_timeout
+: <a class="el" href="structrpcap__startcapreq.html#a189e41efb9a00f52c242e0287e341543">rpcap_startcapreq</a>
+</li>
+<li>ReaderSN
+: <a class="el" href="struct__OPEN__INSTANCE.html#a80fd41275e80049cbe8238917a1dfb33">_OPEN_INSTANCE</a>
+</li>
+<li>ReadEvent
+: <a class="el" href="struct__OPEN__INSTANCE.html#a6139735ab3e4fa797d344e314bba6473">_OPEN_INSTANCE</a>
+</li>
+<li>Received
+: <a class="el" href="struct____CPU__Private__Data.html#a82febc79f3f3bbf857a4fd34447b5ca2">__CPU_Private_Data</a>
+</li>
+<li>refs
+: <a class="el" href="structbinary__stream.html#a479a793a3937e38fd40e0bb6edfbfe5e">binary_stream</a>
+</li>
+<li>Request
+: <a class="el" href="struct__INTERNAL__REQUEST.html#a9d22abed5e537b5a86700c0cae0aeeda">_INTERNAL_REQUEST</a>
+</li>
+<li>RequestList
+: <a class="el" href="struct__OPEN__INSTANCE.html#a805c530d7fa5f6078b9170dc0cd03f5c">_OPEN_INSTANCE</a>
+</li>
+<li>Requests
+: <a class="el" href="struct__OPEN__INSTANCE.html#a9a6854a154d332159dbcb19e5d104441">_OPEN_INSTANCE</a>
+</li>
+<li>RequestSpinLock
+: <a class="el" href="struct__OPEN__INSTANCE.html#abe53f2762ef5451c80b2fcadeff59884">_OPEN_INSTANCE</a>
+</li>
+<li>RequestStatus
+: <a class="el" href="struct__INTERNAL__REQUEST.html#a1948690a3012c81acf392ba489b32b60">_INTERNAL_REQUEST</a>
+</li>
+<li>ResetIrpList
+: <a class="el" href="struct__OPEN__INSTANCE.html#a1836c9a11084bf113d902946c5c41499">_OPEN_INSTANCE</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_s">- s -</a></h3><ul>
+<li>sigfigs
+: <a class="el" href="structpacket__file__header.html#a5938c470e9e548ad2ac04923725e7721">packet_file_header</a>
+, <a class="el" href="structpcap__file__header.html#a209ec264363632ccd21b412c93d2881a">pcap_file_header</a>
+</li>
+<li>Size
+: <a class="el" href="struct__OPEN__INSTANCE.html#a1ce5ea4c97c82145e50d4b5157889a0e">_OPEN_INSTANCE</a>
+</li>
+<li>SkipSentPackets
+: <a class="el" href="struct__OPEN__INSTANCE.html#a445a6029d067430cd761ae692443b573">_OPEN_INSTANCE</a>
+</li>
+<li>slen1
+: <a class="el" href="structrpcap__auth.html#a893c04f91ad73ad97125a7b451ad9f79">rpcap_auth</a>
+</li>
+<li>slen2
+: <a class="el" href="structrpcap__auth.html#aa8114dce6bebe43b9a350a9716128cd1">rpcap_auth</a>
+</li>
+<li>SN
+: <a class="el" href="structPacketHeader.html#afbd4efa90a98223b9ebe18574c057b47">PacketHeader</a>
+</li>
+<li>snaplen
+: <a class="el" href="structpacket__file__header.html#a45b189420d67014dba25bd13da85ddae">packet_file_header</a>
+, <a class="el" href="structpcap__file__header.html#aa73496b51e5edb630420e4044792c897">pcap_file_header</a>
+, <a class="el" href="structrpcap__startcapreq.html#aebbb13cc569d948514d286df698443d2">rpcap_startcapreq</a>
+</li>
+<li>sockctrl
+: <a class="el" href="structactivehosts.html#a33939ceefa385f1e6c60f94f2474869d">activehosts</a>
+, <a class="el" href="structdaemon__slpars.html#a33939ceefa385f1e6c60f94f2474869d">daemon_slpars</a>
+</li>
+<li>svrcapt
+: <a class="el" href="structrpcap__stats.html#a42ea5a69add0a420c6cb2b8961482a76">rpcap_stats</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_t">- t -</a></h3><ul>
+<li>thiszone
+: <a class="el" href="structpacket__file__header.html#ab0f3e0ccc83861eb84cd3da32f01f090">packet_file_header</a>
+, <a class="el" href="structpcap__file__header.html#ae729a1ba12145c96acbe2bb6310bc7e1">pcap_file_header</a>
+</li>
+<li>TimeOut
+: <a class="el" href="struct__OPEN__INSTANCE.html#aa6709070de8443c026e3b86913942c2b">_OPEN_INSTANCE</a>
+</li>
+<li>timestamp_sec
+: <a class="el" href="structrpcap__pkthdr.html#a0878eda64803556abde60998d96cae36">rpcap_pkthdr</a>
+</li>
+<li>timestamp_usec
+: <a class="el" href="structrpcap__pkthdr.html#a590071a7578068cca2e22ab465a8af68">rpcap_pkthdr</a>
+</li>
+<li>TransferMdl1
+: <a class="el" href="struct____CPU__Private__Data.html#acae03ade5065032ceaeef0bd03217b4f">__CPU_Private_Data</a>
+</li>
+<li>TransferMdl2
+: <a class="el" href="struct____CPU__Private__Data.html#a17b59e156d00ef5c76bdfe454c73ca49">__CPU_Private_Data</a>
+</li>
+<li>TransmitPendingPackets
+: <a class="el" href="struct__OPEN__INSTANCE.html#a3134a9bd6b67acf8eb8f5fd7a36228d7">_OPEN_INSTANCE</a>
+</li>
+<li>ts
+: <a class="el" href="structsf__pkthdr.html#a21be78b2818c91cb205885b8a6f5aed8">sf_pkthdr</a>
+, <a class="el" href="structpcap__pkthdr.html#a21be78b2818c91cb205885b8a6f5aed8">pcap_pkthdr</a>
+</li>
+<li>type
+: <a class="el" href="structrpcap__auth.html#af9b2e23a8f32ca09cfeb7d828436fb01">rpcap_auth</a>
+, <a class="el" href="structpcap__rmtauth.html#ac765329451135abec74c45e1897abf26">pcap_rmtauth</a>
+, <a class="el" href="structrpcap__header.html#a0d5276797b2358f6093607c68006bde8">rpcap_header</a>
+</li>
+<li>tzoff
+: <a class="el" href="structrpcap__openreply.html#a3d91df4637112c85432c1f3c59b2c5ae">rpcap_openreply</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_u">- u -</a></h3><ul>
+<li>username
+: <a class="el" href="structpcap__rmtauth.html#a9b20c006bd90a09e1465fb668700e81d">pcap_rmtauth</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_v">- v -</a></h3><ul>
+<li>value
+: <a class="el" href="structrpcap__header.html#a4dd7e7f197e82dc6db279eed0a5dc820">rpcap_header</a>
+, <a class="el" href="structrpcap__sampling.html#a825a6aa3f85d5b289f6e1a3b3a2beb83">rpcap_sampling</a>
+, <a class="el" href="structpcap__samp.html#ac4f474c82e82cbb89ca7c36dd52be0ed">pcap_samp</a>
+</li>
+<li>ver
+: <a class="el" href="structrpcap__header.html#ad284ddbfb04b14b9f8341f4dea79076e">rpcap_header</a>
+</li>
+<li>version_major
+: <a class="el" href="structpacket__file__header.html#a312dffcaa516df104318626fbdc01a77">packet_file_header</a>
+, <a class="el" href="structpcap__file__header.html#a571fada6e8ffbb02ad47e64f0f721d4a">pcap_file_header</a>
+</li>
+<li>version_minor
+: <a class="el" href="structpcap__file__header.html#a82971bc0da75fef683f826bd48050307">pcap_file_header</a>
+, <a class="el" href="structpacket__file__header.html#a143bc467378ffbd0460662bd8912082b">packet_file_header</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_w">- w -</a></h3><ul>
+<li>WriteEvent
+: <a class="el" href="struct__OPEN__INSTANCE.html#a46f6423b318291c7cc6ae32c226b33fd">_OPEN_INSTANCE</a>
+</li>
+<li>WriteInProgress
+: <a class="el" href="struct__OPEN__INSTANCE.html#af854d4eefa0f15302eaccee06e1ef447">_OPEN_INSTANCE</a>
+</li>
+<li>WriteLock
+: <a class="el" href="struct__OPEN__INSTANCE.html#a44ab7ba650b09972a0677958ad0ea4e0">_OPEN_INSTANCE</a>
+</li>
+<li>WriterSN
+: <a class="el" href="struct__OPEN__INSTANCE.html#ae58565fec941091aa7164b49121ffe2b">_OPEN_INSTANCE</a>
+</li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/globals.html b/3rdparty/winpcap/docs/html/globals.html
new file mode 100644
index 00000000000..82c8e27d701
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/globals.html
@@ -0,0 +1,114 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="globals.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+
+<h3><a class="anchor" id="index_a">- a -</a></h3><ul>
+<li>ADAPTER_BINDING_STATUS
+: <a class="el" href="group__NPF__include.html#gaa80226df1c5ee18b01580d23ed4f31cb">Packet.h</a>
+</li>
+<li>ADAPTER_BOUND
+: <a class="el" href="group__NPF__include.html#ggaa80226df1c5ee18b01580d23ed4f31cba3e0c0f314d2e9dc41c205ab44bf087bc">Packet.h</a>
+</li>
+<li>ADAPTER_UNBINDING
+: <a class="el" href="group__NPF__include.html#ggaa80226df1c5ee18b01580d23ed4f31cbadc92e852ef35fac0f033487a3be66a93">Packet.h</a>
+</li>
+<li>ADAPTER_UNBOUND
+: <a class="el" href="group__NPF__include.html#ggaa80226df1c5ee18b01580d23ed4f31cba6e4cdf9f09abf447cffdfd5058357822">Packet.h</a>
+</li>
+<li>ADD_EAXi
+: <a class="el" href="group__NPF__jitter.html#ga8a2dc91cd2750ca191cb52ee28c20026">jitter.h</a>
+</li>
+<li>ADDib
+: <a class="el" href="group__NPF__jitter.html#ga662520f1b50ce47a5019ece610362a5d">jitter.h</a>
+</li>
+<li>ADDid
+: <a class="el" href="group__NPF__jitter.html#ga78c9a376702f4d6227d3f4c3fde45f33">jitter.h</a>
+</li>
+<li>ADDrd
+: <a class="el" href="group__NPF__jitter.html#ga406c664d3efbbc2d75412722ebec9892">jitter.h</a>
+</li>
+<li>AIRPCAP_HANDLE__EAE405F5_0171_9592_B3C2_C19EC426AD34__DEFINED_
+: <a class="el" href="Win32-Extensions_8h.html#ac635b6b5d4d6d9958cfb72d44550bd36">Win32-Extensions.h</a>
+</li>
+<li>AL
+: <a class="el" href="group__NPF__jitter.html#gae56562740b1159ed03061cecec40f609">jitter.h</a>
+</li>
+<li>ANDib
+: <a class="el" href="group__NPF__jitter.html#gab3eed598cc38c958c42cf0a861948bbb">jitter.h</a>
+</li>
+<li>ANDid
+: <a class="el" href="group__NPF__jitter.html#ga95bf0579f50e1b94e217b31e2016fa62">jitter.h</a>
+</li>
+<li>ANDrd
+: <a class="el" href="group__NPF__jitter.html#ga7828add99946b35b9e718a0f23ec7e65">jitter.h</a>
+</li>
+<li>AX
+: <a class="el" href="group__NPF__jitter.html#gaabc40350f8f80c9c718c44dea61e10fe">jitter.h</a>
+</li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/globals_0x62.html b/3rdparty/winpcap/docs/html/globals_0x62.html
new file mode 100644
index 00000000000..84f8b422b43
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/globals_0x62.html
@@ -0,0 +1,204 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="globals.html#index_a"><span>a</span></a></li>
+ <li class="current"><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+
+<h3><a class="anchor" id="index_b">- b -</a></h3><ul>
+<li>BIOCGEVNAME
+: <a class="el" href="group__NPF__ioctl.html#gadd9e03a96d297a33d7cee4d750c34eff">ioctls.h</a>
+</li>
+<li>BIOCGSTATS
+: <a class="el" href="group__NPF__ioctl.html#ga8ae8be8faa281644d8be1cda38b826bd">ioctls.h</a>
+</li>
+<li>BIOCISDUMPENDED
+: <a class="el" href="group__NPF__ioctl.html#ga874d333aca88363bc6fdcb3e8b1af05b">ioctls.h</a>
+</li>
+<li>BIOCISETLOBBEH
+: <a class="el" href="group__NPF__ioctl.html#gae02ae71d6fe0bfb4b600f8027dc90ba3">ioctls.h</a>
+</li>
+<li>BIOCQUERYOID
+: <a class="el" href="group__NPF__ioctl.html#ga5a0ab3231052ff323817e288dab2f127">ioctls.h</a>
+</li>
+<li>BIOCSENDPACKETSNOSYNC
+: <a class="el" href="group__NPF__ioctl.html#gac50830dc08762383dcb203a66e5c853d">ioctls.h</a>
+</li>
+<li>BIOCSENDPACKETSSYNC
+: <a class="el" href="group__NPF__ioctl.html#gab4d41e91e460bb101ef8ddb622a8e010">ioctls.h</a>
+</li>
+<li>BIOCSETBUFFERSIZE
+: <a class="el" href="group__NPF__ioctl.html#ga71817d3a52bf0ec819934a5f688a172c">ioctls.h</a>
+</li>
+<li>BIOCSETDUMPFILENAME
+: <a class="el" href="group__NPF__ioctl.html#gac8b51f8abae12f57a2ea8e8e4c0cd53c">ioctls.h</a>
+</li>
+<li>BIOCSETDUMPLIMITS
+: <a class="el" href="group__NPF__ioctl.html#ga3205efe3271948f253c4da5abf0e12c6">ioctls.h</a>
+</li>
+<li>BIOCSETEVENTHANDLE
+: <a class="el" href="group__NPF__ioctl.html#ga31c73f09a27bb38a6040a5841096576a">ioctls.h</a>
+</li>
+<li>BIOCSETF
+: <a class="el" href="group__NPF__ioctl.html#gaf85f500f68404076ac60ffe6e08818da">ioctls.h</a>
+</li>
+<li>BIOCSETOID
+: <a class="el" href="group__NPF__ioctl.html#gabf9a4779fd5281607510edc8b5d766dd">ioctls.h</a>
+</li>
+<li>BIOCSMINTOCOPY
+: <a class="el" href="group__NPF__ioctl.html#gaa827e3441e3f84abc7df5e30fcee96d1">ioctls.h</a>
+</li>
+<li>BIOCSMODE
+: <a class="el" href="group__NPF__ioctl.html#gad1012b82859d09864d246b1fa99d48d6">ioctls.h</a>
+</li>
+<li>BIOCSRTIMEOUT
+: <a class="el" href="group__NPF__ioctl.html#ga327015c2b2e347212b571d1fa3aa2f54">ioctls.h</a>
+</li>
+<li>BIOCSWRITEREP
+: <a class="el" href="group__NPF__ioctl.html#ga1436997ce2947bbbe22b5400254438a1">ioctls.h</a>
+</li>
+<li>BL
+: <a class="el" href="group__NPF__jitter.html#gad567ea9864a3046e47ab69cdc050ecfa">jitter.h</a>
+</li>
+<li>BP
+: <a class="el" href="group__NPF__jitter.html#ga82b271e081de4cfb35eb87b0c13dddba">jitter.h</a>
+</li>
+<li>BPF_Destroy_JIT_Filter()
+: <a class="el" href="group__NPF__code.html#ga8d441782c2295f2f71d32727dd3f28a0">jitter.h</a>
+</li>
+<li>BPF_EXECUTE
+: <a class="el" href="Win32-Extensions_8h.html#a7b833a1802fa10b0d550c6eb3e724d75">Win32-Extensions.h</a>
+</li>
+<li>BPF_filter_function
+: <a class="el" href="group__NPF__jitter.html#ga55e96d93d223cecaa3c69437c1603c29">jitter.h</a>
+</li>
+<li>BPF_GET_REGISTER_VALUE
+: <a class="el" href="Win32-Extensions_8h.html#ae234c1f999720a0167b71235dd9efbd3">Win32-Extensions.h</a>
+</li>
+<li>BPF_INIT
+: <a class="el" href="Win32-Extensions_8h.html#aab18fbabe4f6a84757afb8088827e82f">Win32-Extensions.h</a>
+</li>
+<li>bpf_int32
+: <a class="el" href="group__wpcap__def.html#ga759c6336c1d9abb462d9248c5ca5c437">incs/pcap.h</a>
+</li>
+<li>BPF_jitter()
+: <a class="el" href="group__NPF__code.html#gab95019314e0cce415388272574f85ed7">jitter.h</a>
+</li>
+<li>BPF_LOOKUP
+: <a class="el" href="Win32-Extensions_8h.html#a5e77fbb97cf270c27c430722a1e6fa3b">Win32-Extensions.h</a>
+</li>
+<li>BPF_MEM_EX
+: <a class="el" href="Win32-Extensions_8h.html#a5be0e4575ff0738e013bf0f3b76dc7be">Win32-Extensions.h</a>
+</li>
+<li>BPF_MEM_EX_IMM
+: <a class="el" href="Win32-Extensions_8h.html#a8b0c82df581e67530cb69b0c737f6d13">Win32-Extensions.h</a>
+</li>
+<li>BPF_MEM_EX_IND
+: <a class="el" href="Win32-Extensions_8h.html#ae9464818b3ae1e14e27bf7dc2a7d0a55">Win32-Extensions.h</a>
+</li>
+<li>BPF_RESET
+: <a class="el" href="Win32-Extensions_8h.html#abb2e97aac5a34caa5ceb0d8495ca7d8c">Win32-Extensions.h</a>
+</li>
+<li>BPF_SEPARATION
+: <a class="el" href="Win32-Extensions_8h.html#ac6ebbf4ea8c29d48aa9ebe282544f467">Win32-Extensions.h</a>
+</li>
+<li>BPF_SET_ACTIVE
+: <a class="el" href="Win32-Extensions_8h.html#a54a2fb014f7f0ff0dbec7b8c9c319322">Win32-Extensions.h</a>
+</li>
+<li>BPF_SET_ACTIVE_READ
+: <a class="el" href="Win32-Extensions_8h.html#a2beb870e2a5cd292a00b8bc243c0ab78">Win32-Extensions.h</a>
+</li>
+<li>BPF_SET_AUTODELETION
+: <a class="el" href="Win32-Extensions_8h.html#a60cf9b2aab2c973697939bdc85ff4f2d">Win32-Extensions.h</a>
+</li>
+<li>BPF_SET_MEMORY
+: <a class="el" href="Win32-Extensions_8h.html#a53c19e47ce08fe540a1e1323b1d5eb04">Win32-Extensions.h</a>
+</li>
+<li>BPF_SET_REGISTER_VALUE
+: <a class="el" href="Win32-Extensions_8h.html#afcf6a0cd9b0e14f9456d643888ae958f">Win32-Extensions.h</a>
+</li>
+<li>BPF_SET_WORKING
+: <a class="el" href="Win32-Extensions_8h.html#aa2cac9008111e31a231a0183e2af0525">Win32-Extensions.h</a>
+</li>
+<li>BPF_TME
+: <a class="el" href="Win32-Extensions_8h.html#ad7d6cc253b9b7d72ff13f80370a52490">Win32-Extensions.h</a>
+</li>
+<li>bpf_u_int32
+: <a class="el" href="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482">incs/pcap.h</a>
+</li>
+<li>BPF_VALIDATE
+: <a class="el" href="Win32-Extensions_8h.html#a52afa333263879b18b8ef1278e9d9c38">Win32-Extensions.h</a>
+</li>
+<li>BPFtoX86()
+: <a class="el" href="group__NPF__code.html#gaac4070271462268d182b0dbdbfcb1a88">jitter.h</a>
+</li>
+<li>BSWAP
+: <a class="el" href="group__NPF__jitter.html#gae23323bfdb114db0bf84e73f69adf3ba">jitter.h</a>
+</li>
+<li>BX
+: <a class="el" href="group__NPF__jitter.html#ga0f37ffb2213a7e5ab25da072e87193ac">jitter.h</a>
+</li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/globals_0x63.html b/3rdparty/winpcap/docs/html/globals_0x63.html
new file mode 100644
index 00000000000..22b4d5ad836
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/globals_0x63.html
@@ -0,0 +1,99 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="globals.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li class="current"><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+
+<h3><a class="anchor" id="index_c">- c -</a></h3><ul>
+<li>C_ASSERT
+: <a class="el" href="group__NPF__include.html#ga7300b6880da1b61717e7ff815d579bf6">Packet.h</a>
+</li>
+<li>case
+: <a class="el" href="wpcap__remote_8htm.html#a0b27a0048ba88eaf6d523bcc6c6ef00e">wpcap_remote.htm</a>
+</li>
+<li>CL
+: <a class="el" href="group__NPF__jitter.html#ga8f4ea5fa21d42f950b5f95a91e9ff227">jitter.h</a>
+</li>
+<li>CMPid
+: <a class="el" href="group__NPF__jitter.html#ga8bf965a6a78db5894fbee77707652516">jitter.h</a>
+</li>
+<li>CMPodd
+: <a class="el" href="group__NPF__jitter.html#gafaea7a7a2968bf20db43abae63b865fa">jitter.h</a>
+</li>
+<li>CMPrd
+: <a class="el" href="group__NPF__jitter.html#gad2db4a7b20890227d0dfeccae16710e6">jitter.h</a>
+</li>
+<li>connection
+: <a class="el" href="wpcap__remote_8htm.html#a9626e8afe69dfeee0e9d7a2477dedf52">wpcap_remote.htm</a>
+</li>
+<li>CpuPrivateData
+: <a class="el" href="group__NPF__include.html#ga321d8c7f608d41e095ec3508cff10764">Packet.h</a>
+</li>
+<li>CX
+: <a class="el" href="group__NPF__jitter.html#ga0b4c12a5dc8490a3cff8385334db2d13">jitter.h</a>
+</li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/globals_0x64.html b/3rdparty/winpcap/docs/html/globals_0x64.html
new file mode 100644
index 00000000000..434d7312536
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/globals_0x64.html
@@ -0,0 +1,96 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="globals.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li class="current"><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+
+<h3><a class="anchor" id="index_d">- d -</a></h3><ul>
+<li>Daemon()
+: <a class="el" href="wpcap__remote_8htm.html#a258f021c7879aa3b45bdf4d6e922d4f1">wpcap_remote.htm</a>
+</li>
+<li>daemon_serviceloop()
+: <a class="el" href="daemon_8h.html#ac54125d76e6f1ed4531f2025d51297e9">daemon.h</a>
+</li>
+<li>DEVICE_EXTENSION
+: <a class="el" href="group__NPF__include.html#ga5091b7a273db5d38a71df5293eb52ccf">Packet.h</a>
+</li>
+<li>DI
+: <a class="el" href="group__NPF__jitter.html#gacabe1ee3d11be6214c678bf4dabda3c9">jitter.h</a>
+</li>
+<li>DIVrd
+: <a class="el" href="group__NPF__jitter.html#gacf243ff85add192cb3105fb7a7911a7d">jitter.h</a>
+</li>
+<li>DL
+: <a class="el" href="group__NPF__jitter.html#ga7c70057f4ac04e167029eef16e7bb770">jitter.h</a>
+</li>
+<li>DriverEntry()
+: <a class="el" href="group__NPF__code.html#ga6502d781bd20234a06710b92d540baba">Packet.h</a>
+</li>
+<li>DX
+: <a class="el" href="group__NPF__jitter.html#ga3bcbb4f56d33efbe2456169e4d94c644">jitter.h</a>
+</li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/globals_0x65.html b/3rdparty/winpcap/docs/html/globals_0x65.html
new file mode 100644
index 00000000000..e911826838c
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/globals_0x65.html
@@ -0,0 +1,105 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="globals.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li class="current"><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+
+<h3><a class="anchor" id="index_e">- e -</a></h3><ul>
+<li>EAX
+: <a class="el" href="group__NPF__jitter.html#ga2fa1397b8142d609008de2e71c83e854">jitter.h</a>
+</li>
+<li>EBP
+: <a class="el" href="group__NPF__jitter.html#ga220a1f7741c506d2c73c9d5f0c3ad036">jitter.h</a>
+</li>
+<li>EBX
+: <a class="el" href="group__NPF__jitter.html#gab115c151477ddd6da5358ddc00071052">jitter.h</a>
+</li>
+<li>ECX
+: <a class="el" href="group__NPF__jitter.html#gae52163bab922ab29302d224786b8526d">jitter.h</a>
+</li>
+<li>EDI
+: <a class="el" href="group__NPF__jitter.html#gaebb930ae9eecaa5a8fa94d2ef4f159e0">jitter.h</a>
+</li>
+<li>EDX
+: <a class="el" href="group__NPF__jitter.html#ga8104635452d33b8536b33b551d98998f">jitter.h</a>
+</li>
+<li>emit_func
+: <a class="el" href="group__NPF__jitter.html#ga9b8427d5c2ee2075f766226a6e53bfad">jitter.h</a>
+</li>
+<li>ESI
+: <a class="el" href="group__NPF__jitter.html#gad4c46ad303098e5253b9216faff99d48">jitter.h</a>
+</li>
+<li>ESP
+: <a class="el" href="group__NPF__jitter.html#ga473a7f647ac8d1f222e106f074c43727">jitter.h</a>
+</li>
+<li>EXIT_FAILURE
+: <a class="el" href="group__NPF__include.html#gad6d1f5522a147ddeb7d9b11916acd50a">Packet.h</a>
+</li>
+<li>EXIT_SUCCESS
+: <a class="el" href="group__NPF__include.html#gacabf25322566f3bcd1e564e4939f5821">Packet.h</a>
+</li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/globals_0x66.html b/3rdparty/winpcap/docs/html/globals_0x66.html
new file mode 100644
index 00000000000..a1e55ee4162
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/globals_0x66.html
@@ -0,0 +1,78 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="globals.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li class="current"><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+
+<h3><a class="anchor" id="index_f">- f -</a></h3><ul>
+<li>fileconf_read()
+: <a class="el" href="fileconf_8h.html#a0de1d69b41cd2c4660ba69528e1efcbc">fileconf.h</a>
+</li>
+<li>fileconf_save()
+: <a class="el" href="fileconf_8h.html#acfe7f224e7366e140e926ea972eebad3">fileconf.h</a>
+</li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/globals_0x67.html b/3rdparty/winpcap/docs/html/globals_0x67.html
new file mode 100644
index 00000000000..f4747df1958
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/globals_0x67.html
@@ -0,0 +1,96 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="globals.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li class="current"><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+
+<h3><a class="anchor" id="index_g">- g -</a></h3><ul>
+<li>g_NCpu
+: <a class="el" href="group__NPF__include.html#ga980b14c18716a1788990f8e68fed9420">Packet.h</a>
+</li>
+<li>g_NdisProtocolHandle
+: <a class="el" href="group__NPF__include.html#ga5d6fbe2176d19b191fa7aaac4d6d6bb5">Packet.h</a>
+</li>
+<li>g_SendPacketFlags
+: <a class="el" href="group__NPF__include.html#gab325d08691ab69e4f942f6a418a41db2">Packet.h</a>
+</li>
+<li>G_Start_Time
+: <a class="el" href="group__NPF__include.html#ga8bd3dab633cae7a1a47c4ddb2705a31b">Packet.h</a>
+</li>
+<li>getAdaptersList()
+: <a class="el" href="group__NPF__code.html#gafc395636686df00f554efbd2010f73cb">Packet.h</a>
+</li>
+<li>GetBuffOccupation()
+: <a class="el" href="group__NPF__code.html#gadd6737f745e21b37b8613b489a96687d">Packet.h</a>
+</li>
+<li>getopt()
+: <a class="el" href="utils_8h.html#ac4cbd81bf756957d5021b41159a17d0d">utils.h</a>
+</li>
+<li>getTcpBindings()
+: <a class="el" href="group__NPF__code.html#gacf0e32b371eb9283e5cf1de0dfb15629">Packet.h</a>
+</li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/globals_0x68.html b/3rdparty/winpcap/docs/html/globals_0x68.html
new file mode 100644
index 00000000000..a43c30e7693
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/globals_0x68.html
@@ -0,0 +1,75 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="globals.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li class="current"><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+
+<h3><a class="anchor" id="index_h">- h -</a></h3><ul>
+<li>host
+: <a class="el" href="wpcap__remote_8htm.html#a3c46d79c790748a5942fb43baa6b3073">wpcap_remote.htm</a>
+</li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/globals_0x69.html b/3rdparty/winpcap/docs/html/globals_0x69.html
new file mode 100644
index 00000000000..e9ad1450218
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/globals_0x69.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="globals.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li class="current"><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+
+<h3><a class="anchor" id="index_i">- i -</a></h3><ul>
+<li>IMMEDIATE
+: <a class="el" href="group__NPF__include.html#ga4f6749b7708a411df2a3341a3fcef917">Packet.h</a>
+</li>
+<li>int32
+: <a class="el" href="group__remote__pri__struct.html#ga56f1a81c92849566ae864511088eb7e8">pcap-remote.h</a>
+</li>
+<li>INTERNAL_REQUEST
+: <a class="el" href="group__NPF__include.html#ga0bee4ca4dc129822e19478f88d991a31">Packet.h</a>
+</li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/globals_0x6a.html b/3rdparty/winpcap/docs/html/globals_0x6a.html
new file mode 100644
index 00000000000..444b087f2db
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/globals_0x6a.html
@@ -0,0 +1,99 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="globals.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li class="current"><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+
+<h3><a class="anchor" id="index_j">- j -</a></h3><ul>
+<li>JA
+: <a class="el" href="group__NPF__jitter.html#ga714569f0abf518185dab9bbc44f61e26">jitter.h</a>
+</li>
+<li>JAE
+: <a class="el" href="group__NPF__jitter.html#gafa60b85ba5e6d1180f7fb7c1843413d5">jitter.h</a>
+</li>
+<li>JE
+: <a class="el" href="group__NPF__jitter.html#ga3ad47796cfcb6867e44b0f82c8906bee">jitter.h</a>
+</li>
+<li>JG
+: <a class="el" href="group__NPF__jitter.html#gab7aa640b19ad1d6e32833b40ee963407">jitter.h</a>
+</li>
+<li>JGE
+: <a class="el" href="group__NPF__jitter.html#ga0b03c2a76f68eb3698320a001a5f5eae">jitter.h</a>
+</li>
+<li>JLE
+: <a class="el" href="group__NPF__jitter.html#ga406f0ee4d13f16d867e48bae8c9ffba7">jitter.h</a>
+</li>
+<li>JLEb
+: <a class="el" href="group__NPF__jitter.html#ga0987b591887a2ea41c2ba108729f30cb">jitter.h</a>
+</li>
+<li>JMP
+: <a class="el" href="group__NPF__jitter.html#ga76425614ab26cca1839d7378c0fd1c55">jitter.h</a>
+</li>
+<li>JNEb
+: <a class="el" href="group__NPF__jitter.html#ga2f57f0e5ef7e33157d7a7983be7a85ef">jitter.h</a>
+</li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/globals_0x6b.html b/3rdparty/winpcap/docs/html/globals_0x6b.html
new file mode 100644
index 00000000000..0ea74649f5c
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/globals_0x6b.html
@@ -0,0 +1,75 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="globals.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li class="current"><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+
+<h3><a class="anchor" id="index_k">- k -</a></h3><ul>
+<li>KERNEL_EVENT_NAMESPACE
+: <a class="el" href="group__NPF__include.html#ga9cd2ca337001428aa9e1cb512a28ecc2">Packet.h</a>
+</li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/globals_0x6d.html b/3rdparty/winpcap/docs/html/globals_0x6d.html
new file mode 100644
index 00000000000..480309d9fe6
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/globals_0x6d.html
@@ -0,0 +1,128 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="globals.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li class="current"><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+
+<h3><a class="anchor" id="index_m">- m -</a></h3><ul>
+<li>main_cleanup()
+: <a class="el" href="rpcapd_8h.html#ae4c3a933a421273aece3c49c311ea51e">rpcapd.h</a>
+</li>
+<li>main_startup()
+: <a class="el" href="rpcapd_8h.html#a0cc389020d1b9211cfd535f6777cf305">rpcapd.h</a>
+</li>
+<li>MAX_ACTIVE_LIST
+: <a class="el" href="rpcapd_8h.html#ad20af9f33ade406218abf3ba936bdc8d">rpcapd.h</a>
+</li>
+<li>MAX_HOST_LIST
+: <a class="el" href="rpcapd_8h.html#aee0706af5319f49fa11db8472e20feaa">rpcapd.h</a>
+</li>
+<li>MAX_LINE
+: <a class="el" href="rpcapd_8h.html#a842ed03f27719bc87666bfd1f75415b8">rpcapd.h</a>
+</li>
+<li>MAX_REQUESTS
+: <a class="el" href="group__NPF__include.html#ga8fc96cee4177a369a99de7026ebeba81">Packet.h</a>
+</li>
+<li>MODE_CAPT
+: <a class="el" href="group__wpcap__def.html#gac93c0a6ad1d2a3143b1115bdab3ac04d">incs/pcap.h</a>
+, <a class="el" href="group__NPF__include.html#gac93c0a6ad1d2a3143b1115bdab3ac04d">Packet.h</a>
+</li>
+<li>MODE_DUMP
+: <a class="el" href="group__NPF__include.html#ga89853f93dc8cc890b0665629d16d2831">Packet.h</a>
+</li>
+<li>MODE_MON
+: <a class="el" href="group__NPF__include.html#ga528e7e542cb1a028a10a3a318880dffb">Packet.h</a>
+</li>
+<li>MODE_STAT
+: <a class="el" href="group__NPF__include.html#ga503326906a62e96c147ae6af31fb5659">Packet.h</a>
+, <a class="el" href="group__wpcap__def.html#ga503326906a62e96c147ae6af31fb5659">incs/pcap.h</a>
+</li>
+<li>MOVid
+: <a class="el" href="group__NPF__jitter.html#ga6b0eac20fe309e12eec4f204ed2cf789">jitter.h</a>
+</li>
+<li>MOVobb
+: <a class="el" href="group__NPF__jitter.html#ga737d1a1dbf2cf21569a923c9309d4222">jitter.h</a>
+</li>
+<li>MOVobd
+: <a class="el" href="group__NPF__jitter.html#ga4088a2e95640bad67561e29de7f7559c">jitter.h</a>
+</li>
+<li>MOVobw
+: <a class="el" href="group__NPF__jitter.html#gab6d82c4f6d0f83d28f1390363ce6aaf6">jitter.h</a>
+</li>
+<li>MOVodd
+: <a class="el" href="group__NPF__jitter.html#gae6230510e546bf08451c362926e35a5a">jitter.h</a>
+</li>
+<li>MOVomd
+: <a class="el" href="group__NPF__jitter.html#ga1dff1655d4ad86048c3d3541b66c1ac7">jitter.h</a>
+</li>
+<li>MOVrd
+: <a class="el" href="group__NPF__jitter.html#gabe5c6ed0ba1446cc33b33d6c9cc59819">jitter.h</a>
+</li>
+<li>MULrd
+: <a class="el" href="group__NPF__jitter.html#ga6522410ee041327aa6ab223875d84690">jitter.h</a>
+</li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/globals_0x6e.html b/3rdparty/winpcap/docs/html/globals_0x6e.html
new file mode 100644
index 00000000000..386c49561a4
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/globals_0x6e.html
@@ -0,0 +1,195 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="globals.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li class="current"><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+
+<h3><a class="anchor" id="index_n">- n -</a></h3><ul>
+<li>NDIS_FLAGS_SKIP_LOOPBACK_W2K
+: <a class="el" href="group__NPF__include.html#ga0a110077bb4fcbcc75512d8988c90de8">Packet.h</a>
+</li>
+<li>NEGd
+: <a class="el" href="group__NPF__jitter.html#ga032ba5ad2d179d6d8d1fe24457126621">jitter.h</a>
+</li>
+<li>NPF_BindAdapter()
+: <a class="el" href="group__NPF__code.html#ga9a78f9937b2d7d00250f49dcaeb5bab0">Packet.h</a>
+</li>
+<li>NPF_BufferedWrite()
+: <a class="el" href="group__NPF__code.html#ga9a97dd25ae757da4bfed3723a4eb4bce">Packet.h</a>
+</li>
+<li>NPF_Cleanup()
+: <a class="el" href="group__NPF__code.html#gafae94a0e7fda8de180cff6e596cc2803">Packet.h</a>
+</li>
+<li>NPF_Close()
+: <a class="el" href="group__NPF__code.html#gaf8b70be389645c912cf09f1e9ea4b975">Packet.h</a>
+</li>
+<li>NPF_CloseAdapterComplete()
+: <a class="el" href="group__NPF__code.html#ga300118a9a6cc28c2c880f6bb39d86b53">Packet.h</a>
+</li>
+<li>NPF_CloseBinding()
+: <a class="el" href="group__NPF__code.html#ga76d4e48415cea8e0e65ba93d7355b89f">Packet.h</a>
+</li>
+<li>NPF_CloseDumpFile()
+: <a class="el" href="group__NPF__code.html#gac911742b9f71c12c77452614db14c4a1">Packet.h</a>
+</li>
+<li>NPF_CloseOpenInstance()
+: <a class="el" href="group__NPF__code.html#ga99878d91732973e7b4020d8e42b4cf32">Packet.h</a>
+</li>
+<li>NPF_CreateDevice()
+: <a class="el" href="group__NPF__code.html#ga5d152d59c86209c5128ac788a7ae61b3">Packet.h</a>
+</li>
+<li>NPF_DISABLE_LOOPBACK
+: <a class="el" href="group__NPF__include.html#ga7ccc8974741059b5ae25231a56dbed09">Packet.h</a>
+</li>
+<li>NPF_DumpThread()
+: <a class="el" href="group__NPF__code.html#ga1566082cef91cf79ba4a855e3f44ede9">Packet.h</a>
+</li>
+<li>NPF_ENABLE_LOOPBACK
+: <a class="el" href="group__NPF__include.html#ga4a60d1f215d5b2af2b3b86a0f2a90ae2">Packet.h</a>
+</li>
+<li>NPF_GetDeviceMTU()
+: <a class="el" href="group__NPF__code.html#ga8bad85679d2e8c57f7501052f9b07284">Packet.h</a>
+</li>
+<li>NPF_IoControl()
+: <a class="el" href="group__NPF__code.html#gad8b208720b6e5149dabcd7fb058b16f7">Packet.h</a>
+</li>
+<li>NPF_Open()
+: <a class="el" href="group__NPF__code.html#ga82e557625e52fe4395bbe2e494fe8c4a">Packet.h</a>
+</li>
+<li>NPF_OpenAdapterComplete()
+: <a class="el" href="group__NPF__code.html#ga155ae51be29c6d36f8109781b8f6e7b2">Packet.h</a>
+</li>
+<li>NPF_OpenDumpFile()
+: <a class="el" href="group__NPF__code.html#gae3d1118c72b474fe214517a65afdfe09">Packet.h</a>
+</li>
+<li>NPF_QueryRegistryRoutine()
+: <a class="el" href="group__NPF__code.html#ga8831b54dcd5361e81ddf0d3165f1fb8f">Packet.h</a>
+</li>
+<li>NPF_Read()
+: <a class="el" href="group__NPF__code.html#ga827b1433b2d08cbac11b3844d721668f">Packet.h</a>
+</li>
+<li>NPF_ReadRegistry()
+: <a class="el" href="group__NPF__code.html#ga1a3ce25625792c74e5792b8fa86a489c">Packet.h</a>
+</li>
+<li>NPF_ReceiveComplete()
+: <a class="el" href="group__NPF__code.html#gae7863db01a628ed11324c49953195855">Packet.h</a>
+</li>
+<li>NPF_RequestComplete()
+: <a class="el" href="group__NPF__code.html#ga4ff37c0fd3273f829a1f84b9ab40755b">Packet.h</a>
+</li>
+<li>NPF_ResetComplete()
+: <a class="el" href="group__NPF__code.html#ga4e7934d9adb1826ed5e9112b9182f74a">Packet.h</a>
+</li>
+<li>NPF_SaveCurrentBuffer()
+: <a class="el" href="group__NPF__code.html#gafcdcf5a4d9bfb8fbdb179963d4c789bd">Packet.h</a>
+</li>
+<li>NPF_SendComplete()
+: <a class="el" href="group__NPF__code.html#gaed126572458eed2dcd18d1824ac86601">Packet.h</a>
+</li>
+<li>NPF_StartDump()
+: <a class="el" href="group__NPF__code.html#gaeffce124cbc3e3ae09bd7a6d10367cbb">Packet.h</a>
+</li>
+<li>NPF_StartUsingBinding()
+: <a class="el" href="group__NPF__code.html#ga64dab96bfced5d22cc55a42fc6339833">Packet.h</a>
+</li>
+<li>NPF_StartUsingOpenInstance()
+: <a class="el" href="group__NPF__code.html#ga504e61b1229a9a604080fc8607b24084">Packet.h</a>
+</li>
+<li>NPF_Status()
+: <a class="el" href="group__NPF__code.html#ga1a8cf4fdeed6e93fcf1f50da654402b7">Packet.h</a>
+</li>
+<li>NPF_StatusComplete()
+: <a class="el" href="group__NPF__code.html#ga70f97109adcd6de8b157534e5ecf2e56">Packet.h</a>
+</li>
+<li>NPF_StopUsingBinding()
+: <a class="el" href="group__NPF__code.html#gacd54077d4c2d9186486d3504523ba4f0">Packet.h</a>
+</li>
+<li>NPF_StopUsingOpenInstance()
+: <a class="el" href="group__NPF__code.html#ga6ceb77291c077b05efd3b588a6a30867">Packet.h</a>
+</li>
+<li>NPF_tap()
+: <a class="el" href="group__NPF__code.html#ga92f84ced372baf09f1c00a6b252a0564">Packet.h</a>
+</li>
+<li>NPF_TransferDataComplete()
+: <a class="el" href="group__NPF__code.html#ga0c34f931d6718be202c7c62406f279fd">Packet.h</a>
+</li>
+<li>NPF_UnbindAdapter()
+: <a class="el" href="group__NPF__code.html#ga54d94e883ff4c580289eefaf0d1fc356">Packet.h</a>
+</li>
+<li>NPF_Unload()
+: <a class="el" href="group__NPF__code.html#ga5eb5a8e754198d1bbc6572cbc9e59b9c">Packet.h</a>
+</li>
+<li>NPF_WaitEndOfBufferedWrite()
+: <a class="el" href="group__NPF__code.html#ga8861b474efcb6578c9fe2075ff3e6aef">Packet.h</a>
+</li>
+<li>NPF_Write()
+: <a class="el" href="group__NPF__code.html#ga595338435296a4d1e15363ebfcb3a38c">Packet.h</a>
+</li>
+<li>NPF_WriteDumpFile()
+: <a class="el" href="group__NPF__code.html#ga57b9ee7752f00c8858bda8ca060a033b">Packet.h</a>
+</li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/globals_0x6f.html b/3rdparty/winpcap/docs/html/globals_0x6f.html
new file mode 100644
index 00000000000..087e6cb604a
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/globals_0x6f.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="globals.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li class="current"><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+
+<h3><a class="anchor" id="index_o">- o -</a></h3><ul>
+<li>OPEN_INSTANCE
+: <a class="el" href="group__NPF__include.html#gafeddf3a08e141d369532061f3f8cd939">Packet.h</a>
+</li>
+<li>ORid
+: <a class="el" href="group__NPF__jitter.html#gad16914336faf4604944facbd4c20d942">jitter.h</a>
+</li>
+<li>ORrd
+: <a class="el" href="group__NPF__jitter.html#ga15317b93f1d8d9cf088bc9f91ace844b">jitter.h</a>
+</li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/globals_0x70.html b/3rdparty/winpcap/docs/html/globals_0x70.html
new file mode 100644
index 00000000000..9232ad97df5
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/globals_0x70.html
@@ -0,0 +1,486 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="globals.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li class="current"><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+
+<h3><a class="anchor" id="index_p">- p -</a></h3><ul>
+<li>Packet_ALIGNMENT
+: <a class="el" href="group__NPF__include.html#ga8463d2101446f74b83ed10006d772384">Packet.h</a>
+</li>
+<li>PACKET_OID_DATA
+: <a class="el" href="group__NPF__include.html#ga0c7b0f53860e1de014069aad53987bc6">Packet.h</a>
+</li>
+<li>PACKET_RESERVED
+: <a class="el" href="group__NPF__include.html#ga2225b3cfa793593a1849aa0652846a5c">Packet.h</a>
+</li>
+<li>Packet_WORDALIGN
+: <a class="el" href="group__NPF__include.html#ga6ad53095b69ed77878dc683754e3264a">Packet.h</a>
+</li>
+<li>PAirpcapHandle
+: <a class="el" href="Win32-Extensions_8h.html#aadfdcc0e37082d8f6b28a43ec9a0bccf">Win32-Extensions.h</a>
+</li>
+<li>pcap_addr_t
+: <a class="el" href="group__wpcap__def.html#gad5c2e491e2ca9d8eefe4217021c99bdc">incs/pcap.h</a>
+</li>
+<li>pcap_breakloop()
+: <a class="el" href="group__wpcapfunc.html#gae0dc50910fabbd375fab8a1352a6cf33">funcs/pcap.h</a>
+</li>
+<li>PCAP_BUF_SIZE
+: <a class="el" href="group__remote__struct.html#gacacb155b596f7511f714de129ae32c97">remote-ext.h</a>
+</li>
+<li>pcap_cleanup_remote()
+: <a class="el" href="pcap-remote_8h.html#a26b01d5a63ab6498293ec372b32c4860">pcap-remote.h</a>
+</li>
+<li>pcap_close()
+: <a class="el" href="group__wpcapfunc.html#gaa45a5e1a4ba9925bb3586dcbeec78560">funcs/pcap.h</a>
+</li>
+<li>pcap_compile()
+: <a class="el" href="group__wpcapfunc.html#ga363bdc6f6b39b4979ddcf15ecb830c5c">funcs/pcap.h</a>
+</li>
+<li>pcap_compile_nopcap()
+: <a class="el" href="group__wpcapfunc.html#ga8325b202dad14a00609db8372722ae4e">funcs/pcap.h</a>
+</li>
+<li>pcap_createsrcstr()
+: <a class="el" href="group__wpcapfunc.html#gaa3111e10f930a9772a32a922b26948b0">funcs/pcap.h</a>
+, <a class="el" href="remote-ext_8h.html#aa3111e10f930a9772a32a922b26948b0">remote-ext.h</a>
+</li>
+<li>pcap_datalink()
+: <a class="el" href="group__wpcapfunc.html#ga64c019f851f7da6892d51cca15f12ace">funcs/pcap.h</a>
+</li>
+<li>pcap_datalink_name_to_val()
+: <a class="el" href="group__wpcapfunc.html#ga440b2f0757acd4804588933324909207">funcs/pcap.h</a>
+</li>
+<li>pcap_datalink_val_to_description()
+: <a class="el" href="group__wpcapfunc.html#ga3f142cd0694b49357e4a73371db71411">funcs/pcap.h</a>
+</li>
+<li>pcap_datalink_val_to_name()
+: <a class="el" href="group__wpcapfunc.html#gad45c16d494577f1886704af8f31ed442">funcs/pcap.h</a>
+</li>
+<li>pcap_dispatch()
+: <a class="el" href="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c">funcs/pcap.h</a>
+</li>
+<li>pcap_dump()
+: <a class="el" href="group__wpcapfunc.html#ga659439bf5aa3988b5a92d31990fbf437">funcs/pcap.h</a>
+</li>
+<li>pcap_dump_close()
+: <a class="el" href="group__wpcapfunc.html#ga3897795c1e9fb10571092febae964ef0">funcs/pcap.h</a>
+</li>
+<li>pcap_dump_file()
+: <a class="el" href="group__wpcapfunc.html#ga8dac02f297422ff2ab5983d1e30c58b6">funcs/pcap.h</a>
+</li>
+<li>pcap_dump_flush()
+: <a class="el" href="group__wpcapfunc.html#ga90404ae3dcffcd3bbe78f8b187a88984">funcs/pcap.h</a>
+</li>
+<li>pcap_dump_ftell()
+: <a class="el" href="group__wpcapfunc.html#ga50de34b8b3298f76c66c82b7ca3f84de">funcs/pcap.h</a>
+</li>
+<li>pcap_dump_open()
+: <a class="el" href="group__wpcapfunc.html#ga9506c33d580fdb5e5c288dba0f8a085c">funcs/pcap.h</a>
+</li>
+<li>pcap_dumper_t
+: <a class="el" href="group__wpcap__def.html#gab8c7858aa3a7e3158d9d58cb113a2ae8">incs/pcap.h</a>
+</li>
+<li>PCAP_ERR_AUTH
+: <a class="el" href="group__remote__pri__struct.html#ga5c8c6dd12f4fcdeaefd0f8d4a67b3075">pcap-remote.h</a>
+</li>
+<li>PCAP_ERR_ENDCAPTURE
+: <a class="el" href="group__remote__pri__struct.html#ga7237f6698352751c08de3b10ae711881">pcap-remote.h</a>
+</li>
+<li>PCAP_ERR_FINDALLIF
+: <a class="el" href="group__remote__pri__struct.html#gadfbdeb5279422bc65233eefeca885661">pcap-remote.h</a>
+</li>
+<li>PCAP_ERR_GETSTATS
+: <a class="el" href="group__remote__pri__struct.html#gaf2e8f37c8ecf045242e00d9d138d4130">pcap-remote.h</a>
+</li>
+<li>PCAP_ERR_HOSTNOAUTH
+: <a class="el" href="group__remote__pri__struct.html#ga77b7c5dbb7399e0f73c3105c181c0eba">pcap-remote.h</a>
+</li>
+<li>PCAP_ERR_INITTIMEOUT
+: <a class="el" href="group__remote__pri__struct.html#ga43cc461cdabd8d39ca2346f10c233a1b">pcap-remote.h</a>
+</li>
+<li>PCAP_ERR_NETW
+: <a class="el" href="group__remote__pri__struct.html#ga281ffdbe28e312f9fe6bc22c4d14fd68">pcap-remote.h</a>
+</li>
+<li>PCAP_ERR_NOREMOTEIF
+: <a class="el" href="group__remote__pri__struct.html#ga9f540070da23a5e61d0e27a61a300639">pcap-remote.h</a>
+</li>
+<li>PCAP_ERR_OPEN
+: <a class="el" href="group__remote__pri__struct.html#ga3bfdce6d89b764b103404a1ec08bc4f9">pcap-remote.h</a>
+</li>
+<li>PCAP_ERR_READEX
+: <a class="el" href="group__remote__pri__struct.html#ga61631ebf63be764b06b1259fcded1b4d">pcap-remote.h</a>
+</li>
+<li>PCAP_ERR_REMOTEACCEPT
+: <a class="el" href="group__remote__pri__struct.html#ga005853d9f448e2125b9c907cd68ae77a">pcap-remote.h</a>
+</li>
+<li>PCAP_ERR_RUNTIMETIMEOUT
+: <a class="el" href="group__remote__pri__struct.html#ga9a98b752c9427a52b1902b6a4aa9845a">pcap-remote.h</a>
+</li>
+<li>PCAP_ERR_SETSAMPLING
+: <a class="el" href="group__remote__pri__struct.html#gad904f96dcd2dc7ead1f50e81d27a87ee">pcap-remote.h</a>
+</li>
+<li>PCAP_ERR_STARTCAPTURE
+: <a class="el" href="group__remote__pri__struct.html#ga2342b31cd1b83713b43e29fc1b8bbe80">pcap-remote.h</a>
+</li>
+<li>PCAP_ERR_UPDATEFILTER
+: <a class="el" href="group__remote__pri__struct.html#gae12279008dbc82da60f457ae639d9c98">pcap-remote.h</a>
+</li>
+<li>PCAP_ERR_WRONGMSG
+: <a class="el" href="group__remote__pri__struct.html#gaadf8ebdb03c2852d32084792c32f5014">pcap-remote.h</a>
+</li>
+<li>PCAP_ERR_WRONGVER
+: <a class="el" href="group__remote__pri__struct.html#ga27644e4198a710a3fb6763464b4cceb8">pcap-remote.h</a>
+</li>
+<li>PCAP_ERRBUF_SIZE
+: <a class="el" href="group__wpcap__def.html#gacd448353957d92c98fccc29e1fc8d927">incs/pcap.h</a>
+</li>
+<li>pcap_file()
+: <a class="el" href="group__wpcapfunc.html#ga4c9f5690b99fb2af1f8904403f7da06b">funcs/pcap.h</a>
+</li>
+<li>pcap_findalldevs()
+: <a class="el" href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d">funcs/pcap.h</a>
+</li>
+<li>pcap_findalldevs_ex()
+: <a class="el" href="group__wpcapfunc.html#ga98f36e62c95c6ad81eaa8b2bbeb8f16e">funcs/pcap.h</a>
+, <a class="el" href="remote-ext_8h.html#a98f36e62c95c6ad81eaa8b2bbeb8f16e">remote-ext.h</a>
+</li>
+<li>pcap_freealldevs()
+: <a class="el" href="group__wpcapfunc.html#ga346b4b0b7fd1cda4abb9a39f767dbeb1">funcs/pcap.h</a>
+</li>
+<li>pcap_freecode()
+: <a class="el" href="group__wpcapfunc.html#ga9e0a5aad1a5dc79d85f1edfcebe0ac13">funcs/pcap.h</a>
+</li>
+<li>pcap_get_airpcap_handle()
+: <a class="el" href="group__wpcapfunc.html#ga4c8f8d1b9238c74faa156494a6b98670">funcs/pcap.h</a>
+, <a class="el" href="Win32-Extensions_8h.html#a4c8f8d1b9238c74faa156494a6b98670">Win32-Extensions.h</a>
+</li>
+<li>pcap_geterr()
+: <a class="el" href="group__wpcapfunc.html#ga81305cb154e4497e95bbb9b708631a3a">funcs/pcap.h</a>
+</li>
+<li>pcap_getevent()
+: <a class="el" href="group__wpcapfunc.html#ga2c415e9192c7b18a81a02300ae6f2c02">funcs/pcap.h</a>
+, <a class="el" href="Win32-Extensions_8h.html#a2c415e9192c7b18a81a02300ae6f2c02">Win32-Extensions.h</a>
+</li>
+<li>pcap_getnonblock()
+: <a class="el" href="group__wpcapfunc.html#gab25dc0bfe06545b86be4103bf010708e">funcs/pcap.h</a>
+</li>
+<li>pcap_handler
+: <a class="el" href="group__wpcapfunc.html#gabcba231c099919ecd9300d7160b19878">funcs/pcap.h</a>
+</li>
+<li>PCAP_IF_LOOPBACK
+: <a class="el" href="group__wpcap__def.html#ga43a6601bfd438efc02b0ba71c5439647">incs/pcap.h</a>
+</li>
+<li>pcap_if_t
+: <a class="el" href="group__wpcap__def.html#ga3a6e7cbf8d9752da3add4676c7cd4c58">incs/pcap.h</a>
+</li>
+<li>pcap_is_swapped()
+: <a class="el" href="group__wpcapfunc.html#gaba4941e09e5e03ba39841de4b1d5d6a4">funcs/pcap.h</a>
+</li>
+<li>pcap_lib_version()
+: <a class="el" href="group__wpcapfunc.html#ga2d92cec9ff55906b5b6fb883e4bd72f4">funcs/pcap.h</a>
+</li>
+<li>pcap_list_datalinks()
+: <a class="el" href="group__wpcapfunc.html#ga64e482360b0ed7d65fce1db23d56b921">funcs/pcap.h</a>
+</li>
+<li>pcap_live_dump()
+: <a class="el" href="Win32-Extensions_8h.html#aedef54159d918b22a7de8e75b8a3ef4d">Win32-Extensions.h</a>
+, <a class="el" href="group__wpcapfunc.html#gaedef54159d918b22a7de8e75b8a3ef4d">funcs/pcap.h</a>
+</li>
+<li>pcap_live_dump_ended()
+: <a class="el" href="group__wpcapfunc.html#gafe8a334f3a7ae2dc7f52e96523da39be">funcs/pcap.h</a>
+, <a class="el" href="Win32-Extensions_8h.html#afe8a334f3a7ae2dc7f52e96523da39be">Win32-Extensions.h</a>
+</li>
+<li>pcap_lookupdev()
+: <a class="el" href="group__wpcapfunc.html#gaed295fc9fd86434372e8a8316f1270b1">funcs/pcap.h</a>
+</li>
+<li>pcap_lookupnet()
+: <a class="el" href="group__wpcapfunc.html#gaa35276d0fa530c51a455f298fa1ec453">funcs/pcap.h</a>
+</li>
+<li>pcap_loop()
+: <a class="el" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de">funcs/pcap.h</a>
+</li>
+<li>pcap_major_version()
+: <a class="el" href="group__wpcapfunc.html#ga39dfb05149b443cc25b8febc455ca753">funcs/pcap.h</a>
+</li>
+<li>pcap_minor_version()
+: <a class="el" href="group__wpcapfunc.html#gac7a9dd9cd040ee500221cf35dfb49248">funcs/pcap.h</a>
+</li>
+<li>pcap_next()
+: <a class="el" href="group__wpcapfunc.html#gadf60257f650aaf869671e0a163611fc3">funcs/pcap.h</a>
+</li>
+<li>pcap_next_ex()
+: <a class="el" href="group__wpcapfunc.html#ga439439c2eae61161dc1efb1e03a81133">funcs/pcap.h</a>
+</li>
+<li>pcap_offline_filter()
+: <a class="el" href="group__wpcapfunc.html#gae92f11bfb001c19b2d0fbcd6821d222a">funcs/pcap.h</a>
+, <a class="el" href="Win32-Extensions_8h.html#ae92f11bfb001c19b2d0fbcd6821d222a">Win32-Extensions.h</a>
+</li>
+<li>pcap_open()
+: <a class="el" href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791">funcs/pcap.h</a>
+, <a class="el" href="remote-ext_8h.html#a2b64c7b6490090d1d37088794f1f1791">remote-ext.h</a>
+</li>
+<li>pcap_open_dead()
+: <a class="el" href="group__wpcapfunc.html#ga6445eeb76f2757b9fa088b276eea2845">funcs/pcap.h</a>
+</li>
+<li>pcap_open_live()
+: <a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8">funcs/pcap.h</a>
+</li>
+<li>pcap_open_offline()
+: <a class="el" href="group__wpcapfunc.html#ga91078168a13de8848df2b7b83d1f5b69">funcs/pcap.h</a>
+</li>
+<li>PCAP_OPENFLAG_DATATX_UDP
+: <a class="el" href="group__remote__open__flags.html#gaca53ea1423680167cf046752337b3381">remote-ext.h</a>
+</li>
+<li>PCAP_OPENFLAG_MAX_RESPONSIVENESS
+: <a class="el" href="group__remote__open__flags.html#gae54e5c810d75f23f69a0c78ca7f882b1">remote-ext.h</a>
+</li>
+<li>PCAP_OPENFLAG_NOCAPTURE_LOCAL
+: <a class="el" href="group__remote__open__flags.html#ga337712d5c8d26a0d984d6bb702d0118d">remote-ext.h</a>
+</li>
+<li>PCAP_OPENFLAG_NOCAPTURE_RPCAP
+: <a class="el" href="group__remote__open__flags.html#ga1af46d0c195f9a3b66955acdd52b5375">remote-ext.h</a>
+</li>
+<li>PCAP_OPENFLAG_PROMISCUOUS
+: <a class="el" href="group__remote__open__flags.html#ga9134ce51a9a6a7d497c3dee5affdc3b9">remote-ext.h</a>
+</li>
+<li>pcap_opensource_remote()
+: <a class="el" href="pcap-remote_8h.html#aa37a07d9cf44445b81602b14c622e28a">pcap-remote.h</a>
+</li>
+<li>pcap_parsesrcstr()
+: <a class="el" href="group__wpcapfunc.html#ga090e0afd3f463b4b60a64c47eddc1ba2">funcs/pcap.h</a>
+, <a class="el" href="remote-ext_8h.html#a090e0afd3f463b4b60a64c47eddc1ba2">remote-ext.h</a>
+</li>
+<li>pcap_perror()
+: <a class="el" href="group__wpcapfunc.html#gac3b6784c6c2623b93b22f6f219bd470e">funcs/pcap.h</a>
+</li>
+<li>pcap_read_nocb_remote()
+: <a class="el" href="pcap-remote_8h.html#a9592679e3e00af097835b4dfc5f2dbaa">pcap-remote.h</a>
+</li>
+<li>pcap_read_remote()
+: <a class="el" href="pcap-remote_8h.html#ab0db6e07bf653640fd14650aeffe5d5a">pcap-remote.h</a>
+</li>
+<li>pcap_remoteact_accept()
+: <a class="el" href="group__wpcapfunc.html#ga5495943cc8262db57f726e2a23f837dd">funcs/pcap.h</a>
+, <a class="el" href="remote-ext_8h.html#a5495943cc8262db57f726e2a23f837dd">remote-ext.h</a>
+</li>
+<li>pcap_remoteact_cleanup()
+: <a class="el" href="group__wpcapfunc.html#ga7b022e0a67f5ff62fd13df5c688d6d82">funcs/pcap.h</a>
+, <a class="el" href="remote-ext_8h.html#a7b022e0a67f5ff62fd13df5c688d6d82">remote-ext.h</a>
+</li>
+<li>pcap_remoteact_close()
+: <a class="el" href="group__wpcapfunc.html#ga6a84e03497f946d61c440696e57e2c95">funcs/pcap.h</a>
+, <a class="el" href="remote-ext_8h.html#a6a84e03497f946d61c440696e57e2c95">remote-ext.h</a>
+</li>
+<li>pcap_remoteact_list()
+: <a class="el" href="group__wpcapfunc.html#ga7ee8f666bff537aa457b7c05651cf815">funcs/pcap.h</a>
+, <a class="el" href="remote-ext_8h.html#a7ee8f666bff537aa457b7c05651cf815">remote-ext.h</a>
+</li>
+<li>PCAP_SAMP_1_EVERY_N
+: <a class="el" href="group__remote__samp__methods.html#ga79bf88faf9851bf82ee30beb302e3b5f">remote-ext.h</a>
+</li>
+<li>PCAP_SAMP_FIRST_AFTER_N_MS
+: <a class="el" href="group__remote__samp__methods.html#ga5a4ae1f017ece5c1d3b44c8a399d130b">remote-ext.h</a>
+</li>
+<li>PCAP_SAMP_NOSAMP
+: <a class="el" href="group__remote__samp__methods.html#ga1fc3a70120a1188f5ed4cc2af0ff0671">remote-ext.h</a>
+</li>
+<li>pcap_send_queue
+: <a class="el" href="Win32-Extensions_8h.html#a59f37277a1b82cbf46112f0e97485696">Win32-Extensions.h</a>
+</li>
+<li>pcap_sendpacket()
+: <a class="el" href="group__wpcapfunc.html#ga51dbda0f1ab9da2cfe49d657486d50b2">funcs/pcap.h</a>
+</li>
+<li>pcap_sendqueue_alloc()
+: <a class="el" href="group__wpcapfunc.html#gab940e69631b7cc7f2232a69ea02b86d9">funcs/pcap.h</a>
+, <a class="el" href="Win32-Extensions_8h.html#ab940e69631b7cc7f2232a69ea02b86d9">Win32-Extensions.h</a>
+</li>
+<li>pcap_sendqueue_destroy()
+: <a class="el" href="group__wpcapfunc.html#ga72624f7a9932cc2124abf661001e0aa4">funcs/pcap.h</a>
+, <a class="el" href="Win32-Extensions_8h.html#a72624f7a9932cc2124abf661001e0aa4">Win32-Extensions.h</a>
+</li>
+<li>pcap_sendqueue_queue()
+: <a class="el" href="group__wpcapfunc.html#ga4c57ea320d71dbfe55c5665af9db1297">funcs/pcap.h</a>
+, <a class="el" href="Win32-Extensions_8h.html#a4c57ea320d71dbfe55c5665af9db1297">Win32-Extensions.h</a>
+</li>
+<li>pcap_sendqueue_transmit()
+: <a class="el" href="Win32-Extensions_8h.html#aa4d55eb047a1cccc0e28397ce04ee097">Win32-Extensions.h</a>
+, <a class="el" href="group__wpcapfunc.html#gaa4d55eb047a1cccc0e28397ce04ee097">funcs/pcap.h</a>
+</li>
+<li>pcap_set_datalink()
+: <a class="el" href="group__wpcapfunc.html#ga9588b99ac118cf827873d9e941eb6c77">funcs/pcap.h</a>
+</li>
+<li>pcap_setbuff()
+: <a class="el" href="group__wpcapfunc.html#ga124bde25ccd9e39017ff2abec2dda623">funcs/pcap.h</a>
+</li>
+<li>pcap_setfilter()
+: <a class="el" href="group__wpcapfunc.html#gaf5f9cfe85dad0967ff607e5159b1ba61">funcs/pcap.h</a>
+</li>
+<li>pcap_setfilter_remote()
+: <a class="el" href="pcap-remote_8h.html#a3e12964f562dd76e1094d927cbe27b25">pcap-remote.h</a>
+</li>
+<li>pcap_setmintocopy()
+: <a class="el" href="group__wpcapfunc.html#gab14ceacbf1c2f63026416dd73f80dc0d">funcs/pcap.h</a>
+</li>
+<li>pcap_setmode()
+: <a class="el" href="group__wpcapfunc.html#gaef07ef49d3c75644f3fd34518e2fe720">funcs/pcap.h</a>
+</li>
+<li>pcap_setnonblock()
+: <a class="el" href="group__wpcapfunc.html#ga3f212141c80b59aad8ac535bb0178275">funcs/pcap.h</a>
+</li>
+<li>pcap_setsampling()
+: <a class="el" href="remote-ext_8h.html#a84c7d55f5b0e7d545b38d6b8e7bde005">remote-ext.h</a>
+, <a class="el" href="group__wpcapfunc.html#ga84c7d55f5b0e7d545b38d6b8e7bde005">funcs/pcap.h</a>
+</li>
+<li>pcap_setsampling_remote()
+: <a class="el" href="pcap-remote_8h.html#ae70f189ef09ba80aa809365854f2875a">pcap-remote.h</a>
+</li>
+<li>pcap_setuserbuffer()
+: <a class="el" href="Win32-Extensions_8h.html#a9b68e06df888cb005ddb92117227e0a6">Win32-Extensions.h</a>
+</li>
+<li>pcap_snapshot()
+: <a class="el" href="group__wpcapfunc.html#gae5c6e9768e89a6b82f9d720f37e6ab97">funcs/pcap.h</a>
+</li>
+<li>PCAP_SRC_FILE
+: <a class="el" href="group__remote__source__ID.html#ga9188ad0fc0d12fc51d1e9f5e78bf9440">remote-ext.h</a>
+</li>
+<li>PCAP_SRC_FILE_STRING
+: <a class="el" href="group__remote__source__string.html#gadb108815eb410ca0ab0b444ff2e56a26">remote-ext.h</a>
+</li>
+<li>PCAP_SRC_IF_STRING
+: <a class="el" href="group__remote__source__string.html#ga6d7103b8a7e1eca8c325bd8f32c361c3">remote-ext.h</a>
+</li>
+<li>PCAP_SRC_IFLOCAL
+: <a class="el" href="group__remote__source__ID.html#ga00c875af0185ead420787d4eaba6ff71">remote-ext.h</a>
+</li>
+<li>PCAP_SRC_IFREMOTE
+: <a class="el" href="group__remote__source__ID.html#gae5558973e334926f6e7171e3a711e265">remote-ext.h</a>
+</li>
+<li>pcap_start_oem()
+: <a class="el" href="Win32-Extensions_8h.html#a6455abf1f09abfd5493e2e0e914aa612">Win32-Extensions.h</a>
+</li>
+<li>pcap_startcapture_remote()
+: <a class="el" href="pcap-remote_8h.html#a0ad8f765bf454e69b98f97a3e2b002e7">pcap-remote.h</a>
+</li>
+<li>pcap_stats()
+: <a class="el" href="group__wpcapfunc.html#gabbd74d8c3ce1bcbccc76129ac38f4549">funcs/pcap.h</a>
+</li>
+<li>pcap_stats_ex()
+: <a class="el" href="group__wpcapfunc.html#ga8050f7829956aabd243cc32b3cfabbd6">funcs/pcap.h</a>
+, <a class="el" href="Win32-Extensions_8h.html#a8050f7829956aabd243cc32b3cfabbd6">Win32-Extensions.h</a>
+</li>
+<li>pcap_stats_ex_remote()
+: <a class="el" href="pcap-remote_8h.html#a6e9d9cdb69408ad2b1221c8f5dcc3c80">pcap-remote.h</a>
+</li>
+<li>pcap_stats_remote()
+: <a class="el" href="pcap-remote_8h.html#a566a5e39d86edb314005ed4fed4d2b99">pcap-remote.h</a>
+</li>
+<li>pcap_strerror()
+: <a class="el" href="group__wpcapfunc.html#gafac2067e8f66f5a5a87f19f5e2b5ad4f">funcs/pcap.h</a>
+</li>
+<li>pcap_t
+: <a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">incs/pcap.h</a>
+</li>
+<li>pcap_updatefilter_remote()
+: <a class="el" href="pcap-remote_8h.html#a27b8e02d428568edb810e6eca02f1c49">pcap-remote.h</a>
+</li>
+<li>PCAP_VERSION_MAJOR
+: <a class="el" href="group__wpcap__def.html#gaac031371d41e21ff96e80409e05a7ddb">incs/pcap.h</a>
+, <a class="el" href="group__NPF__include.html#gaac031371d41e21ff96e80409e05a7ddb">Packet.h</a>
+</li>
+<li>PCAP_VERSION_MINOR
+: <a class="el" href="group__wpcap__def.html#ga9c200b070c9f626d38184588b16849c2">incs/pcap.h</a>
+, <a class="el" href="group__NPF__include.html#ga9c200b070c9f626d38184588b16849c2">Packet.h</a>
+</li>
+<li>PDEVICE_EXTENSION
+: <a class="el" href="group__NPF__include.html#gac8ad25578be589c8352fc4e1a8a99be3">Packet.h</a>
+</li>
+<li>PINTERNAL_REQUEST
+: <a class="el" href="group__NPF__include.html#ga55591a7d14855359ed1e3995f7f025c3">Packet.h</a>
+</li>
+<li>POP
+: <a class="el" href="group__NPF__jitter.html#ga6da555dded4ddd3b9b053dd3218dc631">jitter.h</a>
+</li>
+<li>POPEN_INSTANCE
+: <a class="el" href="group__NPF__include.html#gad3b7ff25cfe0e8fd50666782f85e76cb">Packet.h</a>
+</li>
+<li>PPACKET_OID_DATA
+: <a class="el" href="group__NPF__include.html#gadf678e4006b707eb64a691e611975b22">Packet.h</a>
+</li>
+<li>PPACKET_RESERVED
+: <a class="el" href="group__NPF__include.html#ga375d9973bbbe748c9722e8f546beb10c">Packet.h</a>
+</li>
+<li>PROGRAM_NAME
+: <a class="el" href="rpcapd_8h.html#a3b6a35b8be8405a9db72cc5dea97954b">rpcapd.h</a>
+</li>
+<li>pthread_suspend()
+: <a class="el" href="daemon_8h.html#a17c4e1f787be3e05287772cef511a91d">daemon.h</a>
+</li>
+<li>PUSH
+: <a class="el" href="group__NPF__jitter.html#gaea36ce6a00fb793cb4fa9046a65e4e32">jitter.h</a>
+</li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/globals_0x72.html b/3rdparty/winpcap/docs/html/globals_0x72.html
new file mode 100644
index 00000000000..2cb12b29980
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/globals_0x72.html
@@ -0,0 +1,210 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="globals.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li class="current"><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+
+<h3><a class="anchor" id="index_r">- r -</a></h3><ul>
+<li>RESERVED
+: <a class="el" href="group__NPF__include.html#ga048ba8dfabc6ac16c602a1ca6fe994fc">Packet.h</a>
+</li>
+<li>RET
+: <a class="el" href="group__NPF__jitter.html#gaea5f5503d3239c71deb8366c013d6866">jitter.h</a>
+</li>
+<li>RPCAP_ACTIVE_WAIT
+: <a class="el" href="group__remote__pri__struct.html#ga8f32f1a7e4afc75d85adee7aa1136e2b">pcap-remote.h</a>
+</li>
+<li>rpcap_checkmsg()
+: <a class="el" href="pcap-remote_8h.html#aac91069eff112ab360f3834fa58ff53d">pcap-remote.h</a>
+</li>
+<li>rpcap_createhdr()
+: <a class="el" href="pcap-remote_8h.html#a16e3637e641d12618e4bef76fa2fcf2e">pcap-remote.h</a>
+</li>
+<li>RPCAP_DEFAULT_NETADDR
+: <a class="el" href="group__remote__pri__struct.html#ga652ea27f0736f2ed16eff2f8232be733">pcap-remote.h</a>
+</li>
+<li>RPCAP_DEFAULT_NETPORT
+: <a class="el" href="group__remote__pri__struct.html#gadd48856fd036eb39b1374e8722b83970">pcap-remote.h</a>
+</li>
+<li>RPCAP_DEFAULT_NETPORT_ACTIVE
+: <a class="el" href="group__remote__pri__struct.html#ga3faff98b6c9e4560e58beb8ca5d62473">pcap-remote.h</a>
+</li>
+<li>rpcap_deseraddr()
+: <a class="el" href="pcap-remote_8h.html#a67250f8933f1b6c261e9bd4136c4f2af">pcap-remote.h</a>
+</li>
+<li>RPCAP_HOSTLIST_SEP
+: <a class="el" href="group__remote__pri__struct.html#ga9ca2e46ddec1744b0442e42fc77dbc36">pcap-remote.h</a>
+</li>
+<li>RPCAP_HOSTLIST_SIZE
+: <a class="el" href="group__remote__struct.html#gad71cfa3b6dd1dacb2e8d6cef4ae67723">remote-ext.h</a>
+</li>
+<li>RPCAP_MSG_AUTH_REPLY
+: <a class="el" href="group__remote__pri__struct.html#ga558198e22dad94774670d4901069761b">pcap-remote.h</a>
+</li>
+<li>RPCAP_MSG_AUTH_REQ
+: <a class="el" href="group__remote__pri__struct.html#ga967ed95127e15aae04df68d128b32dcd">pcap-remote.h</a>
+</li>
+<li>RPCAP_MSG_CLOSE
+: <a class="el" href="group__remote__pri__struct.html#gaaca8c569d09dd1c7b2a7cfebe2ed5017">pcap-remote.h</a>
+</li>
+<li>RPCAP_MSG_ENDCAP_REPLY
+: <a class="el" href="group__remote__pri__struct.html#ga2994f9df11cfc2b2dd0e9a9d9ac4f37b">pcap-remote.h</a>
+</li>
+<li>RPCAP_MSG_ENDCAP_REQ
+: <a class="el" href="group__remote__pri__struct.html#gad6554d0a3e2e81d440a216e9ed207c99">pcap-remote.h</a>
+</li>
+<li>RPCAP_MSG_ERROR
+: <a class="el" href="group__remote__pri__struct.html#gae794b40128a8f48e8aab742c499e4c5c">pcap-remote.h</a>
+</li>
+<li>RPCAP_MSG_FINDALLIF_REPLY
+: <a class="el" href="group__remote__pri__struct.html#gab60aca69282ead1088a4565d47bdc05e">pcap-remote.h</a>
+</li>
+<li>RPCAP_MSG_FINDALLIF_REQ
+: <a class="el" href="group__remote__pri__struct.html#gac1cca8dabd5af5293a0e41515bc532a5">pcap-remote.h</a>
+</li>
+<li>RPCAP_MSG_OPEN_REPLY
+: <a class="el" href="group__remote__pri__struct.html#ga753597c2ff993d12156d7922116b1835">pcap-remote.h</a>
+</li>
+<li>RPCAP_MSG_OPEN_REQ
+: <a class="el" href="group__remote__pri__struct.html#gac99b71c29a3177c663b099c417d1de91">pcap-remote.h</a>
+</li>
+<li>RPCAP_MSG_PACKET
+: <a class="el" href="group__remote__pri__struct.html#gaaa605dc088c22dd9064a38d16a5199b9">pcap-remote.h</a>
+</li>
+<li>RPCAP_MSG_SETSAMPLING_REPLY
+: <a class="el" href="group__remote__pri__struct.html#ga59a57a83acc395c5e508dda7b8c33bad">pcap-remote.h</a>
+</li>
+<li>RPCAP_MSG_SETSAMPLING_REQ
+: <a class="el" href="group__remote__pri__struct.html#ga2d8c7f1e4361c748ccc051c276f5eaa9">pcap-remote.h</a>
+</li>
+<li>RPCAP_MSG_STARTCAP_REPLY
+: <a class="el" href="group__remote__pri__struct.html#ga22dcbe343e2103aef2e9856f93f40167">pcap-remote.h</a>
+</li>
+<li>RPCAP_MSG_STARTCAP_REQ
+: <a class="el" href="group__remote__pri__struct.html#ga082b424838496c8cc92dcadf6333b9e1">pcap-remote.h</a>
+</li>
+<li>RPCAP_MSG_STATS_REPLY
+: <a class="el" href="group__remote__pri__struct.html#ga3d52f2b6b3210dcb4f0db7bd8b46138e">pcap-remote.h</a>
+</li>
+<li>RPCAP_MSG_STATS_REQ
+: <a class="el" href="group__remote__pri__struct.html#ga29508e4fba57e33978c73997630b8159">pcap-remote.h</a>
+</li>
+<li>RPCAP_MSG_UPDATEFILTER_REPLY
+: <a class="el" href="group__remote__pri__struct.html#gaeb2561c1c6c9b9c56f4ac14ab70f6c3a">pcap-remote.h</a>
+</li>
+<li>RPCAP_MSG_UPDATEFILTER_REQ
+: <a class="el" href="group__remote__pri__struct.html#ga8c77cf6f710b92b3f87257e7d03d6677">pcap-remote.h</a>
+</li>
+<li>RPCAP_NETBUF_SIZE
+: <a class="el" href="group__remote__pri__struct.html#gac094e3209a4b7fc379b034d3dc37acb0">pcap-remote.h</a>
+</li>
+<li>rpcap_remoteact_getsock()
+: <a class="el" href="pcap-remote_8h.html#ae0fb2ae444215e729811d958fea0309e">pcap-remote.h</a>
+</li>
+<li>RPCAP_RMTAUTH_NULL
+: <a class="el" href="group__remote__auth__methods.html#gacf895bca5fa091307dcfa3a7cb6c8882">remote-ext.h</a>
+</li>
+<li>RPCAP_RMTAUTH_PWD
+: <a class="el" href="group__remote__auth__methods.html#gab73de990af3daaf44ff88119050634fb">remote-ext.h</a>
+</li>
+<li>rpcap_sendauth()
+: <a class="el" href="pcap-remote_8h.html#a29144d786cbb343587611df6d4283886">pcap-remote.h</a>
+</li>
+<li>rpcap_senderror()
+: <a class="el" href="pcap-remote_8h.html#a7e311277cf79afe58e6683f24cd14b65">pcap-remote.h</a>
+</li>
+<li>RPCAP_STARTCAPREQ_FLAG_DGRAM
+: <a class="el" href="group__remote__pri__struct.html#ga3f87b7e89ed61dc2c9956234399058e8">pcap-remote.h</a>
+</li>
+<li>RPCAP_STARTCAPREQ_FLAG_INBOUND
+: <a class="el" href="group__remote__pri__struct.html#gac22aa6103fe1490ab908a26d5c4a7c8a">pcap-remote.h</a>
+</li>
+<li>RPCAP_STARTCAPREQ_FLAG_OUTBOUND
+: <a class="el" href="group__remote__pri__struct.html#ga2b29630fe7963da543db242459c74832">pcap-remote.h</a>
+</li>
+<li>RPCAP_STARTCAPREQ_FLAG_PROMISC
+: <a class="el" href="group__remote__pri__struct.html#ga3d0b7b3a3d97ebdd265ab800a004ae8c">pcap-remote.h</a>
+</li>
+<li>RPCAP_STARTCAPREQ_FLAG_SERVEROPEN
+: <a class="el" href="group__remote__pri__struct.html#ga0c5a71a9b6d5be2662c5a8872cf3032c">pcap-remote.h</a>
+</li>
+<li>RPCAP_SUSPEND_WRONGAUTH
+: <a class="el" href="group__remote__pri__struct.html#ga5bac38979d12b0a8755d70981fb387af">pcap-remote.h</a>
+</li>
+<li>RPCAP_TIMEOUT_INIT
+: <a class="el" href="group__remote__pri__struct.html#gad5f148b0c94a8c6162ee79c33463ac95">pcap-remote.h</a>
+</li>
+<li>RPCAP_TIMEOUT_RUNTIME
+: <a class="el" href="group__remote__pri__struct.html#ga1d5a54e68e71ec6de7e3d9d1b5dc35bc">pcap-remote.h</a>
+</li>
+<li>RPCAP_UPDATEFILTER_BPF
+: <a class="el" href="group__remote__pri__struct.html#gac93bee6a0991d4334eacd6e451b54240">pcap-remote.h</a>
+</li>
+<li>RPCAP_VERSION
+: <a class="el" href="group__remote__pri__struct.html#gadd52d73598f0b006a4634f6f40c85e3e">pcap-remote.h</a>
+</li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/globals_0x73.html b/3rdparty/winpcap/docs/html/globals_0x73.html
new file mode 100644
index 00000000000..440d77395bf
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/globals_0x73.html
@@ -0,0 +1,105 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="globals.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li class="current"><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+
+<h3><a class="anchor" id="index_s">- s -</a></h3><ul>
+<li>SHL_CLrb
+: <a class="el" href="group__NPF__jitter.html#gaba18f7228bd4b7775209dca22201f77f">jitter.h</a>
+</li>
+<li>SHLib
+: <a class="el" href="group__NPF__jitter.html#ga42b8bbc156c89aef4676834480129221">jitter.h</a>
+</li>
+<li>SHR_CLrb
+: <a class="el" href="group__NPF__jitter.html#ga2c2cfe760fe83b9577ddcff9b87d8ab5">jitter.h</a>
+</li>
+<li>SHRib
+: <a class="el" href="group__NPF__jitter.html#ga5b4c050f10f024995d4b721c1fc6f3d3">jitter.h</a>
+</li>
+<li>SI
+: <a class="el" href="group__NPF__jitter.html#gaa1be7844620ac7bffe73137a180aa044">jitter.h</a>
+</li>
+<li>SOCKET_MAXCONN
+: <a class="el" href="rpcapd_8h.html#a402c3bd0564ae5f2446b91ec60ef4d09">rpcapd.h</a>
+</li>
+<li>SP
+: <a class="el" href="group__NPF__jitter.html#gaecd69d9a67487cc45c38eb184c50538a">jitter.h</a>
+</li>
+<li>SUB_EAXi
+: <a class="el" href="group__NPF__jitter.html#ga99d023823bbf183e389ebac6cd7d9897">jitter.h</a>
+</li>
+<li>SUBrd
+: <a class="el" href="group__NPF__jitter.html#gaa3a75062cb78c0956f063797cfd4c065">jitter.h</a>
+</li>
+<li>svc_start()
+: <a class="el" href="win32-svc_8h.html#ac70f5868df364c34acf38ac3e2262224">win32-svc.h</a>
+</li>
+<li>SWAP_AX
+: <a class="el" href="group__NPF__jitter.html#ga3918dfe9cdec919e2331a472ff76470f">jitter.h</a>
+</li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/globals_0x74.html b/3rdparty/winpcap/docs/html/globals_0x74.html
new file mode 100644
index 00000000000..41cda9767fe
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/globals_0x74.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="globals.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li class="current"><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+
+<h3><a class="anchor" id="index_t">- t -</a></h3><ul>
+<li>TCPDUMP_MAGIC
+: <a class="el" href="group__NPF__include.html#gafedcc0aa0cf5abe7b20c68eefdfcb126">Packet.h</a>
+</li>
+<li>then
+: <a class="el" href="wpcap__remote_8htm.html#a751ff7ed91d2e43008930137c9fa6925">wpcap_remote.htm</a>
+</li>
+<li>TRANSMIT_PACKETS
+: <a class="el" href="group__NPF__include.html#ga652e6173ee1441712652d74a5533e042">Packet.h</a>
+</li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/globals_0x75.html b/3rdparty/winpcap/docs/html/globals_0x75.html
new file mode 100644
index 00000000000..b0b5663edb9
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/globals_0x75.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="globals.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+ <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+ <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+ <li class="current"><a href="globals_0x75.html#index_u"><span>u</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+
+<h3><a class="anchor" id="index_u">- u -</a></h3><ul>
+<li>uint16
+: <a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">pcap-remote.h</a>
+</li>
+<li>uint32
+: <a class="el" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">pcap-remote.h</a>
+</li>
+<li>uint8
+: <a class="el" href="group__remote__pri__struct.html#gadde6aaee8457bee49c2a92621fe22b79">pcap-remote.h</a>
+</li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/globals_defs.html b/3rdparty/winpcap/docs/html/globals_defs.html
new file mode 100644
index 00000000000..7647ce8ccde
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/globals_defs.html
@@ -0,0 +1,707 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="#index_a"><span>a</span></a></li>
+ <li><a href="#index_b"><span>b</span></a></li>
+ <li><a href="#index_c"><span>c</span></a></li>
+ <li><a href="#index_d"><span>d</span></a></li>
+ <li><a href="#index_e"><span>e</span></a></li>
+ <li><a href="#index_i"><span>i</span></a></li>
+ <li><a href="#index_j"><span>j</span></a></li>
+ <li><a href="#index_k"><span>k</span></a></li>
+ <li><a href="#index_m"><span>m</span></a></li>
+ <li><a href="#index_n"><span>n</span></a></li>
+ <li><a href="#index_o"><span>o</span></a></li>
+ <li><a href="#index_p"><span>p</span></a></li>
+ <li><a href="#index_r"><span>r</span></a></li>
+ <li><a href="#index_s"><span>s</span></a></li>
+ <li><a href="#index_t"><span>t</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_a">- a -</a></h3><ul>
+<li>ADD_EAXi
+: <a class="el" href="group__NPF__jitter.html#ga8a2dc91cd2750ca191cb52ee28c20026">jitter.h</a>
+</li>
+<li>ADDib
+: <a class="el" href="group__NPF__jitter.html#ga662520f1b50ce47a5019ece610362a5d">jitter.h</a>
+</li>
+<li>ADDid
+: <a class="el" href="group__NPF__jitter.html#ga78c9a376702f4d6227d3f4c3fde45f33">jitter.h</a>
+</li>
+<li>ADDrd
+: <a class="el" href="group__NPF__jitter.html#ga406c664d3efbbc2d75412722ebec9892">jitter.h</a>
+</li>
+<li>AIRPCAP_HANDLE__EAE405F5_0171_9592_B3C2_C19EC426AD34__DEFINED_
+: <a class="el" href="Win32-Extensions_8h.html#ac635b6b5d4d6d9958cfb72d44550bd36">Win32-Extensions.h</a>
+</li>
+<li>AL
+: <a class="el" href="group__NPF__jitter.html#gae56562740b1159ed03061cecec40f609">jitter.h</a>
+</li>
+<li>ANDib
+: <a class="el" href="group__NPF__jitter.html#gab3eed598cc38c958c42cf0a861948bbb">jitter.h</a>
+</li>
+<li>ANDid
+: <a class="el" href="group__NPF__jitter.html#ga95bf0579f50e1b94e217b31e2016fa62">jitter.h</a>
+</li>
+<li>ANDrd
+: <a class="el" href="group__NPF__jitter.html#ga7828add99946b35b9e718a0f23ec7e65">jitter.h</a>
+</li>
+<li>AX
+: <a class="el" href="group__NPF__jitter.html#gaabc40350f8f80c9c718c44dea61e10fe">jitter.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_b">- b -</a></h3><ul>
+<li>BIOCGEVNAME
+: <a class="el" href="group__NPF__ioctl.html#gadd9e03a96d297a33d7cee4d750c34eff">ioctls.h</a>
+</li>
+<li>BIOCGSTATS
+: <a class="el" href="group__NPF__ioctl.html#ga8ae8be8faa281644d8be1cda38b826bd">ioctls.h</a>
+</li>
+<li>BIOCISDUMPENDED
+: <a class="el" href="group__NPF__ioctl.html#ga874d333aca88363bc6fdcb3e8b1af05b">ioctls.h</a>
+</li>
+<li>BIOCISETLOBBEH
+: <a class="el" href="group__NPF__ioctl.html#gae02ae71d6fe0bfb4b600f8027dc90ba3">ioctls.h</a>
+</li>
+<li>BIOCQUERYOID
+: <a class="el" href="group__NPF__ioctl.html#ga5a0ab3231052ff323817e288dab2f127">ioctls.h</a>
+</li>
+<li>BIOCSENDPACKETSNOSYNC
+: <a class="el" href="group__NPF__ioctl.html#gac50830dc08762383dcb203a66e5c853d">ioctls.h</a>
+</li>
+<li>BIOCSENDPACKETSSYNC
+: <a class="el" href="group__NPF__ioctl.html#gab4d41e91e460bb101ef8ddb622a8e010">ioctls.h</a>
+</li>
+<li>BIOCSETBUFFERSIZE
+: <a class="el" href="group__NPF__ioctl.html#ga71817d3a52bf0ec819934a5f688a172c">ioctls.h</a>
+</li>
+<li>BIOCSETDUMPFILENAME
+: <a class="el" href="group__NPF__ioctl.html#gac8b51f8abae12f57a2ea8e8e4c0cd53c">ioctls.h</a>
+</li>
+<li>BIOCSETDUMPLIMITS
+: <a class="el" href="group__NPF__ioctl.html#ga3205efe3271948f253c4da5abf0e12c6">ioctls.h</a>
+</li>
+<li>BIOCSETEVENTHANDLE
+: <a class="el" href="group__NPF__ioctl.html#ga31c73f09a27bb38a6040a5841096576a">ioctls.h</a>
+</li>
+<li>BIOCSETF
+: <a class="el" href="group__NPF__ioctl.html#gaf85f500f68404076ac60ffe6e08818da">ioctls.h</a>
+</li>
+<li>BIOCSETOID
+: <a class="el" href="group__NPF__ioctl.html#gabf9a4779fd5281607510edc8b5d766dd">ioctls.h</a>
+</li>
+<li>BIOCSMINTOCOPY
+: <a class="el" href="group__NPF__ioctl.html#gaa827e3441e3f84abc7df5e30fcee96d1">ioctls.h</a>
+</li>
+<li>BIOCSMODE
+: <a class="el" href="group__NPF__ioctl.html#gad1012b82859d09864d246b1fa99d48d6">ioctls.h</a>
+</li>
+<li>BIOCSRTIMEOUT
+: <a class="el" href="group__NPF__ioctl.html#ga327015c2b2e347212b571d1fa3aa2f54">ioctls.h</a>
+</li>
+<li>BIOCSWRITEREP
+: <a class="el" href="group__NPF__ioctl.html#ga1436997ce2947bbbe22b5400254438a1">ioctls.h</a>
+</li>
+<li>BL
+: <a class="el" href="group__NPF__jitter.html#gad567ea9864a3046e47ab69cdc050ecfa">jitter.h</a>
+</li>
+<li>BP
+: <a class="el" href="group__NPF__jitter.html#ga82b271e081de4cfb35eb87b0c13dddba">jitter.h</a>
+</li>
+<li>BPF_EXECUTE
+: <a class="el" href="Win32-Extensions_8h.html#a7b833a1802fa10b0d550c6eb3e724d75">Win32-Extensions.h</a>
+</li>
+<li>BPF_GET_REGISTER_VALUE
+: <a class="el" href="Win32-Extensions_8h.html#ae234c1f999720a0167b71235dd9efbd3">Win32-Extensions.h</a>
+</li>
+<li>BPF_INIT
+: <a class="el" href="Win32-Extensions_8h.html#aab18fbabe4f6a84757afb8088827e82f">Win32-Extensions.h</a>
+</li>
+<li>BPF_LOOKUP
+: <a class="el" href="Win32-Extensions_8h.html#a5e77fbb97cf270c27c430722a1e6fa3b">Win32-Extensions.h</a>
+</li>
+<li>BPF_MEM_EX
+: <a class="el" href="Win32-Extensions_8h.html#a5be0e4575ff0738e013bf0f3b76dc7be">Win32-Extensions.h</a>
+</li>
+<li>BPF_MEM_EX_IMM
+: <a class="el" href="Win32-Extensions_8h.html#a8b0c82df581e67530cb69b0c737f6d13">Win32-Extensions.h</a>
+</li>
+<li>BPF_MEM_EX_IND
+: <a class="el" href="Win32-Extensions_8h.html#ae9464818b3ae1e14e27bf7dc2a7d0a55">Win32-Extensions.h</a>
+</li>
+<li>BPF_RESET
+: <a class="el" href="Win32-Extensions_8h.html#abb2e97aac5a34caa5ceb0d8495ca7d8c">Win32-Extensions.h</a>
+</li>
+<li>BPF_SEPARATION
+: <a class="el" href="Win32-Extensions_8h.html#ac6ebbf4ea8c29d48aa9ebe282544f467">Win32-Extensions.h</a>
+</li>
+<li>BPF_SET_ACTIVE
+: <a class="el" href="Win32-Extensions_8h.html#a54a2fb014f7f0ff0dbec7b8c9c319322">Win32-Extensions.h</a>
+</li>
+<li>BPF_SET_ACTIVE_READ
+: <a class="el" href="Win32-Extensions_8h.html#a2beb870e2a5cd292a00b8bc243c0ab78">Win32-Extensions.h</a>
+</li>
+<li>BPF_SET_AUTODELETION
+: <a class="el" href="Win32-Extensions_8h.html#a60cf9b2aab2c973697939bdc85ff4f2d">Win32-Extensions.h</a>
+</li>
+<li>BPF_SET_MEMORY
+: <a class="el" href="Win32-Extensions_8h.html#a53c19e47ce08fe540a1e1323b1d5eb04">Win32-Extensions.h</a>
+</li>
+<li>BPF_SET_REGISTER_VALUE
+: <a class="el" href="Win32-Extensions_8h.html#afcf6a0cd9b0e14f9456d643888ae958f">Win32-Extensions.h</a>
+</li>
+<li>BPF_SET_WORKING
+: <a class="el" href="Win32-Extensions_8h.html#aa2cac9008111e31a231a0183e2af0525">Win32-Extensions.h</a>
+</li>
+<li>BPF_TME
+: <a class="el" href="Win32-Extensions_8h.html#ad7d6cc253b9b7d72ff13f80370a52490">Win32-Extensions.h</a>
+</li>
+<li>BPF_VALIDATE
+: <a class="el" href="Win32-Extensions_8h.html#a52afa333263879b18b8ef1278e9d9c38">Win32-Extensions.h</a>
+</li>
+<li>BSWAP
+: <a class="el" href="group__NPF__jitter.html#gae23323bfdb114db0bf84e73f69adf3ba">jitter.h</a>
+</li>
+<li>BX
+: <a class="el" href="group__NPF__jitter.html#ga0f37ffb2213a7e5ab25da072e87193ac">jitter.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_c">- c -</a></h3><ul>
+<li>C_ASSERT
+: <a class="el" href="group__NPF__include.html#ga7300b6880da1b61717e7ff815d579bf6">Packet.h</a>
+</li>
+<li>CL
+: <a class="el" href="group__NPF__jitter.html#ga8f4ea5fa21d42f950b5f95a91e9ff227">jitter.h</a>
+</li>
+<li>CMPid
+: <a class="el" href="group__NPF__jitter.html#ga8bf965a6a78db5894fbee77707652516">jitter.h</a>
+</li>
+<li>CMPodd
+: <a class="el" href="group__NPF__jitter.html#gafaea7a7a2968bf20db43abae63b865fa">jitter.h</a>
+</li>
+<li>CMPrd
+: <a class="el" href="group__NPF__jitter.html#gad2db4a7b20890227d0dfeccae16710e6">jitter.h</a>
+</li>
+<li>CX
+: <a class="el" href="group__NPF__jitter.html#ga0b4c12a5dc8490a3cff8385334db2d13">jitter.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_d">- d -</a></h3><ul>
+<li>DI
+: <a class="el" href="group__NPF__jitter.html#gacabe1ee3d11be6214c678bf4dabda3c9">jitter.h</a>
+</li>
+<li>DIVrd
+: <a class="el" href="group__NPF__jitter.html#gacf243ff85add192cb3105fb7a7911a7d">jitter.h</a>
+</li>
+<li>DL
+: <a class="el" href="group__NPF__jitter.html#ga7c70057f4ac04e167029eef16e7bb770">jitter.h</a>
+</li>
+<li>DX
+: <a class="el" href="group__NPF__jitter.html#ga3bcbb4f56d33efbe2456169e4d94c644">jitter.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_e">- e -</a></h3><ul>
+<li>EAX
+: <a class="el" href="group__NPF__jitter.html#ga2fa1397b8142d609008de2e71c83e854">jitter.h</a>
+</li>
+<li>EBP
+: <a class="el" href="group__NPF__jitter.html#ga220a1f7741c506d2c73c9d5f0c3ad036">jitter.h</a>
+</li>
+<li>EBX
+: <a class="el" href="group__NPF__jitter.html#gab115c151477ddd6da5358ddc00071052">jitter.h</a>
+</li>
+<li>ECX
+: <a class="el" href="group__NPF__jitter.html#gae52163bab922ab29302d224786b8526d">jitter.h</a>
+</li>
+<li>EDI
+: <a class="el" href="group__NPF__jitter.html#gaebb930ae9eecaa5a8fa94d2ef4f159e0">jitter.h</a>
+</li>
+<li>EDX
+: <a class="el" href="group__NPF__jitter.html#ga8104635452d33b8536b33b551d98998f">jitter.h</a>
+</li>
+<li>ESI
+: <a class="el" href="group__NPF__jitter.html#gad4c46ad303098e5253b9216faff99d48">jitter.h</a>
+</li>
+<li>ESP
+: <a class="el" href="group__NPF__jitter.html#ga473a7f647ac8d1f222e106f074c43727">jitter.h</a>
+</li>
+<li>EXIT_FAILURE
+: <a class="el" href="group__NPF__include.html#gad6d1f5522a147ddeb7d9b11916acd50a">Packet.h</a>
+</li>
+<li>EXIT_SUCCESS
+: <a class="el" href="group__NPF__include.html#gacabf25322566f3bcd1e564e4939f5821">Packet.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_i">- i -</a></h3><ul>
+<li>IMMEDIATE
+: <a class="el" href="group__NPF__include.html#ga4f6749b7708a411df2a3341a3fcef917">Packet.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_j">- j -</a></h3><ul>
+<li>JA
+: <a class="el" href="group__NPF__jitter.html#ga714569f0abf518185dab9bbc44f61e26">jitter.h</a>
+</li>
+<li>JAE
+: <a class="el" href="group__NPF__jitter.html#gafa60b85ba5e6d1180f7fb7c1843413d5">jitter.h</a>
+</li>
+<li>JE
+: <a class="el" href="group__NPF__jitter.html#ga3ad47796cfcb6867e44b0f82c8906bee">jitter.h</a>
+</li>
+<li>JG
+: <a class="el" href="group__NPF__jitter.html#gab7aa640b19ad1d6e32833b40ee963407">jitter.h</a>
+</li>
+<li>JGE
+: <a class="el" href="group__NPF__jitter.html#ga0b03c2a76f68eb3698320a001a5f5eae">jitter.h</a>
+</li>
+<li>JLE
+: <a class="el" href="group__NPF__jitter.html#ga406f0ee4d13f16d867e48bae8c9ffba7">jitter.h</a>
+</li>
+<li>JLEb
+: <a class="el" href="group__NPF__jitter.html#ga0987b591887a2ea41c2ba108729f30cb">jitter.h</a>
+</li>
+<li>JMP
+: <a class="el" href="group__NPF__jitter.html#ga76425614ab26cca1839d7378c0fd1c55">jitter.h</a>
+</li>
+<li>JNEb
+: <a class="el" href="group__NPF__jitter.html#ga2f57f0e5ef7e33157d7a7983be7a85ef">jitter.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_k">- k -</a></h3><ul>
+<li>KERNEL_EVENT_NAMESPACE
+: <a class="el" href="group__NPF__include.html#ga9cd2ca337001428aa9e1cb512a28ecc2">Packet.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_m">- m -</a></h3><ul>
+<li>MAX_ACTIVE_LIST
+: <a class="el" href="rpcapd_8h.html#ad20af9f33ade406218abf3ba936bdc8d">rpcapd.h</a>
+</li>
+<li>MAX_HOST_LIST
+: <a class="el" href="rpcapd_8h.html#aee0706af5319f49fa11db8472e20feaa">rpcapd.h</a>
+</li>
+<li>MAX_LINE
+: <a class="el" href="rpcapd_8h.html#a842ed03f27719bc87666bfd1f75415b8">rpcapd.h</a>
+</li>
+<li>MAX_REQUESTS
+: <a class="el" href="group__NPF__include.html#ga8fc96cee4177a369a99de7026ebeba81">Packet.h</a>
+</li>
+<li>MODE_CAPT
+: <a class="el" href="group__NPF__include.html#gac93c0a6ad1d2a3143b1115bdab3ac04d">Packet.h</a>
+, <a class="el" href="group__wpcap__def.html#gac93c0a6ad1d2a3143b1115bdab3ac04d">incs/pcap.h</a>
+</li>
+<li>MODE_DUMP
+: <a class="el" href="group__NPF__include.html#ga89853f93dc8cc890b0665629d16d2831">Packet.h</a>
+</li>
+<li>MODE_MON
+: <a class="el" href="group__NPF__include.html#ga528e7e542cb1a028a10a3a318880dffb">Packet.h</a>
+</li>
+<li>MODE_STAT
+: <a class="el" href="group__NPF__include.html#ga503326906a62e96c147ae6af31fb5659">Packet.h</a>
+, <a class="el" href="group__wpcap__def.html#ga503326906a62e96c147ae6af31fb5659">incs/pcap.h</a>
+</li>
+<li>MOVid
+: <a class="el" href="group__NPF__jitter.html#ga6b0eac20fe309e12eec4f204ed2cf789">jitter.h</a>
+</li>
+<li>MOVobb
+: <a class="el" href="group__NPF__jitter.html#ga737d1a1dbf2cf21569a923c9309d4222">jitter.h</a>
+</li>
+<li>MOVobd
+: <a class="el" href="group__NPF__jitter.html#ga4088a2e95640bad67561e29de7f7559c">jitter.h</a>
+</li>
+<li>MOVobw
+: <a class="el" href="group__NPF__jitter.html#gab6d82c4f6d0f83d28f1390363ce6aaf6">jitter.h</a>
+</li>
+<li>MOVodd
+: <a class="el" href="group__NPF__jitter.html#gae6230510e546bf08451c362926e35a5a">jitter.h</a>
+</li>
+<li>MOVomd
+: <a class="el" href="group__NPF__jitter.html#ga1dff1655d4ad86048c3d3541b66c1ac7">jitter.h</a>
+</li>
+<li>MOVrd
+: <a class="el" href="group__NPF__jitter.html#gabe5c6ed0ba1446cc33b33d6c9cc59819">jitter.h</a>
+</li>
+<li>MULrd
+: <a class="el" href="group__NPF__jitter.html#ga6522410ee041327aa6ab223875d84690">jitter.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_n">- n -</a></h3><ul>
+<li>NDIS_FLAGS_SKIP_LOOPBACK_W2K
+: <a class="el" href="group__NPF__include.html#ga0a110077bb4fcbcc75512d8988c90de8">Packet.h</a>
+</li>
+<li>NEGd
+: <a class="el" href="group__NPF__jitter.html#ga032ba5ad2d179d6d8d1fe24457126621">jitter.h</a>
+</li>
+<li>NPF_DISABLE_LOOPBACK
+: <a class="el" href="group__NPF__include.html#ga7ccc8974741059b5ae25231a56dbed09">Packet.h</a>
+</li>
+<li>NPF_ENABLE_LOOPBACK
+: <a class="el" href="group__NPF__include.html#ga4a60d1f215d5b2af2b3b86a0f2a90ae2">Packet.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_o">- o -</a></h3><ul>
+<li>ORid
+: <a class="el" href="group__NPF__jitter.html#gad16914336faf4604944facbd4c20d942">jitter.h</a>
+</li>
+<li>ORrd
+: <a class="el" href="group__NPF__jitter.html#ga15317b93f1d8d9cf088bc9f91ace844b">jitter.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_p">- p -</a></h3><ul>
+<li>Packet_ALIGNMENT
+: <a class="el" href="group__NPF__include.html#ga8463d2101446f74b83ed10006d772384">Packet.h</a>
+</li>
+<li>Packet_WORDALIGN
+: <a class="el" href="group__NPF__include.html#ga6ad53095b69ed77878dc683754e3264a">Packet.h</a>
+</li>
+<li>PCAP_BUF_SIZE
+: <a class="el" href="group__remote__struct.html#gacacb155b596f7511f714de129ae32c97">remote-ext.h</a>
+</li>
+<li>PCAP_ERR_AUTH
+: <a class="el" href="group__remote__pri__struct.html#ga5c8c6dd12f4fcdeaefd0f8d4a67b3075">pcap-remote.h</a>
+</li>
+<li>PCAP_ERR_ENDCAPTURE
+: <a class="el" href="group__remote__pri__struct.html#ga7237f6698352751c08de3b10ae711881">pcap-remote.h</a>
+</li>
+<li>PCAP_ERR_FINDALLIF
+: <a class="el" href="group__remote__pri__struct.html#gadfbdeb5279422bc65233eefeca885661">pcap-remote.h</a>
+</li>
+<li>PCAP_ERR_GETSTATS
+: <a class="el" href="group__remote__pri__struct.html#gaf2e8f37c8ecf045242e00d9d138d4130">pcap-remote.h</a>
+</li>
+<li>PCAP_ERR_HOSTNOAUTH
+: <a class="el" href="group__remote__pri__struct.html#ga77b7c5dbb7399e0f73c3105c181c0eba">pcap-remote.h</a>
+</li>
+<li>PCAP_ERR_INITTIMEOUT
+: <a class="el" href="group__remote__pri__struct.html#ga43cc461cdabd8d39ca2346f10c233a1b">pcap-remote.h</a>
+</li>
+<li>PCAP_ERR_NETW
+: <a class="el" href="group__remote__pri__struct.html#ga281ffdbe28e312f9fe6bc22c4d14fd68">pcap-remote.h</a>
+</li>
+<li>PCAP_ERR_NOREMOTEIF
+: <a class="el" href="group__remote__pri__struct.html#ga9f540070da23a5e61d0e27a61a300639">pcap-remote.h</a>
+</li>
+<li>PCAP_ERR_OPEN
+: <a class="el" href="group__remote__pri__struct.html#ga3bfdce6d89b764b103404a1ec08bc4f9">pcap-remote.h</a>
+</li>
+<li>PCAP_ERR_READEX
+: <a class="el" href="group__remote__pri__struct.html#ga61631ebf63be764b06b1259fcded1b4d">pcap-remote.h</a>
+</li>
+<li>PCAP_ERR_REMOTEACCEPT
+: <a class="el" href="group__remote__pri__struct.html#ga005853d9f448e2125b9c907cd68ae77a">pcap-remote.h</a>
+</li>
+<li>PCAP_ERR_RUNTIMETIMEOUT
+: <a class="el" href="group__remote__pri__struct.html#ga9a98b752c9427a52b1902b6a4aa9845a">pcap-remote.h</a>
+</li>
+<li>PCAP_ERR_SETSAMPLING
+: <a class="el" href="group__remote__pri__struct.html#gad904f96dcd2dc7ead1f50e81d27a87ee">pcap-remote.h</a>
+</li>
+<li>PCAP_ERR_STARTCAPTURE
+: <a class="el" href="group__remote__pri__struct.html#ga2342b31cd1b83713b43e29fc1b8bbe80">pcap-remote.h</a>
+</li>
+<li>PCAP_ERR_UPDATEFILTER
+: <a class="el" href="group__remote__pri__struct.html#gae12279008dbc82da60f457ae639d9c98">pcap-remote.h</a>
+</li>
+<li>PCAP_ERR_WRONGMSG
+: <a class="el" href="group__remote__pri__struct.html#gaadf8ebdb03c2852d32084792c32f5014">pcap-remote.h</a>
+</li>
+<li>PCAP_ERR_WRONGVER
+: <a class="el" href="group__remote__pri__struct.html#ga27644e4198a710a3fb6763464b4cceb8">pcap-remote.h</a>
+</li>
+<li>PCAP_ERRBUF_SIZE
+: <a class="el" href="group__wpcap__def.html#gacd448353957d92c98fccc29e1fc8d927">incs/pcap.h</a>
+</li>
+<li>PCAP_IF_LOOPBACK
+: <a class="el" href="group__wpcap__def.html#ga43a6601bfd438efc02b0ba71c5439647">incs/pcap.h</a>
+</li>
+<li>PCAP_OPENFLAG_DATATX_UDP
+: <a class="el" href="group__remote__open__flags.html#gaca53ea1423680167cf046752337b3381">remote-ext.h</a>
+</li>
+<li>PCAP_OPENFLAG_MAX_RESPONSIVENESS
+: <a class="el" href="group__remote__open__flags.html#gae54e5c810d75f23f69a0c78ca7f882b1">remote-ext.h</a>
+</li>
+<li>PCAP_OPENFLAG_NOCAPTURE_LOCAL
+: <a class="el" href="group__remote__open__flags.html#ga337712d5c8d26a0d984d6bb702d0118d">remote-ext.h</a>
+</li>
+<li>PCAP_OPENFLAG_NOCAPTURE_RPCAP
+: <a class="el" href="group__remote__open__flags.html#ga1af46d0c195f9a3b66955acdd52b5375">remote-ext.h</a>
+</li>
+<li>PCAP_OPENFLAG_PROMISCUOUS
+: <a class="el" href="group__remote__open__flags.html#ga9134ce51a9a6a7d497c3dee5affdc3b9">remote-ext.h</a>
+</li>
+<li>PCAP_SAMP_1_EVERY_N
+: <a class="el" href="group__remote__samp__methods.html#ga79bf88faf9851bf82ee30beb302e3b5f">remote-ext.h</a>
+</li>
+<li>PCAP_SAMP_FIRST_AFTER_N_MS
+: <a class="el" href="group__remote__samp__methods.html#ga5a4ae1f017ece5c1d3b44c8a399d130b">remote-ext.h</a>
+</li>
+<li>PCAP_SAMP_NOSAMP
+: <a class="el" href="group__remote__samp__methods.html#ga1fc3a70120a1188f5ed4cc2af0ff0671">remote-ext.h</a>
+</li>
+<li>PCAP_SRC_FILE
+: <a class="el" href="group__remote__source__ID.html#ga9188ad0fc0d12fc51d1e9f5e78bf9440">remote-ext.h</a>
+</li>
+<li>PCAP_SRC_FILE_STRING
+: <a class="el" href="group__remote__source__string.html#gadb108815eb410ca0ab0b444ff2e56a26">remote-ext.h</a>
+</li>
+<li>PCAP_SRC_IF_STRING
+: <a class="el" href="group__remote__source__string.html#ga6d7103b8a7e1eca8c325bd8f32c361c3">remote-ext.h</a>
+</li>
+<li>PCAP_SRC_IFLOCAL
+: <a class="el" href="group__remote__source__ID.html#ga00c875af0185ead420787d4eaba6ff71">remote-ext.h</a>
+</li>
+<li>PCAP_SRC_IFREMOTE
+: <a class="el" href="group__remote__source__ID.html#gae5558973e334926f6e7171e3a711e265">remote-ext.h</a>
+</li>
+<li>PCAP_VERSION_MAJOR
+: <a class="el" href="group__wpcap__def.html#gaac031371d41e21ff96e80409e05a7ddb">incs/pcap.h</a>
+, <a class="el" href="group__NPF__include.html#gaac031371d41e21ff96e80409e05a7ddb">Packet.h</a>
+</li>
+<li>PCAP_VERSION_MINOR
+: <a class="el" href="group__wpcap__def.html#ga9c200b070c9f626d38184588b16849c2">incs/pcap.h</a>
+, <a class="el" href="group__NPF__include.html#ga9c200b070c9f626d38184588b16849c2">Packet.h</a>
+</li>
+<li>POP
+: <a class="el" href="group__NPF__jitter.html#ga6da555dded4ddd3b9b053dd3218dc631">jitter.h</a>
+</li>
+<li>PROGRAM_NAME
+: <a class="el" href="rpcapd_8h.html#a3b6a35b8be8405a9db72cc5dea97954b">rpcapd.h</a>
+</li>
+<li>PUSH
+: <a class="el" href="group__NPF__jitter.html#gaea36ce6a00fb793cb4fa9046a65e4e32">jitter.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_r">- r -</a></h3><ul>
+<li>RESERVED
+: <a class="el" href="group__NPF__include.html#ga048ba8dfabc6ac16c602a1ca6fe994fc">Packet.h</a>
+</li>
+<li>RET
+: <a class="el" href="group__NPF__jitter.html#gaea5f5503d3239c71deb8366c013d6866">jitter.h</a>
+</li>
+<li>RPCAP_ACTIVE_WAIT
+: <a class="el" href="group__remote__pri__struct.html#ga8f32f1a7e4afc75d85adee7aa1136e2b">pcap-remote.h</a>
+</li>
+<li>RPCAP_DEFAULT_NETADDR
+: <a class="el" href="group__remote__pri__struct.html#ga652ea27f0736f2ed16eff2f8232be733">pcap-remote.h</a>
+</li>
+<li>RPCAP_DEFAULT_NETPORT
+: <a class="el" href="group__remote__pri__struct.html#gadd48856fd036eb39b1374e8722b83970">pcap-remote.h</a>
+</li>
+<li>RPCAP_DEFAULT_NETPORT_ACTIVE
+: <a class="el" href="group__remote__pri__struct.html#ga3faff98b6c9e4560e58beb8ca5d62473">pcap-remote.h</a>
+</li>
+<li>RPCAP_HOSTLIST_SEP
+: <a class="el" href="group__remote__pri__struct.html#ga9ca2e46ddec1744b0442e42fc77dbc36">pcap-remote.h</a>
+</li>
+<li>RPCAP_HOSTLIST_SIZE
+: <a class="el" href="group__remote__struct.html#gad71cfa3b6dd1dacb2e8d6cef4ae67723">remote-ext.h</a>
+</li>
+<li>RPCAP_MSG_AUTH_REPLY
+: <a class="el" href="group__remote__pri__struct.html#ga558198e22dad94774670d4901069761b">pcap-remote.h</a>
+</li>
+<li>RPCAP_MSG_AUTH_REQ
+: <a class="el" href="group__remote__pri__struct.html#ga967ed95127e15aae04df68d128b32dcd">pcap-remote.h</a>
+</li>
+<li>RPCAP_MSG_CLOSE
+: <a class="el" href="group__remote__pri__struct.html#gaaca8c569d09dd1c7b2a7cfebe2ed5017">pcap-remote.h</a>
+</li>
+<li>RPCAP_MSG_ENDCAP_REPLY
+: <a class="el" href="group__remote__pri__struct.html#ga2994f9df11cfc2b2dd0e9a9d9ac4f37b">pcap-remote.h</a>
+</li>
+<li>RPCAP_MSG_ENDCAP_REQ
+: <a class="el" href="group__remote__pri__struct.html#gad6554d0a3e2e81d440a216e9ed207c99">pcap-remote.h</a>
+</li>
+<li>RPCAP_MSG_ERROR
+: <a class="el" href="group__remote__pri__struct.html#gae794b40128a8f48e8aab742c499e4c5c">pcap-remote.h</a>
+</li>
+<li>RPCAP_MSG_FINDALLIF_REPLY
+: <a class="el" href="group__remote__pri__struct.html#gab60aca69282ead1088a4565d47bdc05e">pcap-remote.h</a>
+</li>
+<li>RPCAP_MSG_FINDALLIF_REQ
+: <a class="el" href="group__remote__pri__struct.html#gac1cca8dabd5af5293a0e41515bc532a5">pcap-remote.h</a>
+</li>
+<li>RPCAP_MSG_OPEN_REPLY
+: <a class="el" href="group__remote__pri__struct.html#ga753597c2ff993d12156d7922116b1835">pcap-remote.h</a>
+</li>
+<li>RPCAP_MSG_OPEN_REQ
+: <a class="el" href="group__remote__pri__struct.html#gac99b71c29a3177c663b099c417d1de91">pcap-remote.h</a>
+</li>
+<li>RPCAP_MSG_PACKET
+: <a class="el" href="group__remote__pri__struct.html#gaaa605dc088c22dd9064a38d16a5199b9">pcap-remote.h</a>
+</li>
+<li>RPCAP_MSG_SETSAMPLING_REPLY
+: <a class="el" href="group__remote__pri__struct.html#ga59a57a83acc395c5e508dda7b8c33bad">pcap-remote.h</a>
+</li>
+<li>RPCAP_MSG_SETSAMPLING_REQ
+: <a class="el" href="group__remote__pri__struct.html#ga2d8c7f1e4361c748ccc051c276f5eaa9">pcap-remote.h</a>
+</li>
+<li>RPCAP_MSG_STARTCAP_REPLY
+: <a class="el" href="group__remote__pri__struct.html#ga22dcbe343e2103aef2e9856f93f40167">pcap-remote.h</a>
+</li>
+<li>RPCAP_MSG_STARTCAP_REQ
+: <a class="el" href="group__remote__pri__struct.html#ga082b424838496c8cc92dcadf6333b9e1">pcap-remote.h</a>
+</li>
+<li>RPCAP_MSG_STATS_REPLY
+: <a class="el" href="group__remote__pri__struct.html#ga3d52f2b6b3210dcb4f0db7bd8b46138e">pcap-remote.h</a>
+</li>
+<li>RPCAP_MSG_STATS_REQ
+: <a class="el" href="group__remote__pri__struct.html#ga29508e4fba57e33978c73997630b8159">pcap-remote.h</a>
+</li>
+<li>RPCAP_MSG_UPDATEFILTER_REPLY
+: <a class="el" href="group__remote__pri__struct.html#gaeb2561c1c6c9b9c56f4ac14ab70f6c3a">pcap-remote.h</a>
+</li>
+<li>RPCAP_MSG_UPDATEFILTER_REQ
+: <a class="el" href="group__remote__pri__struct.html#ga8c77cf6f710b92b3f87257e7d03d6677">pcap-remote.h</a>
+</li>
+<li>RPCAP_NETBUF_SIZE
+: <a class="el" href="group__remote__pri__struct.html#gac094e3209a4b7fc379b034d3dc37acb0">pcap-remote.h</a>
+</li>
+<li>RPCAP_RMTAUTH_NULL
+: <a class="el" href="group__remote__auth__methods.html#gacf895bca5fa091307dcfa3a7cb6c8882">remote-ext.h</a>
+</li>
+<li>RPCAP_RMTAUTH_PWD
+: <a class="el" href="group__remote__auth__methods.html#gab73de990af3daaf44ff88119050634fb">remote-ext.h</a>
+</li>
+<li>RPCAP_STARTCAPREQ_FLAG_DGRAM
+: <a class="el" href="group__remote__pri__struct.html#ga3f87b7e89ed61dc2c9956234399058e8">pcap-remote.h</a>
+</li>
+<li>RPCAP_STARTCAPREQ_FLAG_INBOUND
+: <a class="el" href="group__remote__pri__struct.html#gac22aa6103fe1490ab908a26d5c4a7c8a">pcap-remote.h</a>
+</li>
+<li>RPCAP_STARTCAPREQ_FLAG_OUTBOUND
+: <a class="el" href="group__remote__pri__struct.html#ga2b29630fe7963da543db242459c74832">pcap-remote.h</a>
+</li>
+<li>RPCAP_STARTCAPREQ_FLAG_PROMISC
+: <a class="el" href="group__remote__pri__struct.html#ga3d0b7b3a3d97ebdd265ab800a004ae8c">pcap-remote.h</a>
+</li>
+<li>RPCAP_STARTCAPREQ_FLAG_SERVEROPEN
+: <a class="el" href="group__remote__pri__struct.html#ga0c5a71a9b6d5be2662c5a8872cf3032c">pcap-remote.h</a>
+</li>
+<li>RPCAP_SUSPEND_WRONGAUTH
+: <a class="el" href="group__remote__pri__struct.html#ga5bac38979d12b0a8755d70981fb387af">pcap-remote.h</a>
+</li>
+<li>RPCAP_TIMEOUT_INIT
+: <a class="el" href="group__remote__pri__struct.html#gad5f148b0c94a8c6162ee79c33463ac95">pcap-remote.h</a>
+</li>
+<li>RPCAP_TIMEOUT_RUNTIME
+: <a class="el" href="group__remote__pri__struct.html#ga1d5a54e68e71ec6de7e3d9d1b5dc35bc">pcap-remote.h</a>
+</li>
+<li>RPCAP_UPDATEFILTER_BPF
+: <a class="el" href="group__remote__pri__struct.html#gac93bee6a0991d4334eacd6e451b54240">pcap-remote.h</a>
+</li>
+<li>RPCAP_VERSION
+: <a class="el" href="group__remote__pri__struct.html#gadd52d73598f0b006a4634f6f40c85e3e">pcap-remote.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_s">- s -</a></h3><ul>
+<li>SHL_CLrb
+: <a class="el" href="group__NPF__jitter.html#gaba18f7228bd4b7775209dca22201f77f">jitter.h</a>
+</li>
+<li>SHLib
+: <a class="el" href="group__NPF__jitter.html#ga42b8bbc156c89aef4676834480129221">jitter.h</a>
+</li>
+<li>SHR_CLrb
+: <a class="el" href="group__NPF__jitter.html#ga2c2cfe760fe83b9577ddcff9b87d8ab5">jitter.h</a>
+</li>
+<li>SHRib
+: <a class="el" href="group__NPF__jitter.html#ga5b4c050f10f024995d4b721c1fc6f3d3">jitter.h</a>
+</li>
+<li>SI
+: <a class="el" href="group__NPF__jitter.html#gaa1be7844620ac7bffe73137a180aa044">jitter.h</a>
+</li>
+<li>SOCKET_MAXCONN
+: <a class="el" href="rpcapd_8h.html#a402c3bd0564ae5f2446b91ec60ef4d09">rpcapd.h</a>
+</li>
+<li>SP
+: <a class="el" href="group__NPF__jitter.html#gaecd69d9a67487cc45c38eb184c50538a">jitter.h</a>
+</li>
+<li>SUB_EAXi
+: <a class="el" href="group__NPF__jitter.html#ga99d023823bbf183e389ebac6cd7d9897">jitter.h</a>
+</li>
+<li>SUBrd
+: <a class="el" href="group__NPF__jitter.html#gaa3a75062cb78c0956f063797cfd4c065">jitter.h</a>
+</li>
+<li>SWAP_AX
+: <a class="el" href="group__NPF__jitter.html#ga3918dfe9cdec919e2331a472ff76470f">jitter.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_t">- t -</a></h3><ul>
+<li>TCPDUMP_MAGIC
+: <a class="el" href="group__NPF__include.html#gafedcc0aa0cf5abe7b20c68eefdfcb126">Packet.h</a>
+</li>
+<li>TRANSMIT_PACKETS
+: <a class="el" href="group__NPF__include.html#ga652e6173ee1441712652d74a5533e042">Packet.h</a>
+</li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/globals_enum.html b/3rdparty/winpcap/docs/html/globals_enum.html
new file mode 100644
index 00000000000..1170e26ebba
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/globals_enum.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li class="current"><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;<ul>
+<li>ADAPTER_BINDING_STATUS
+: <a class="el" href="group__NPF__include.html#gaa80226df1c5ee18b01580d23ed4f31cb">Packet.h</a>
+</li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/globals_eval.html b/3rdparty/winpcap/docs/html/globals_eval.html
new file mode 100644
index 00000000000..d5b097376b8
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/globals_eval.html
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li class="current"><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;<ul>
+<li>ADAPTER_BOUND
+: <a class="el" href="group__NPF__include.html#ggaa80226df1c5ee18b01580d23ed4f31cba3e0c0f314d2e9dc41c205ab44bf087bc">Packet.h</a>
+</li>
+<li>ADAPTER_UNBINDING
+: <a class="el" href="group__NPF__include.html#ggaa80226df1c5ee18b01580d23ed4f31cbadc92e852ef35fac0f033487a3be66a93">Packet.h</a>
+</li>
+<li>ADAPTER_UNBOUND
+: <a class="el" href="group__NPF__include.html#ggaa80226df1c5ee18b01580d23ed4f31cba6e4cdf9f09abf447cffdfd5058357822">Packet.h</a>
+</li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/globals_func.html b/3rdparty/winpcap/docs/html/globals_func.html
new file mode 100644
index 00000000000..781f9da3fb6
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/globals_func.html
@@ -0,0 +1,526 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="#index_b"><span>b</span></a></li>
+ <li><a href="#index_c"><span>c</span></a></li>
+ <li><a href="#index_d"><span>d</span></a></li>
+ <li><a href="#index_f"><span>f</span></a></li>
+ <li><a href="#index_g"><span>g</span></a></li>
+ <li><a href="#index_m"><span>m</span></a></li>
+ <li><a href="#index_n"><span>n</span></a></li>
+ <li><a href="#index_p"><span>p</span></a></li>
+ <li><a href="#index_r"><span>r</span></a></li>
+ <li><a href="#index_s"><span>s</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_b">- b -</a></h3><ul>
+<li>BPF_Destroy_JIT_Filter()
+: <a class="el" href="group__NPF__code.html#ga8d441782c2295f2f71d32727dd3f28a0">jitter.h</a>
+</li>
+<li>BPF_jitter()
+: <a class="el" href="group__NPF__code.html#gab95019314e0cce415388272574f85ed7">jitter.h</a>
+</li>
+<li>BPFtoX86()
+: <a class="el" href="group__NPF__code.html#gaac4070271462268d182b0dbdbfcb1a88">jitter.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_c">- c -</a></h3><ul>
+<li>C_ASSERT()
+: <a class="el" href="group__NPF__include.html#ga6259f706c0907d31a1476960233222c6">Packet.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_d">- d -</a></h3><ul>
+<li>Daemon()
+: <a class="el" href="wpcap__remote_8htm.html#a258f021c7879aa3b45bdf4d6e922d4f1">wpcap_remote.htm</a>
+</li>
+<li>daemon_serviceloop()
+: <a class="el" href="daemon_8h.html#ac54125d76e6f1ed4531f2025d51297e9">daemon.h</a>
+</li>
+<li>DriverEntry()
+: <a class="el" href="group__NPF__code.html#ga6502d781bd20234a06710b92d540baba">Packet.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_f">- f -</a></h3><ul>
+<li>fileconf_read()
+: <a class="el" href="fileconf_8h.html#a0de1d69b41cd2c4660ba69528e1efcbc">fileconf.h</a>
+</li>
+<li>fileconf_save()
+: <a class="el" href="fileconf_8h.html#acfe7f224e7366e140e926ea972eebad3">fileconf.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_g">- g -</a></h3><ul>
+<li>getAdaptersList()
+: <a class="el" href="group__NPF__code.html#gafc395636686df00f554efbd2010f73cb">Packet.h</a>
+</li>
+<li>GetBuffOccupation()
+: <a class="el" href="group__NPF__code.html#gadd6737f745e21b37b8613b489a96687d">Packet.h</a>
+</li>
+<li>getopt()
+: <a class="el" href="utils_8h.html#ac4cbd81bf756957d5021b41159a17d0d">utils.h</a>
+</li>
+<li>getTcpBindings()
+: <a class="el" href="group__NPF__code.html#gacf0e32b371eb9283e5cf1de0dfb15629">Packet.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_m">- m -</a></h3><ul>
+<li>main_cleanup()
+: <a class="el" href="rpcapd_8h.html#ae4c3a933a421273aece3c49c311ea51e">rpcapd.h</a>
+</li>
+<li>main_startup()
+: <a class="el" href="rpcapd_8h.html#a0cc389020d1b9211cfd535f6777cf305">rpcapd.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_n">- n -</a></h3><ul>
+<li>NPF_BindAdapter()
+: <a class="el" href="group__NPF__code.html#ga9a78f9937b2d7d00250f49dcaeb5bab0">Packet.h</a>
+</li>
+<li>NPF_BufferedWrite()
+: <a class="el" href="group__NPF__code.html#ga9a97dd25ae757da4bfed3723a4eb4bce">Packet.h</a>
+</li>
+<li>NPF_Cleanup()
+: <a class="el" href="group__NPF__code.html#gafae94a0e7fda8de180cff6e596cc2803">Packet.h</a>
+</li>
+<li>NPF_Close()
+: <a class="el" href="group__NPF__code.html#gaf8b70be389645c912cf09f1e9ea4b975">Packet.h</a>
+</li>
+<li>NPF_CloseAdapterComplete()
+: <a class="el" href="group__NPF__code.html#ga300118a9a6cc28c2c880f6bb39d86b53">Packet.h</a>
+</li>
+<li>NPF_CloseBinding()
+: <a class="el" href="group__NPF__code.html#ga76d4e48415cea8e0e65ba93d7355b89f">Packet.h</a>
+</li>
+<li>NPF_CloseDumpFile()
+: <a class="el" href="group__NPF__code.html#gac911742b9f71c12c77452614db14c4a1">Packet.h</a>
+</li>
+<li>NPF_CloseOpenInstance()
+: <a class="el" href="group__NPF__code.html#ga99878d91732973e7b4020d8e42b4cf32">Packet.h</a>
+</li>
+<li>NPF_CreateDevice()
+: <a class="el" href="group__NPF__code.html#ga5d152d59c86209c5128ac788a7ae61b3">Packet.h</a>
+</li>
+<li>NPF_DumpThread()
+: <a class="el" href="group__NPF__code.html#ga1566082cef91cf79ba4a855e3f44ede9">Packet.h</a>
+</li>
+<li>NPF_GetDeviceMTU()
+: <a class="el" href="group__NPF__code.html#ga8bad85679d2e8c57f7501052f9b07284">Packet.h</a>
+</li>
+<li>NPF_IoControl()
+: <a class="el" href="group__NPF__code.html#gad8b208720b6e5149dabcd7fb058b16f7">Packet.h</a>
+</li>
+<li>NPF_Open()
+: <a class="el" href="group__NPF__code.html#ga82e557625e52fe4395bbe2e494fe8c4a">Packet.h</a>
+</li>
+<li>NPF_OpenAdapterComplete()
+: <a class="el" href="group__NPF__code.html#ga155ae51be29c6d36f8109781b8f6e7b2">Packet.h</a>
+</li>
+<li>NPF_OpenDumpFile()
+: <a class="el" href="group__NPF__code.html#gae3d1118c72b474fe214517a65afdfe09">Packet.h</a>
+</li>
+<li>NPF_QueryRegistryRoutine()
+: <a class="el" href="group__NPF__code.html#ga8831b54dcd5361e81ddf0d3165f1fb8f">Packet.h</a>
+</li>
+<li>NPF_Read()
+: <a class="el" href="group__NPF__code.html#ga827b1433b2d08cbac11b3844d721668f">Packet.h</a>
+</li>
+<li>NPF_ReadRegistry()
+: <a class="el" href="group__NPF__code.html#ga1a3ce25625792c74e5792b8fa86a489c">Packet.h</a>
+</li>
+<li>NPF_ReceiveComplete()
+: <a class="el" href="group__NPF__code.html#gae7863db01a628ed11324c49953195855">Packet.h</a>
+</li>
+<li>NPF_RequestComplete()
+: <a class="el" href="group__NPF__code.html#ga4ff37c0fd3273f829a1f84b9ab40755b">Packet.h</a>
+</li>
+<li>NPF_ResetComplete()
+: <a class="el" href="group__NPF__code.html#ga4e7934d9adb1826ed5e9112b9182f74a">Packet.h</a>
+</li>
+<li>NPF_SaveCurrentBuffer()
+: <a class="el" href="group__NPF__code.html#gafcdcf5a4d9bfb8fbdb179963d4c789bd">Packet.h</a>
+</li>
+<li>NPF_SendComplete()
+: <a class="el" href="group__NPF__code.html#gaed126572458eed2dcd18d1824ac86601">Packet.h</a>
+</li>
+<li>NPF_StartDump()
+: <a class="el" href="group__NPF__code.html#gaeffce124cbc3e3ae09bd7a6d10367cbb">Packet.h</a>
+</li>
+<li>NPF_StartUsingBinding()
+: <a class="el" href="group__NPF__code.html#ga64dab96bfced5d22cc55a42fc6339833">Packet.h</a>
+</li>
+<li>NPF_StartUsingOpenInstance()
+: <a class="el" href="group__NPF__code.html#ga504e61b1229a9a604080fc8607b24084">Packet.h</a>
+</li>
+<li>NPF_Status()
+: <a class="el" href="group__NPF__code.html#ga1a8cf4fdeed6e93fcf1f50da654402b7">Packet.h</a>
+</li>
+<li>NPF_StatusComplete()
+: <a class="el" href="group__NPF__code.html#ga70f97109adcd6de8b157534e5ecf2e56">Packet.h</a>
+</li>
+<li>NPF_StopUsingBinding()
+: <a class="el" href="group__NPF__code.html#gacd54077d4c2d9186486d3504523ba4f0">Packet.h</a>
+</li>
+<li>NPF_StopUsingOpenInstance()
+: <a class="el" href="group__NPF__code.html#ga6ceb77291c077b05efd3b588a6a30867">Packet.h</a>
+</li>
+<li>NPF_tap()
+: <a class="el" href="group__NPF__code.html#ga92f84ced372baf09f1c00a6b252a0564">Packet.h</a>
+</li>
+<li>NPF_TransferDataComplete()
+: <a class="el" href="group__NPF__code.html#ga0c34f931d6718be202c7c62406f279fd">Packet.h</a>
+</li>
+<li>NPF_UnbindAdapter()
+: <a class="el" href="group__NPF__code.html#ga54d94e883ff4c580289eefaf0d1fc356">Packet.h</a>
+</li>
+<li>NPF_Unload()
+: <a class="el" href="group__NPF__code.html#ga5eb5a8e754198d1bbc6572cbc9e59b9c">Packet.h</a>
+</li>
+<li>NPF_WaitEndOfBufferedWrite()
+: <a class="el" href="group__NPF__code.html#ga8861b474efcb6578c9fe2075ff3e6aef">Packet.h</a>
+</li>
+<li>NPF_Write()
+: <a class="el" href="group__NPF__code.html#ga595338435296a4d1e15363ebfcb3a38c">Packet.h</a>
+</li>
+<li>NPF_WriteDumpFile()
+: <a class="el" href="group__NPF__code.html#ga57b9ee7752f00c8858bda8ca060a033b">Packet.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_p">- p -</a></h3><ul>
+<li>pcap_breakloop()
+: <a class="el" href="group__wpcapfunc.html#gae0dc50910fabbd375fab8a1352a6cf33">funcs/pcap.h</a>
+</li>
+<li>pcap_cleanup_remote()
+: <a class="el" href="pcap-remote_8h.html#a26b01d5a63ab6498293ec372b32c4860">pcap-remote.h</a>
+</li>
+<li>pcap_close()
+: <a class="el" href="group__wpcapfunc.html#gaa45a5e1a4ba9925bb3586dcbeec78560">funcs/pcap.h</a>
+</li>
+<li>pcap_compile()
+: <a class="el" href="group__wpcapfunc.html#ga363bdc6f6b39b4979ddcf15ecb830c5c">funcs/pcap.h</a>
+</li>
+<li>pcap_compile_nopcap()
+: <a class="el" href="group__wpcapfunc.html#ga8325b202dad14a00609db8372722ae4e">funcs/pcap.h</a>
+</li>
+<li>pcap_createsrcstr()
+: <a class="el" href="group__wpcapfunc.html#gaa3111e10f930a9772a32a922b26948b0">funcs/pcap.h</a>
+, <a class="el" href="remote-ext_8h.html#aa3111e10f930a9772a32a922b26948b0">remote-ext.h</a>
+</li>
+<li>pcap_datalink()
+: <a class="el" href="group__wpcapfunc.html#ga64c019f851f7da6892d51cca15f12ace">funcs/pcap.h</a>
+</li>
+<li>pcap_datalink_name_to_val()
+: <a class="el" href="group__wpcapfunc.html#ga440b2f0757acd4804588933324909207">funcs/pcap.h</a>
+</li>
+<li>pcap_datalink_val_to_description()
+: <a class="el" href="group__wpcapfunc.html#ga3f142cd0694b49357e4a73371db71411">funcs/pcap.h</a>
+</li>
+<li>pcap_datalink_val_to_name()
+: <a class="el" href="group__wpcapfunc.html#gad45c16d494577f1886704af8f31ed442">funcs/pcap.h</a>
+</li>
+<li>pcap_dispatch()
+: <a class="el" href="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c">funcs/pcap.h</a>
+</li>
+<li>pcap_dump()
+: <a class="el" href="group__wpcapfunc.html#ga659439bf5aa3988b5a92d31990fbf437">funcs/pcap.h</a>
+</li>
+<li>pcap_dump_close()
+: <a class="el" href="group__wpcapfunc.html#ga3897795c1e9fb10571092febae964ef0">funcs/pcap.h</a>
+</li>
+<li>pcap_dump_file()
+: <a class="el" href="group__wpcapfunc.html#ga8dac02f297422ff2ab5983d1e30c58b6">funcs/pcap.h</a>
+</li>
+<li>pcap_dump_flush()
+: <a class="el" href="group__wpcapfunc.html#ga90404ae3dcffcd3bbe78f8b187a88984">funcs/pcap.h</a>
+</li>
+<li>pcap_dump_ftell()
+: <a class="el" href="group__wpcapfunc.html#ga50de34b8b3298f76c66c82b7ca3f84de">funcs/pcap.h</a>
+</li>
+<li>pcap_dump_open()
+: <a class="el" href="group__wpcapfunc.html#ga9506c33d580fdb5e5c288dba0f8a085c">funcs/pcap.h</a>
+</li>
+<li>pcap_file()
+: <a class="el" href="group__wpcapfunc.html#ga4c9f5690b99fb2af1f8904403f7da06b">funcs/pcap.h</a>
+</li>
+<li>pcap_findalldevs()
+: <a class="el" href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d">funcs/pcap.h</a>
+</li>
+<li>pcap_findalldevs_ex()
+: <a class="el" href="group__wpcapfunc.html#ga98f36e62c95c6ad81eaa8b2bbeb8f16e">funcs/pcap.h</a>
+, <a class="el" href="remote-ext_8h.html#a98f36e62c95c6ad81eaa8b2bbeb8f16e">remote-ext.h</a>
+</li>
+<li>pcap_freealldevs()
+: <a class="el" href="group__wpcapfunc.html#ga346b4b0b7fd1cda4abb9a39f767dbeb1">funcs/pcap.h</a>
+</li>
+<li>pcap_freecode()
+: <a class="el" href="group__wpcapfunc.html#ga9e0a5aad1a5dc79d85f1edfcebe0ac13">funcs/pcap.h</a>
+</li>
+<li>pcap_get_airpcap_handle()
+: <a class="el" href="group__wpcapfunc.html#ga4c8f8d1b9238c74faa156494a6b98670">funcs/pcap.h</a>
+, <a class="el" href="Win32-Extensions_8h.html#a4c8f8d1b9238c74faa156494a6b98670">Win32-Extensions.h</a>
+</li>
+<li>pcap_geterr()
+: <a class="el" href="group__wpcapfunc.html#ga81305cb154e4497e95bbb9b708631a3a">funcs/pcap.h</a>
+</li>
+<li>pcap_getevent()
+: <a class="el" href="group__wpcapfunc.html#ga2c415e9192c7b18a81a02300ae6f2c02">funcs/pcap.h</a>
+, <a class="el" href="Win32-Extensions_8h.html#a2c415e9192c7b18a81a02300ae6f2c02">Win32-Extensions.h</a>
+</li>
+<li>pcap_getnonblock()
+: <a class="el" href="group__wpcapfunc.html#gab25dc0bfe06545b86be4103bf010708e">funcs/pcap.h</a>
+</li>
+<li>pcap_is_swapped()
+: <a class="el" href="group__wpcapfunc.html#gaba4941e09e5e03ba39841de4b1d5d6a4">funcs/pcap.h</a>
+</li>
+<li>pcap_lib_version()
+: <a class="el" href="group__wpcapfunc.html#ga2d92cec9ff55906b5b6fb883e4bd72f4">funcs/pcap.h</a>
+</li>
+<li>pcap_list_datalinks()
+: <a class="el" href="group__wpcapfunc.html#ga64e482360b0ed7d65fce1db23d56b921">funcs/pcap.h</a>
+</li>
+<li>pcap_live_dump()
+: <a class="el" href="group__wpcapfunc.html#gaedef54159d918b22a7de8e75b8a3ef4d">funcs/pcap.h</a>
+, <a class="el" href="Win32-Extensions_8h.html#aedef54159d918b22a7de8e75b8a3ef4d">Win32-Extensions.h</a>
+</li>
+<li>pcap_live_dump_ended()
+: <a class="el" href="group__wpcapfunc.html#gafe8a334f3a7ae2dc7f52e96523da39be">funcs/pcap.h</a>
+, <a class="el" href="Win32-Extensions_8h.html#afe8a334f3a7ae2dc7f52e96523da39be">Win32-Extensions.h</a>
+</li>
+<li>pcap_lookupdev()
+: <a class="el" href="group__wpcapfunc.html#gaed295fc9fd86434372e8a8316f1270b1">funcs/pcap.h</a>
+</li>
+<li>pcap_lookupnet()
+: <a class="el" href="group__wpcapfunc.html#gaa35276d0fa530c51a455f298fa1ec453">funcs/pcap.h</a>
+</li>
+<li>pcap_loop()
+: <a class="el" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de">funcs/pcap.h</a>
+</li>
+<li>pcap_major_version()
+: <a class="el" href="group__wpcapfunc.html#ga39dfb05149b443cc25b8febc455ca753">funcs/pcap.h</a>
+</li>
+<li>pcap_minor_version()
+: <a class="el" href="group__wpcapfunc.html#gac7a9dd9cd040ee500221cf35dfb49248">funcs/pcap.h</a>
+</li>
+<li>pcap_next()
+: <a class="el" href="group__wpcapfunc.html#gadf60257f650aaf869671e0a163611fc3">funcs/pcap.h</a>
+</li>
+<li>pcap_next_ex()
+: <a class="el" href="group__wpcapfunc.html#ga439439c2eae61161dc1efb1e03a81133">funcs/pcap.h</a>
+</li>
+<li>pcap_offline_filter()
+: <a class="el" href="group__wpcapfunc.html#gae92f11bfb001c19b2d0fbcd6821d222a">funcs/pcap.h</a>
+, <a class="el" href="Win32-Extensions_8h.html#ae92f11bfb001c19b2d0fbcd6821d222a">Win32-Extensions.h</a>
+</li>
+<li>pcap_open()
+: <a class="el" href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791">funcs/pcap.h</a>
+, <a class="el" href="remote-ext_8h.html#a2b64c7b6490090d1d37088794f1f1791">remote-ext.h</a>
+</li>
+<li>pcap_open_dead()
+: <a class="el" href="group__wpcapfunc.html#ga6445eeb76f2757b9fa088b276eea2845">funcs/pcap.h</a>
+</li>
+<li>pcap_open_live()
+: <a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8">funcs/pcap.h</a>
+</li>
+<li>pcap_open_offline()
+: <a class="el" href="group__wpcapfunc.html#ga91078168a13de8848df2b7b83d1f5b69">funcs/pcap.h</a>
+</li>
+<li>pcap_opensource_remote()
+: <a class="el" href="pcap-remote_8h.html#aa37a07d9cf44445b81602b14c622e28a">pcap-remote.h</a>
+</li>
+<li>pcap_parsesrcstr()
+: <a class="el" href="group__wpcapfunc.html#ga090e0afd3f463b4b60a64c47eddc1ba2">funcs/pcap.h</a>
+, <a class="el" href="remote-ext_8h.html#a090e0afd3f463b4b60a64c47eddc1ba2">remote-ext.h</a>
+</li>
+<li>pcap_perror()
+: <a class="el" href="group__wpcapfunc.html#gac3b6784c6c2623b93b22f6f219bd470e">funcs/pcap.h</a>
+</li>
+<li>pcap_read_nocb_remote()
+: <a class="el" href="pcap-remote_8h.html#a9592679e3e00af097835b4dfc5f2dbaa">pcap-remote.h</a>
+</li>
+<li>pcap_read_remote()
+: <a class="el" href="pcap-remote_8h.html#ab0db6e07bf653640fd14650aeffe5d5a">pcap-remote.h</a>
+</li>
+<li>pcap_remoteact_accept()
+: <a class="el" href="remote-ext_8h.html#a5495943cc8262db57f726e2a23f837dd">remote-ext.h</a>
+, <a class="el" href="group__wpcapfunc.html#ga5495943cc8262db57f726e2a23f837dd">funcs/pcap.h</a>
+</li>
+<li>pcap_remoteact_cleanup()
+: <a class="el" href="group__wpcapfunc.html#ga7b022e0a67f5ff62fd13df5c688d6d82">funcs/pcap.h</a>
+, <a class="el" href="remote-ext_8h.html#a7b022e0a67f5ff62fd13df5c688d6d82">remote-ext.h</a>
+</li>
+<li>pcap_remoteact_close()
+: <a class="el" href="remote-ext_8h.html#a6a84e03497f946d61c440696e57e2c95">remote-ext.h</a>
+, <a class="el" href="group__wpcapfunc.html#ga6a84e03497f946d61c440696e57e2c95">funcs/pcap.h</a>
+</li>
+<li>pcap_remoteact_list()
+: <a class="el" href="group__wpcapfunc.html#ga7ee8f666bff537aa457b7c05651cf815">funcs/pcap.h</a>
+, <a class="el" href="remote-ext_8h.html#a7ee8f666bff537aa457b7c05651cf815">remote-ext.h</a>
+</li>
+<li>pcap_sendpacket()
+: <a class="el" href="group__wpcapfunc.html#ga51dbda0f1ab9da2cfe49d657486d50b2">funcs/pcap.h</a>
+</li>
+<li>pcap_sendqueue_alloc()
+: <a class="el" href="Win32-Extensions_8h.html#ab940e69631b7cc7f2232a69ea02b86d9">Win32-Extensions.h</a>
+, <a class="el" href="group__wpcapfunc.html#gab940e69631b7cc7f2232a69ea02b86d9">funcs/pcap.h</a>
+</li>
+<li>pcap_sendqueue_destroy()
+: <a class="el" href="group__wpcapfunc.html#ga72624f7a9932cc2124abf661001e0aa4">funcs/pcap.h</a>
+, <a class="el" href="Win32-Extensions_8h.html#a72624f7a9932cc2124abf661001e0aa4">Win32-Extensions.h</a>
+</li>
+<li>pcap_sendqueue_queue()
+: <a class="el" href="Win32-Extensions_8h.html#a4c57ea320d71dbfe55c5665af9db1297">Win32-Extensions.h</a>
+, <a class="el" href="group__wpcapfunc.html#ga4c57ea320d71dbfe55c5665af9db1297">funcs/pcap.h</a>
+</li>
+<li>pcap_sendqueue_transmit()
+: <a class="el" href="group__wpcapfunc.html#gaa4d55eb047a1cccc0e28397ce04ee097">funcs/pcap.h</a>
+, <a class="el" href="Win32-Extensions_8h.html#aa4d55eb047a1cccc0e28397ce04ee097">Win32-Extensions.h</a>
+</li>
+<li>pcap_set_datalink()
+: <a class="el" href="group__wpcapfunc.html#ga9588b99ac118cf827873d9e941eb6c77">funcs/pcap.h</a>
+</li>
+<li>pcap_setbuff()
+: <a class="el" href="group__wpcapfunc.html#ga124bde25ccd9e39017ff2abec2dda623">funcs/pcap.h</a>
+</li>
+<li>pcap_setfilter()
+: <a class="el" href="group__wpcapfunc.html#gaf5f9cfe85dad0967ff607e5159b1ba61">funcs/pcap.h</a>
+</li>
+<li>pcap_setfilter_remote()
+: <a class="el" href="pcap-remote_8h.html#a3e12964f562dd76e1094d927cbe27b25">pcap-remote.h</a>
+</li>
+<li>pcap_setmintocopy()
+: <a class="el" href="group__wpcapfunc.html#gab14ceacbf1c2f63026416dd73f80dc0d">funcs/pcap.h</a>
+</li>
+<li>pcap_setmode()
+: <a class="el" href="group__wpcapfunc.html#gaef07ef49d3c75644f3fd34518e2fe720">funcs/pcap.h</a>
+</li>
+<li>pcap_setnonblock()
+: <a class="el" href="group__wpcapfunc.html#ga3f212141c80b59aad8ac535bb0178275">funcs/pcap.h</a>
+</li>
+<li>pcap_setsampling()
+: <a class="el" href="group__wpcapfunc.html#ga84c7d55f5b0e7d545b38d6b8e7bde005">funcs/pcap.h</a>
+, <a class="el" href="remote-ext_8h.html#a84c7d55f5b0e7d545b38d6b8e7bde005">remote-ext.h</a>
+</li>
+<li>pcap_setsampling_remote()
+: <a class="el" href="pcap-remote_8h.html#ae70f189ef09ba80aa809365854f2875a">pcap-remote.h</a>
+</li>
+<li>pcap_setuserbuffer()
+: <a class="el" href="Win32-Extensions_8h.html#a9b68e06df888cb005ddb92117227e0a6">Win32-Extensions.h</a>
+</li>
+<li>pcap_snapshot()
+: <a class="el" href="group__wpcapfunc.html#gae5c6e9768e89a6b82f9d720f37e6ab97">funcs/pcap.h</a>
+</li>
+<li>pcap_start_oem()
+: <a class="el" href="Win32-Extensions_8h.html#a6455abf1f09abfd5493e2e0e914aa612">Win32-Extensions.h</a>
+</li>
+<li>pcap_startcapture_remote()
+: <a class="el" href="pcap-remote_8h.html#a0ad8f765bf454e69b98f97a3e2b002e7">pcap-remote.h</a>
+</li>
+<li>pcap_stats()
+: <a class="el" href="group__wpcapfunc.html#gabbd74d8c3ce1bcbccc76129ac38f4549">funcs/pcap.h</a>
+</li>
+<li>pcap_stats_ex()
+: <a class="el" href="Win32-Extensions_8h.html#a8050f7829956aabd243cc32b3cfabbd6">Win32-Extensions.h</a>
+, <a class="el" href="group__wpcapfunc.html#ga8050f7829956aabd243cc32b3cfabbd6">funcs/pcap.h</a>
+</li>
+<li>pcap_stats_ex_remote()
+: <a class="el" href="pcap-remote_8h.html#a6e9d9cdb69408ad2b1221c8f5dcc3c80">pcap-remote.h</a>
+</li>
+<li>pcap_stats_remote()
+: <a class="el" href="pcap-remote_8h.html#a566a5e39d86edb314005ed4fed4d2b99">pcap-remote.h</a>
+</li>
+<li>pcap_strerror()
+: <a class="el" href="group__wpcapfunc.html#gafac2067e8f66f5a5a87f19f5e2b5ad4f">funcs/pcap.h</a>
+</li>
+<li>pcap_updatefilter_remote()
+: <a class="el" href="pcap-remote_8h.html#a27b8e02d428568edb810e6eca02f1c49">pcap-remote.h</a>
+</li>
+<li>pthread_suspend()
+: <a class="el" href="daemon_8h.html#a17c4e1f787be3e05287772cef511a91d">daemon.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_r">- r -</a></h3><ul>
+<li>rpcap_checkmsg()
+: <a class="el" href="pcap-remote_8h.html#aac91069eff112ab360f3834fa58ff53d">pcap-remote.h</a>
+</li>
+<li>rpcap_createhdr()
+: <a class="el" href="pcap-remote_8h.html#a16e3637e641d12618e4bef76fa2fcf2e">pcap-remote.h</a>
+</li>
+<li>rpcap_deseraddr()
+: <a class="el" href="pcap-remote_8h.html#a67250f8933f1b6c261e9bd4136c4f2af">pcap-remote.h</a>
+</li>
+<li>rpcap_remoteact_getsock()
+: <a class="el" href="pcap-remote_8h.html#ae0fb2ae444215e729811d958fea0309e">pcap-remote.h</a>
+</li>
+<li>rpcap_sendauth()
+: <a class="el" href="pcap-remote_8h.html#a29144d786cbb343587611df6d4283886">pcap-remote.h</a>
+</li>
+<li>rpcap_senderror()
+: <a class="el" href="pcap-remote_8h.html#a7e311277cf79afe58e6683f24cd14b65">pcap-remote.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_s">- s -</a></h3><ul>
+<li>svc_start()
+: <a class="el" href="win32-svc_8h.html#ac70f5868df364c34acf38ac3e2262224">win32-svc.h</a>
+</li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/globals_type.html b/3rdparty/winpcap/docs/html/globals_type.html
new file mode 100644
index 00000000000..a5c8547492c
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/globals_type.html
@@ -0,0 +1,125 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li class="current"><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;<ul>
+<li>BPF_filter_function
+: <a class="el" href="group__NPF__jitter.html#ga55e96d93d223cecaa3c69437c1603c29">jitter.h</a>
+</li>
+<li>bpf_int32
+: <a class="el" href="group__wpcap__def.html#ga759c6336c1d9abb462d9248c5ca5c437">incs/pcap.h</a>
+</li>
+<li>bpf_u_int32
+: <a class="el" href="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482">incs/pcap.h</a>
+</li>
+<li>CpuPrivateData
+: <a class="el" href="group__NPF__include.html#ga321d8c7f608d41e095ec3508cff10764">Packet.h</a>
+</li>
+<li>DEVICE_EXTENSION
+: <a class="el" href="group__NPF__include.html#ga5091b7a273db5d38a71df5293eb52ccf">Packet.h</a>
+</li>
+<li>emit_func
+: <a class="el" href="group__NPF__jitter.html#ga9b8427d5c2ee2075f766226a6e53bfad">jitter.h</a>
+</li>
+<li>int32
+: <a class="el" href="group__remote__pri__struct.html#ga56f1a81c92849566ae864511088eb7e8">pcap-remote.h</a>
+</li>
+<li>INTERNAL_REQUEST
+: <a class="el" href="group__NPF__include.html#ga0bee4ca4dc129822e19478f88d991a31">Packet.h</a>
+</li>
+<li>OPEN_INSTANCE
+: <a class="el" href="group__NPF__include.html#gafeddf3a08e141d369532061f3f8cd939">Packet.h</a>
+</li>
+<li>PACKET_OID_DATA
+: <a class="el" href="group__NPF__include.html#ga0c7b0f53860e1de014069aad53987bc6">Packet.h</a>
+</li>
+<li>PACKET_RESERVED
+: <a class="el" href="group__NPF__include.html#ga2225b3cfa793593a1849aa0652846a5c">Packet.h</a>
+</li>
+<li>PAirpcapHandle
+: <a class="el" href="Win32-Extensions_8h.html#aadfdcc0e37082d8f6b28a43ec9a0bccf">Win32-Extensions.h</a>
+</li>
+<li>pcap_addr_t
+: <a class="el" href="group__wpcap__def.html#gad5c2e491e2ca9d8eefe4217021c99bdc">incs/pcap.h</a>
+</li>
+<li>pcap_dumper_t
+: <a class="el" href="group__wpcap__def.html#gab8c7858aa3a7e3158d9d58cb113a2ae8">incs/pcap.h</a>
+</li>
+<li>pcap_handler
+: <a class="el" href="group__wpcapfunc.html#gabcba231c099919ecd9300d7160b19878">funcs/pcap.h</a>
+</li>
+<li>pcap_if_t
+: <a class="el" href="group__wpcap__def.html#ga3a6e7cbf8d9752da3add4676c7cd4c58">incs/pcap.h</a>
+</li>
+<li>pcap_send_queue
+: <a class="el" href="Win32-Extensions_8h.html#a59f37277a1b82cbf46112f0e97485696">Win32-Extensions.h</a>
+</li>
+<li>pcap_t
+: <a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">incs/pcap.h</a>
+</li>
+<li>PDEVICE_EXTENSION
+: <a class="el" href="group__NPF__include.html#gac8ad25578be589c8352fc4e1a8a99be3">Packet.h</a>
+</li>
+<li>PINTERNAL_REQUEST
+: <a class="el" href="group__NPF__include.html#ga55591a7d14855359ed1e3995f7f025c3">Packet.h</a>
+</li>
+<li>POPEN_INSTANCE
+: <a class="el" href="group__NPF__include.html#gad3b7ff25cfe0e8fd50666782f85e76cb">Packet.h</a>
+</li>
+<li>PPACKET_OID_DATA
+: <a class="el" href="group__NPF__include.html#gadf678e4006b707eb64a691e611975b22">Packet.h</a>
+</li>
+<li>PPACKET_RESERVED
+: <a class="el" href="group__NPF__include.html#ga375d9973bbbe748c9722e8f546beb10c">Packet.h</a>
+</li>
+<li>uint16
+: <a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">pcap-remote.h</a>
+</li>
+<li>uint32
+: <a class="el" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">pcap-remote.h</a>
+</li>
+<li>uint8
+: <a class="el" href="group__remote__pri__struct.html#gadde6aaee8457bee49c2a92621fe22b79">pcap-remote.h</a>
+</li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/globals_vars.html b/3rdparty/winpcap/docs/html/globals_vars.html
new file mode 100644
index 00000000000..1af4db9632c
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/globals_vars.html
@@ -0,0 +1,71 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Data Fields</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li class="current"><a href="globals_vars.html"><span>Variables</span></a></li>
+ <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+ <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+ <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+ <li><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;<ul>
+<li>case
+: <a class="el" href="wpcap__remote_8htm.html#a0b27a0048ba88eaf6d523bcc6c6ef00e">wpcap_remote.htm</a>
+</li>
+<li>connection
+: <a class="el" href="wpcap__remote_8htm.html#a9626e8afe69dfeee0e9d7a2477dedf52">wpcap_remote.htm</a>
+</li>
+<li>g_NCpu
+: <a class="el" href="group__NPF__include.html#ga980b14c18716a1788990f8e68fed9420">Packet.h</a>
+</li>
+<li>g_NdisProtocolHandle
+: <a class="el" href="group__NPF__include.html#ga5d6fbe2176d19b191fa7aaac4d6d6bb5">Packet.h</a>
+</li>
+<li>g_SendPacketFlags
+: <a class="el" href="group__NPF__include.html#gab325d08691ab69e4f942f6a418a41db2">Packet.h</a>
+</li>
+<li>G_Start_Time
+: <a class="el" href="group__NPF__include.html#ga8bd3dab633cae7a1a47c4ddb2705a31b">Packet.h</a>
+</li>
+<li>host
+: <a class="el" href="wpcap__remote_8htm.html#a3c46d79c790748a5942fb43baa6b3073">wpcap_remote.htm</a>
+</li>
+<li>then
+: <a class="el" href="wpcap__remote_8htm.html#a751ff7ed91d2e43008930137c9fa6925">wpcap_remote.htm</a>
+</li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/group__NPF.html b/3rdparty/winpcap/docs/html/group__NPF.html
new file mode 100644
index 00000000000..f3514d7e25c
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/group__NPF.html
@@ -0,0 +1,301 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: NPF driver internals manual</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>NPF driver internals manual<br/>
+<small>
+[<a class="el" href="group__internals.html">WinPcap internals</a>]</small>
+</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Modules</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__ioctl.html">NPF I/O control codes</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html">NPF structures and definitions</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html">NPF functions</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html">NPF Just-in-time compiler definitions</a></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta name="GENERATOR" content="Microsoft FrontPage 6.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<title></title>
+</head>
+
+<body>
+
+<p>This section documents the internals of the Netgroup Packet Filter (NPF), the kernel
+portion of WinPcap. Normal users are probably interested in how to use WinPcap
+and not in its internal structure. Therefore
+the information present in this module is destined mainly to WinPcap developers and maintainers, or to
+the people interested in how the driver works. In particular, a good knowledge
+of OSes, networking and Win32 kernel programming and device drivers development
+is required to profitably read this section.&nbsp;</p>
+<p>NPF is the WinPcap component that does the hard work, processing the packets
+that transit on the network and exporting capture, injection and analysis
+capabilities to user-level.</p>
+<p>The following paragraphs will describe the interaction of NPF with the
+OS and its basic structure.</p>
+<h2>NPF and NDIS</h2>
+<p>NDIS (Network Driver Interface Specification) is a standard that defines the
+communication between a network adapter (or, better, the driver that manages it)
+and the protocol drivers (that implement for example TCP/IP). Main NDIS purpose
+is to act as a wrapper that allows protocol drivers to send and receive packets
+onto a network (LAN or WAN) without caring either the particular adapter or the
+particular Win32 operating system.</p>
+<p>NDIS supports three types of network drivers:</p>
+<ol>
+ <li><strong>Network interface card or NIC drivers</strong>. NIC drivers
+ directly manage network interface cards, referred to as NICs. The NIC
+ drivers interface directly to the hardware at their lower edge and at their
+ upper edge present an interface to allow upper layers to send packets on the
+ network, to handle interrupts, to reset the NIC, to halt the NIC and to
+ query and set the operational characteristics of the driver. NIC drivers can
+ be either miniports or legacy full NIC drivers.
+ <ul>
+ <li>Miniport drivers implement only the hardware-specific operations
+ necessary to manage a NIC, including sending and receiving data on the
+ NIC. Operations common to all lowest level NIC drivers, such as
+ synchronization, is provided by NDIS. Miniports do not call operating
+ system routines directly; their interface to the operating system is
+ NDIS.<br>
+ A miniport does not keep track of bindings. It merely passes packets up
+ to NDIS and NDIS makes sure that these packets are passed to the correct
+ protocols.
+ <li>Full NIC drivers have been written to perform both hardware-specific
+ operations and all the synchronization and queuing operations usually
+ done by NDIS. Full NIC drivers, for instance, maintain their own binding
+ information for indicating received data.&nbsp;</li>
+ </ul>
+ <li><strong>Intermediate drivers</strong>. Intermediate drivers interface
+ between an upper-level driver such as a protocol driver and a miniport. To
+ the upper-level driver, an intermediate driver looks like a miniport. To a
+ miniport, the intermediate driver looks like a protocol driver. An
+ intermediate protocol driver can layer on top of another intermediate driver
+ although such layering could have a negative effect on system performance. A
+ typical reason for developing an intermediate driver is to perform media
+ translation between an existing legacy protocol driver and a miniport that
+ manages a NIC for a new media type unknown to the protocol driver. For
+ instance, an intermediate driver could translate from LAN protocol to ATM
+ protocol. An intermediate driver cannot communicate with user-mode
+ applications, but only with other NDIS drivers.
+ <li><b>Transport drivers or protocol drivers</b>. A protocol driver implements
+ a network protocol stack such as IPX/SPX or TCP/IP, offering its services
+ over one or more network interface cards. A protocol driver services
+ application-layer clients at its upper edge and connects to one or more NIC
+ driver(s) or intermediate NDIS driver(s) at its lower edge.</li>
+</ol>
+<p>NPF is implemented as a protocol driver. This is not the best possible choice
+from the performance point of view, but allows reasonable independence from the
+MAC layer and as well as complete access to the raw traffic.</p>
+<p>Notice that the various Win32 operating systems have different versions of
+NDIS: NPF is NDIS 5 compliant under Windows 2000 and its derivations (like
+Windows XP), NDIS 3
+compliant on the other Win32 platforms.&nbsp;</p>
+<p>Next figure shows the position of NPF inside the NDIS stack:</p>
+<p align="center"><img border="0" src="npf-ndis.gif"></p>
+<p align="center"><b>Figure 1: NPF inside NDIS.</b></p>
+<p>The interaction with the OS is normally asynchronous. This means that the
+driver provides a set of callback functions that are invoked by the system when
+some operation is required to NPF. NPF exports callback functions for all the I/O operations of the
+applications: open, close, read, write, ioctl, etc.</p>
+<p>The interaction with NDIS is asynchronous as well: events
+like the arrival of a new packet are notified to NPF through a callback
+function (Packet_tap() in this case). Furthermore, the interaction with NDIS and
+the NIC
+driver takes always place by means of non blocking functions: when NPF invokes a
+NDIS function, the call returns immediately; when the processing ends, NDIS invokes
+a specific NPF
+callback to inform that the function has finished. The
+driver exports a callback for any low-level operation, like sending packets,
+setting or requesting parameters on the NIC, etc.</p>
+
+<h2>NPF structure basics</h2>
+
+<p>Next figure shows the structure of WinPcap, with particular reference to the
+NPF driver.</p>
+
+<p align="center"><img border="0" src="npf-npf.gif" width="500" height="412"></p>
+
+<p align="center"><b>Figure 2: NPF device driver.</b>
+
+<p>NPF is able to
+perform a number of different operations: capture, monitoring, dump to disk,
+packet injection. The following paragraphs will describe shortly each of these
+operations.</p>
+<h4>Packet Capture</h4>
+<p>The most important operation of NPF is packet capture.
+During a capture, the driver sniffs the packets using a network interface and delivers them intact to the
+user-level applications.&nbsp;
+</p>
+<p>The capture process relies on two main components:</p>
+<ul>
+ <li>
+ <p>A packet filter that decides if an
+ incoming packet has to be accepted and copied to the listening application.
+ Most applications using NPF reject far more packets than those accepted,
+ therefore a versatile and efficient packet filter is critical for good
+ over-all performance. A packet filter is a function with boolean output
+ that is applied to a packet. If the value of the function is true the
+ capture driver copies
+ the packet to the application; if it is false the packet is discarded. NPF
+ packet filter is a bit more complex, because it determines not only if the
+ packet should be kept, but also the amount of bytes to keep. The filtering
+ system adopted by NPF derives from the <b>BSD Packet Filter</b> (BPF), a
+ virtual processor able to execute filtering programs expressed in a
+ pseudo-assembler and created at user level. The application takes a user-defined filter (e.g. “pick up all UDP packets”)
+ and, using wpcap.dll, compiles them into a BPF program (e.g. “if the
+ packet is IP and the <i>protocol type</i> field is equal to 17, then return
+ true”). Then, the application uses the <i>BIOCSETF</i>
+ IOCTL to inject the filter in the kernel. At this point, the program
+ is executed for every incoming packet, and only the conformant packets are
+ accepted. Unlike traditional solutions, NPF does not <i>interpret</i>
+ the filters, but it <i>executes</i> them. For performance reasons, before using the
+ filter NPF feeds it to a JIT compiler that translates it into a native 80x86
+ function. When a packet is captured, NPF calls this native function instead
+ of invoking the filter interpreter, and this makes the process very fast.
+ The concept behind this optimization is very similar to the one of Java
+ jitters.</li>
+ <li>
+ <p>A circular buffer to store the
+ packets and avoid loss. A packet is stored in the buffer with a header that
+ maintains information like the timestamp and the size of the packet.
+ Moreover, an alignment padding is inserted between the packets in order to
+ speed-up the access to their data by the applications. Groups of&nbsp; packets can be copied
+ with a single operation from the NPF buffer to the applications. This
+ improves performances because it minimizes the number of reads. If the
+ buffer is full when a new packet arrives, the packet is discarded and
+ hence it's lost. Both kernel and user buffer can be
+changed at runtime for maximum versatility: packet.dll and wpcap.dll provide functions for this purpose.</li>
+</ul>
+<p>The size of the user buffer is very
+important because it determines the <i>maximum</i> amount of data that can be
+copied from kernel space to user space within a single system call. On the other
+hand, it can be noticed that also the <i>minimum</i> amount of data that can be copied
+in a single call is extremely important. In presence of a large value for this
+variable, the kernel waits for the arrival of several packets before copying the
+data to the user. This guarantees a low number of system calls, i.e. low
+processor usage, which is a good setting for applications like sniffers. On the
+other side, a small value means that the kernel will copy the packets as soon as
+the application is ready to receive them. This is excellent for real time
+applications (like, for example, ARP redirectors or bridges) that need the better
+responsiveness from the kernel.
+From this point of view, NPF has a configurable behavior, that allows users to choose between
+best efficiency or best responsiveness (or any intermediate situation).&nbsp;</p>
+<p>The wpcap library includes a couple of system calls that can be used both to set the timeout after
+which a read expires and the minimum amount of data that can be transferred to
+the application. By default, the read timeout is 1 second, and the minimum
+amount of data copied between the kernel and the application is 16K.</p>
+<h4> Packet injection</h4>
+<p> NPF allows to write raw packets to the network. To send data, a
+user-level application performs a WriteFile() system call on the NPF device file. The data is sent to the network as is, without encapsulating it in
+any protocol, therefore the application will have to build the various headers
+for each packet. The application usually does not need to generate the FCS
+because it is calculated by the network adapter hardware and it is attached
+automatically at the end of a packet before sending it to the network.</p>
+<p>In normal situations, the sending rate of the packets to the network is not
+very high because of the need of a system call for each packet. For this reason,
+the possibility to send a single packet more than once with a single write
+system call has been added. The user-level application can set, with an IOCTL
+call (code pBIOCSWRITEREP), the number of times a single packet will be
+repeated: for example, if this value is set to 1000, every raw packet written by
+the application on the driver's device file will be sent 1000 times. This
+feature can be used to generate high speed traffic for testing purposes: the
+overload of context switches is no longer present, so performance is remarkably
+better.&nbsp;</p>
+
+<h4> Network monitoring</h4>
+<p>WinPcap offers a kernel-level programmable monitoring
+module, able to calculate simple statistics on the network traffic. The
+idea behind this module is shown in Figure
+2: the statistics can be gathered without the need to copy the packets to
+the application, that simply receives and displays the results obtained from the
+monitoring engine. This allows to avoid great part of the capture overhead in
+terms of memory and CPU clocks.</p>
+<p>The monitoring engine is
+made of a <i>classifier</i> followed by a <i>counter</i>. The packets are
+classified using the filtering engine of NPF, that provides a configurable way
+to select a subset of the traffic. The data that pass the filter go to the
+counter, that keeps some variables like the number of packets and
+the amount of bytes accepted by the filter and updates them with the data of the
+incoming packets. These variables are passed to the user-level application at
+regular intervals whose period can be configured by the user. No buffers are
+allocated at kernel and user level.</p>
+<h4>Dump to disk</h4>
+<p>The dump to disk
+capability can be used to save the network data to disk directly from kernel
+mode.
+</p>
+<p align="center"><img border="0" src="npf-dump.gif" width="400" height="187">
+</p>
+<p align="center"><b>Figure 3: packet capture versus kernel-level dump.</b>
+</p>
+<p>In
+traditional systems, the path covered by the packets that are saved to disk is
+the one followed by the black arrows in Figure
+3: every packet is copied several times, and normally 4 buffers are
+allocated: the one of the capture driver, the one in the application that keeps
+the captured data, the one of the stdio functions (or similar) that are used by
+the application to write on file, and finally the one of the file system.
+
+</p>
+<p>When the
+kernel-level traffic logging feature of NPF is enabled, the capture driver
+addresses the file system directly, hence the path covered by the packets is the
+one of the red dotted arrow: only two buffers and a single copy are necessary,
+the number of system call is drastically reduced, therefore the performance is
+considerably better.
+
+</p>
+<p>Current
+implementation dumps the to disk in the widely used libpcap format. It gives
+also the possibility to filter the traffic before the dump process in order to
+select the packet that will go to the disk.
+</p>
+<h2>Further reading</h2>
+<p>The structure of NPF and its filtering engine derive directly from the one of
+the BSD Packet Filter (BPF), so if you are interested the subject you can read
+the following papers:</p>
+<p>- S. McCanne and V. Jacobson, <a href="ftp://ftp.ee.lbl.gov/papers/bpf-usenix93.ps.Z">The
+BSD Packet Filter: A New Architecture for User-level Packet Capture</a>.
+Proceedings of the 1993 Winter USENIX Technical Conference (San Diego, CA, Jan.
+1993), USENIX.&nbsp;</p>
+<p>- A. Begel, S. McCanne, S.L.Graham, BPF+: <a href="http://www.acm.org/pubs/articles/proceedings/comm/316188/p123-begel/p123-begel.pdf">Exploiting
+Global Data-flow Optimization in a Generalized Packet Filter Architecture</a>,
+Proceedings of ACM SIGCOMM '99, pages 123-134, Conference on Applications,
+technologies, architectures, and protocols for computer communications, August
+30 - September 3, 1999, Cambridge, USA</p>
+<h2>Note</h2>
+<p>The code documented in this manual is the one of the Windows NTx version of
+NPF.&nbsp;The Windows 9x code is very similar, but it is less efficient and
+lacks advanced features like kernel-mode dump.</p>
+<p>
+
+
+</body>
+
+</html>
+ </div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/group__NPF__code.html b/3rdparty/winpcap/docs/html/group__NPF__code.html
new file mode 100644
index 00000000000..3001a53171c
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/group__NPF__code.html
@@ -0,0 +1,1667 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: NPF functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>NPF functions<br/>
+<small>
+[<a class="el" href="group__NPF.html">NPF driver internals manual</a>]</small>
+</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NTSTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga6502d781bd20234a06710b92d540baba">DriverEntry</a> (IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The initialization routine of the driver. <a href="#ga6502d781bd20234a06710b92d540baba"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PWCHAR&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gafc395636686df00f554efbd2010f73cb">getAdaptersList</a> (VOID)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the list of the MACs available on the system. <a href="#gafc395636686df00f554efbd2010f73cb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PKEY_VALUE_PARTIAL_INFORMATION&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gacf0e32b371eb9283e5cf1de0dfb15629">getTcpBindings</a> (VOID)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the MACs that bind to TCP/IP. <a href="#gacf0e32b371eb9283e5cf1de0dfb15629"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">BOOLEAN&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga5d152d59c86209c5128ac788a7ae61b3">NPF_CreateDevice</a> (IN OUT PDRIVER_OBJECT adriverObjectP, IN PUNICODE_STRING amacNameP)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a device for a given MAC. <a href="#ga5d152d59c86209c5128ac788a7ae61b3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NTSTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga82e557625e52fe4395bbe2e494fe8c4a">NPF_Open</a> (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opens a new instance of the driver. <a href="#ga82e557625e52fe4395bbe2e494fe8c4a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga155ae51be29c6d36f8109781b8f6e7b2">NPF_OpenAdapterComplete</a> (IN NDIS_HANDLE ProtocolBindingContext, IN NDIS_STATUS Status, IN NDIS_STATUS OpenErrorStatus)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ends the opening of an adapter. <a href="#ga155ae51be29c6d36f8109781b8f6e7b2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NTSTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gafae94a0e7fda8de180cff6e596cc2803">NPF_Cleanup</a> (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Closes an instance of the driver. <a href="#gafae94a0e7fda8de180cff6e596cc2803"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NTSTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gaf8b70be389645c912cf09f1e9ea4b975">NPF_Close</a> (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga300118a9a6cc28c2c880f6bb39d86b53">NPF_CloseAdapterComplete</a> (IN NDIS_HANDLE ProtocolBindingContext, IN NDIS_STATUS Status)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ends the closing of an adapter. <a href="#ga300118a9a6cc28c2c880f6bb39d86b53"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NDIS_STATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga92f84ced372baf09f1c00a6b252a0564">NPF_tap</a> (IN NDIS_HANDLE ProtocolBindingContext, IN NDIS_HANDLE MacReceiveContext, IN PVOID HeaderBuffer, IN UINT HeaderBufferSize, IN PVOID LookAheadBuffer, IN UINT LookaheadBufferSize, IN UINT PacketSize)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Callback invoked by NDIS when a packet arrives from the network. <a href="#ga92f84ced372baf09f1c00a6b252a0564"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga0c34f931d6718be202c7c62406f279fd">NPF_TransferDataComplete</a> (IN NDIS_HANDLE ProtocolBindingContext, IN PNDIS_PACKET Packet, IN NDIS_STATUS Status, IN UINT BytesTransferred)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ends the transfer of a packet. <a href="#ga0c34f931d6718be202c7c62406f279fd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gae7863db01a628ed11324c49953195855">NPF_ReceiveComplete</a> (IN NDIS_HANDLE ProtocolBindingContext)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Callback function that signals the end of a packet reception. <a href="#gae7863db01a628ed11324c49953195855"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NTSTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gad8b208720b6e5149dabcd7fb058b16f7">NPF_IoControl</a> (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Handles the IOCTL calls. <a href="#gad8b208720b6e5149dabcd7fb058b16f7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga4ff37c0fd3273f829a1f84b9ab40755b">NPF_RequestComplete</a> (IN NDIS_HANDLE ProtocolBindingContext, IN PNDIS_REQUEST pRequest, IN NDIS_STATUS Status)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ends an OID request. <a href="#ga4ff37c0fd3273f829a1f84b9ab40755b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NTSTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga595338435296a4d1e15363ebfcb3a38c">NPF_Write</a> (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Writes a raw packet to the network. <a href="#ga595338435296a4d1e15363ebfcb3a38c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">INT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga9a97dd25ae757da4bfed3723a4eb4bce">NPF_BufferedWrite</a> (IN PIRP Irp, IN PCHAR UserBuff, IN ULONG UserBuffSize, BOOLEAN sync)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Writes a buffer of raw packets to the network. <a href="#ga9a97dd25ae757da4bfed3723a4eb4bce"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga8861b474efcb6578c9fe2075ff3e6aef">NPF_WaitEndOfBufferedWrite</a> (<a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a> Open)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Waits the completion of all the sends performed by NPF_BufferedWrite. <a href="#ga8861b474efcb6578c9fe2075ff3e6aef"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gaed126572458eed2dcd18d1824ac86601">NPF_SendComplete</a> (IN NDIS_HANDLE ProtocolBindingContext, IN PNDIS_PACKET pPacket, IN NDIS_STATUS Status)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ends a send operation. <a href="#gaed126572458eed2dcd18d1824ac86601"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga4e7934d9adb1826ed5e9112b9182f74a">NPF_ResetComplete</a> (IN NDIS_HANDLE ProtocolBindingContext, IN NDIS_STATUS Status)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ends a reset of the adapter. <a href="#ga4e7934d9adb1826ed5e9112b9182f74a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga1a8cf4fdeed6e93fcf1f50da654402b7">NPF_Status</a> (IN NDIS_HANDLE ProtocolBindingContext, IN NDIS_STATUS Status, IN PVOID StatusBuffer, IN UINT StatusBufferSize)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Callback for NDIS StatusHandler. Not used by NPF. <a href="#ga1a8cf4fdeed6e93fcf1f50da654402b7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga70f97109adcd6de8b157534e5ecf2e56">NPF_StatusComplete</a> (IN NDIS_HANDLE ProtocolBindingContext)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Callback for NDIS StatusCompleteHandler. Not used by NPF. <a href="#ga70f97109adcd6de8b157534e5ecf2e56"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga5eb5a8e754198d1bbc6572cbc9e59b9c">NPF_Unload</a> (IN PDRIVER_OBJECT DriverObject)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function called by the OS when NPF is unloaded. <a href="#ga5eb5a8e754198d1bbc6572cbc9e59b9c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NTSTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga827b1433b2d08cbac11b3844d721668f">NPF_Read</a> (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function that serves the user's reads. <a href="#ga827b1433b2d08cbac11b3844d721668f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NTSTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga1a3ce25625792c74e5792b8fa86a489c">NPF_ReadRegistry</a> (IN PWSTR *MacDriverName, IN PWSTR *PacketDriverName, IN PUNICODE_STRING RegistryPath)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reads the registry keys associated woth NPF if the driver is manually installed via the control panel. <a href="#ga1a3ce25625792c74e5792b8fa86a489c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NTSTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga8831b54dcd5361e81ddf0d3165f1fb8f">NPF_QueryRegistryRoutine</a> (IN PWSTR ValueName, IN ULONG ValueType, IN PVOID ValueData, IN ULONG ValueLength, IN PVOID Context, IN PVOID EntryContext)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function used by <a class="el" href="group__NPF__code.html#ga1a3ce25625792c74e5792b8fa86a489c" title="Reads the registry keys associated woth NPF if the driver is manually installed via...">NPF_ReadRegistry()</a> to quesry the registry keys associated woth NPF if the driver is manually installed via the control panel. <a href="#ga8831b54dcd5361e81ddf0d3165f1fb8f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga9a78f9937b2d7d00250f49dcaeb5bab0">NPF_BindAdapter</a> (OUT PNDIS_STATUS Status, IN NDIS_HANDLE BindContext, IN PNDIS_STRING DeviceName, IN PVOID SystemSpecific1, IN PVOID SystemSpecific2)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Callback for NDIS BindAdapterHandler. Not used by NPF. <a href="#ga9a78f9937b2d7d00250f49dcaeb5bab0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga54d94e883ff4c580289eefaf0d1fc356">NPF_UnbindAdapter</a> (OUT PNDIS_STATUS Status, IN NDIS_HANDLE ProtocolBindingContext, IN NDIS_HANDLE UnbindContext)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Callback for NDIS UnbindAdapterHandler. <a href="#ga54d94e883ff4c580289eefaf0d1fc356"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NTSTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gae3d1118c72b474fe214517a65afdfe09">NPF_OpenDumpFile</a> (<a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a> Open, PUNICODE_STRING fileName, BOOLEAN append)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates the file that will receive the packets when the driver is in dump mode. <a href="#gae3d1118c72b474fe214517a65afdfe09"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NTSTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gaeffce124cbc3e3ae09bd7a6d10367cbb">NPF_StartDump</a> (<a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a> Open)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Starts dump to file. <a href="#gaeffce124cbc3e3ae09bd7a6d10367cbb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga1566082cef91cf79ba4a855e3f44ede9">NPF_DumpThread</a> (PVOID Open)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The dump thread. <a href="#ga1566082cef91cf79ba4a855e3f44ede9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NTSTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gafcdcf5a4d9bfb8fbdb179963d4c789bd">NPF_SaveCurrentBuffer</a> (<a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a> Open)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Saves the content of the packet buffer to the file associated with current instance. <a href="#gafcdcf5a4d9bfb8fbdb179963d4c789bd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga57b9ee7752f00c8858bda8ca060a033b">NPF_WriteDumpFile</a> (PFILE_OBJECT FileObject, PLARGE_INTEGER Offset, ULONG Length, PMDL Mdl, PIO_STATUS_BLOCK IoStatusBlock)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Writes a block of packets on the dump file. <a href="#ga57b9ee7752f00c8858bda8ca060a033b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NTSTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gac911742b9f71c12c77452614db14c4a1">NPF_CloseDumpFile</a> (<a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a> Open)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Closes the dump file associated with an instance of the driver. <a href="#gac911742b9f71c12c77452614db14c4a1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">BOOLEAN&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga64dab96bfced5d22cc55a42fc6339833">NPF_StartUsingBinding</a> (IN <a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a> pOpen)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gacd54077d4c2d9186486d3504523ba4f0">NPF_StopUsingBinding</a> (IN <a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a> pOpen)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga76d4e48415cea8e0e65ba93d7355b89f">NPF_CloseBinding</a> (IN <a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a> pOpen)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">BOOLEAN&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga504e61b1229a9a604080fc8607b24084">NPF_StartUsingOpenInstance</a> (IN <a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a> pOpen)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga6ceb77291c077b05efd3b588a6a30867">NPF_StopUsingOpenInstance</a> (IN <a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a> pOpen)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">VOID&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga99878d91732973e7b4020d8e42b4cf32">NPF_CloseOpenInstance</a> (IN <a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a> pOpen)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NTSTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga8bad85679d2e8c57f7501052f9b07284">NPF_GetDeviceMTU</a> (IN <a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a> pOpen, IN PIRP pIrp, OUT PUINT pMtu)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">UINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gadd6737f745e21b37b8613b489a96687d">GetBuffOccupation</a> (<a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a> Open)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the amount of bytes present in the packet buffer. <a href="#gadd6737f745e21b37b8613b489a96687d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structJIT__BPF__Filter.html">JIT_BPF_Filter</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gab95019314e0cce415388272574f85ed7">BPF_jitter</a> (struct bpf_insn *fp, INT nins)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">BPF jitter, builds an x86 function from a BPF program. <a href="#gab95019314e0cce415388272574f85ed7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__NPF__jitter.html#ga55e96d93d223cecaa3c69437c1603c29">BPF_filter_function</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gaac4070271462268d182b0dbdbfcb1a88">BPFtoX86</a> (struct bpf_insn *ins, UINT nins, INT *mem)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Translates a set of BPF instructions in a set of x86 ones. <a href="#gaac4070271462268d182b0dbdbfcb1a88"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga8d441782c2295f2f71d32727dd3f28a0">BPF_Destroy_JIT_Filter</a> (<a class="el" href="structJIT__BPF__Filter.html">JIT_BPF_Filter</a> *Filter)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deletes a filtering function that was previously created by <a class="el" href="group__NPF__code.html#gab95019314e0cce415388272574f85ed7" title="BPF jitter, builds an x86 function from a BPF program.">BPF_jitter()</a>. <a href="#ga8d441782c2295f2f71d32727dd3f28a0"></a><br/></td></tr>
+</table>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga8d441782c2295f2f71d32727dd3f28a0"></a><!-- doxytag: member="jitter.h::BPF_Destroy_JIT_Filter" ref="ga8d441782c2295f2f71d32727dd3f28a0" args="(JIT_BPF_Filter *Filter)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void BPF_Destroy_JIT_Filter </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structJIT__BPF__Filter.html">JIT_BPF_Filter</a> *&nbsp;</td>
+ <td class="paramname"> <em>Filter</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Deletes a filtering function that was previously created by <a class="el" href="group__NPF__code.html#gab95019314e0cce415388272574f85ed7" title="BPF jitter, builds an x86 function from a BPF program.">BPF_jitter()</a>. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>Filter</em>&nbsp;</td><td>The filter to destroy.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>This function frees the variuos buffers (code, memory, etc.) associated with a filtering function. </p>
+
+</div>
+</div>
+<a class="anchor" id="gab95019314e0cce415388272574f85ed7"></a><!-- doxytag: member="jitter.h::BPF_jitter" ref="gab95019314e0cce415388272574f85ed7" args="(struct bpf_insn *fp, INT nins)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structJIT__BPF__Filter.html">JIT_BPF_Filter</a>* BPF_jitter </td>
+ <td>(</td>
+ <td class="paramtype">struct bpf_insn *&nbsp;</td>
+ <td class="paramname"> <em>fp</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">INT&nbsp;</td>
+ <td class="paramname"> <em>nins</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>BPF jitter, builds an x86 function from a BPF program. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>fp</em>&nbsp;</td><td>The BPF pseudo-assembly filter that will be translated into x86 code. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>nins</em>&nbsp;</td><td>Number of instructions of the input filter. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The <a class="el" href="structJIT__BPF__Filter.html" title="Structure describing a x86 filtering program created by the jitter.">JIT_BPF_Filter</a> structure containing the x86 filtering binary.</dd></dl>
+<p>BPF_jitter allocates the buffers for the new native filter and then translates the program pointed by fp calling <a class="el" href="group__NPF__code.html#gaac4070271462268d182b0dbdbfcb1a88" title="Translates a set of BPF instructions in a set of x86 ones.">BPFtoX86()</a>. </p>
+
+</div>
+</div>
+<a class="anchor" id="gaac4070271462268d182b0dbdbfcb1a88"></a><!-- doxytag: member="jitter.h::BPFtoX86" ref="gaac4070271462268d182b0dbdbfcb1a88" args="(struct bpf_insn *ins, UINT nins, INT *mem)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__NPF__jitter.html#ga55e96d93d223cecaa3c69437c1603c29">BPF_filter_function</a> BPFtoX86 </td>
+ <td>(</td>
+ <td class="paramtype">struct bpf_insn *&nbsp;</td>
+ <td class="paramname"> <em>ins</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">UINT&nbsp;</td>
+ <td class="paramname"> <em>nins</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">INT *&nbsp;</td>
+ <td class="paramname"> <em>mem</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Translates a set of BPF instructions in a set of x86 ones. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>ins</em>&nbsp;</td><td>Pointer to the BPF instructions that will be translated into x86 code. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>nins</em>&nbsp;</td><td>Number of instructions to translate. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>mem</em>&nbsp;</td><td>Memory used by the x86 function to emulate the RAM of the BPF pseudo processor. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The x86 filtering function.</dd></dl>
+<p>This function does the hard work for the JIT compilation. It takes a group of BPF pseudo instructions and through the instruction macros defined in <a class="el" href="jitter_8h.html">jitter.h</a> it is able to create an function directly executable by NPF. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga6502d781bd20234a06710b92d540baba"></a><!-- doxytag: member="Packet.h::DriverEntry" ref="ga6502d781bd20234a06710b92d540baba" args="(IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NTSTATUS DriverEntry </td>
+ <td>(</td>
+ <td class="paramtype">IN PDRIVER_OBJECT&nbsp;</td>
+ <td class="paramname"> <em>DriverObject</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN PUNICODE_STRING&nbsp;</td>
+ <td class="paramname"> <em>RegistryPath</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>The initialization routine of the driver. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>DriverObject</em>&nbsp;</td><td>The driver object of NPF created by the system. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>RegistryPath</em>&nbsp;</td><td>The registry path containing the keys related to the driver. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A string containing a list of network adapters.</dd></dl>
+<p>DriverEntry is a mandatory function in a device driver. Like the main() of a user level program, it is called by the system when the driver is loaded in memory and started. Its purpose is to initialize the driver, performing all the allocations and the setup. In particular, DriverEntry registers all the driver's I/O callbacks, creates the devices, defines NPF as a protocol inside NDIS. </p>
+
+</div>
+</div>
+<a class="anchor" id="gafc395636686df00f554efbd2010f73cb"></a><!-- doxytag: member="Packet.h::getAdaptersList" ref="gafc395636686df00f554efbd2010f73cb" args="(VOID)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">PWCHAR getAdaptersList </td>
+ <td>(</td>
+ <td class="paramtype">VOID&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Returns the list of the MACs available on the system. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A string containing a list of network adapters.</dd></dl>
+<p>The list of adapters is retrieved from the SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318} registry key. NPF tries to create its bindings from this list. In this way it is possible to be loaded and unloaded dynamically without passing from the control panel. </p>
+
+</div>
+</div>
+<a class="anchor" id="gadd6737f745e21b37b8613b489a96687d"></a><!-- doxytag: member="Packet.h::GetBuffOccupation" ref="gadd6737f745e21b37b8613b489a96687d" args="(POPEN_INSTANCE Open)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">UINT GetBuffOccupation </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a>&nbsp;</td>
+ <td class="paramname"> <em>Open</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Returns the amount of bytes present in the packet buffer. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>Open</em>&nbsp;</td><td>The NPF instance that closes the file. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gacf0e32b371eb9283e5cf1de0dfb15629"></a><!-- doxytag: member="Packet.h::getTcpBindings" ref="gacf0e32b371eb9283e5cf1de0dfb15629" args="(VOID)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">PKEY_VALUE_PARTIAL_INFORMATION getTcpBindings </td>
+ <td>(</td>
+ <td class="paramtype">VOID&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Returns the MACs that bind to TCP/IP. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the registry key containing the list of adapters on which TCP/IP is bound.</dd></dl>
+<p>If <a class="el" href="group__NPF__code.html#gafc395636686df00f554efbd2010f73cb" title="Returns the list of the MACs available on the system.">getAdaptersList()</a> fails, NPF tries to obtain the TCP/IP bindings through this function. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga9a78f9937b2d7d00250f49dcaeb5bab0"></a><!-- doxytag: member="Packet.h::NPF_BindAdapter" ref="ga9a78f9937b2d7d00250f49dcaeb5bab0" args="(OUT PNDIS_STATUS Status, IN NDIS_HANDLE BindContext, IN PNDIS_STRING DeviceName, IN PVOID SystemSpecific1, IN PVOID SystemSpecific2)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">VOID NPF_BindAdapter </td>
+ <td>(</td>
+ <td class="paramtype">OUT PNDIS_STATUS&nbsp;</td>
+ <td class="paramname"> <em>Status</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN NDIS_HANDLE&nbsp;</td>
+ <td class="paramname"> <em>BindContext</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN PNDIS_STRING&nbsp;</td>
+ <td class="paramname"> <em>DeviceName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN PVOID&nbsp;</td>
+ <td class="paramname"> <em>SystemSpecific1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN PVOID&nbsp;</td>
+ <td class="paramname"> <em>SystemSpecific2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Callback for NDIS BindAdapterHandler. Not used by NPF. </p>
+<p>Function called by NDIS when a new adapter is installed on the machine With Plug and Play. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga9a97dd25ae757da4bfed3723a4eb4bce"></a><!-- doxytag: member="Packet.h::NPF_BufferedWrite" ref="ga9a97dd25ae757da4bfed3723a4eb4bce" args="(IN PIRP Irp, IN PCHAR UserBuff, IN ULONG UserBuffSize, BOOLEAN sync)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">INT NPF_BufferedWrite </td>
+ <td>(</td>
+ <td class="paramtype">IN PIRP&nbsp;</td>
+ <td class="paramname"> <em>Irp</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN PCHAR&nbsp;</td>
+ <td class="paramname"> <em>UserBuff</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN ULONG&nbsp;</td>
+ <td class="paramname"> <em>UserBuffSize</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">BOOLEAN&nbsp;</td>
+ <td class="paramname"> <em>sync</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Writes a buffer of raw packets to the network. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>Irp</em>&nbsp;</td><td>Pointer to the IRP containing the user request. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>UserBuff</em>&nbsp;</td><td>Pointer to the buffer containing the packets to send. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>UserBuffSize</em>&nbsp;</td><td>Size of the buffer with the packets. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>sync</em>&nbsp;</td><td>If set to TRUE, the packets are transmitted respecting their timestamps. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The amount of bytes actually sent. If the return value is smaller than the Size parameter, an error occurred during the send. The error can be caused by an adapter problem or by an inconsistent/bogus user buffer.</dd></dl>
+<p>This function is called by the OS in consequence of a BIOCSENDPACKETSNOSYNC or a BIOCSENDPACKETSSYNC IOCTL. The buffer received as input parameter contains an arbitrary number of packets, each of which preceded by a <a class="el" href="structsf__pkthdr.html" title="Header associated to a packet in the driver&#39;s buffer when the driver is in dump...">sf_pkthdr</a> structure. <a class="el" href="group__NPF__code.html#ga9a97dd25ae757da4bfed3723a4eb4bce" title="Writes a buffer of raw packets to the network.">NPF_BufferedWrite()</a> scans the buffer and sends every packet via the NdisSend() function. When Sync is set to TRUE, the packets are synchronized with the KeQueryPerformanceCounter() function. This requires a remarkable amount of CPU, but allows to respect the timestamps associated with packets with a precision of some microseconds (depending on the precision of the performance counter of the machine). If Sync is false, the timestamps are ignored and the packets are sent as fat as possible. </p>
+
+</div>
+</div>
+<a class="anchor" id="gafae94a0e7fda8de180cff6e596cc2803"></a><!-- doxytag: member="Packet.h::NPF_Cleanup" ref="gafae94a0e7fda8de180cff6e596cc2803" args="(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NTSTATUS NPF_Cleanup </td>
+ <td>(</td>
+ <td class="paramtype">IN PDEVICE_OBJECT&nbsp;</td>
+ <td class="paramname"> <em>DeviceObject</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN PIRP&nbsp;</td>
+ <td class="paramname"> <em>Irp</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Closes an instance of the driver. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>DeviceObject</em>&nbsp;</td><td>Pointer to the device object utilized by the user. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Irp</em>&nbsp;</td><td>Pointer to the IRP containing the user request. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The status of the operation. See ntstatus.h in the DDK.</dd></dl>
+<p>This function is called when a running instance of the driver is closed by the user with a CloseHandle(). It stops the capture/monitoring/dump process, deallocates the memory and the objects associated with the instance and closing the files. The network adapter is then closed with a call to NdisCloseAdapter. </p>
+
+</div>
+</div>
+<a class="anchor" id="gaf8b70be389645c912cf09f1e9ea4b975"></a><!-- doxytag: member="Packet.h::NPF_Close" ref="gaf8b70be389645c912cf09f1e9ea4b975" args="(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NTSTATUS NPF_Close </td>
+ <td>(</td>
+ <td class="paramtype">IN PDEVICE_OBJECT&nbsp;</td>
+ <td class="paramname"> <em>DeviceObject</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN PIRP&nbsp;</td>
+ <td class="paramname"> <em>Irp</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ga300118a9a6cc28c2c880f6bb39d86b53"></a><!-- doxytag: member="Packet.h::NPF_CloseAdapterComplete" ref="ga300118a9a6cc28c2c880f6bb39d86b53" args="(IN NDIS_HANDLE ProtocolBindingContext, IN NDIS_STATUS Status)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">VOID NPF_CloseAdapterComplete </td>
+ <td>(</td>
+ <td class="paramtype">IN NDIS_HANDLE&nbsp;</td>
+ <td class="paramname"> <em>ProtocolBindingContext</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN NDIS_STATUS&nbsp;</td>
+ <td class="paramname"> <em>Status</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Ends the closing of an adapter. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>ProtocolBindingContext</em>&nbsp;</td><td>Context of the function. Contains a pointer to the OPEN_INSTANCE structure associated with the current instance. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Status</em>&nbsp;</td><td>Status of the close operation performed by NDIS.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>Callback function associated with the NdisCloseAdapter() NDIS function. It is invoked by NDIS when the NIC driver has finished a close operation that was previously started by <a class="el" href="group__NPF__code.html#gaf8b70be389645c912cf09f1e9ea4b975">NPF_Close()</a>. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga76d4e48415cea8e0e65ba93d7355b89f"></a><!-- doxytag: member="Packet.h::NPF_CloseBinding" ref="ga76d4e48415cea8e0e65ba93d7355b89f" args="(IN POPEN_INSTANCE pOpen)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">VOID NPF_CloseBinding </td>
+ <td>(</td>
+ <td class="paramtype">IN <a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a>&nbsp;</td>
+ <td class="paramname"> <em>pOpen</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="gac911742b9f71c12c77452614db14c4a1"></a><!-- doxytag: member="Packet.h::NPF_CloseDumpFile" ref="gac911742b9f71c12c77452614db14c4a1" args="(POPEN_INSTANCE Open)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NTSTATUS NPF_CloseDumpFile </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a>&nbsp;</td>
+ <td class="paramname"> <em>Open</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Closes the dump file associated with an instance of the driver. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>Open</em>&nbsp;</td><td>The NPF instance that closes the file. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The status of the operation. See ntstatus.h in the DDK. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga99878d91732973e7b4020d8e42b4cf32"></a><!-- doxytag: member="Packet.h::NPF_CloseOpenInstance" ref="ga99878d91732973e7b4020d8e42b4cf32" args="(IN POPEN_INSTANCE pOpen)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">VOID NPF_CloseOpenInstance </td>
+ <td>(</td>
+ <td class="paramtype">IN <a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a>&nbsp;</td>
+ <td class="paramname"> <em>pOpen</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ga5d152d59c86209c5128ac788a7ae61b3"></a><!-- doxytag: member="Packet.h::NPF_CreateDevice" ref="ga5d152d59c86209c5128ac788a7ae61b3" args="(IN OUT PDRIVER_OBJECT adriverObjectP, IN PUNICODE_STRING amacNameP)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">BOOLEAN NPF_CreateDevice </td>
+ <td>(</td>
+ <td class="paramtype">IN OUT PDRIVER_OBJECT&nbsp;</td>
+ <td class="paramname"> <em>adriverObjectP</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN PUNICODE_STRING&nbsp;</td>
+ <td class="paramname"> <em>amacNameP</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Creates a device for a given MAC. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>adriverObjectP</em>&nbsp;</td><td>The driver object that will be associated with the device, i.e. the one of NPF. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>amacNameP</em>&nbsp;</td><td>The name of the network interface that the device will point. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>If the function succeeds, the return value is nonzero.</dd></dl>
+<p>NPF creates a device for every valid network adapter. The new device points to the NPF driver, but contains information about the original device. In this way, when the user opens the new device, NPF will be able to determine the correct adapter to use. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga1566082cef91cf79ba4a855e3f44ede9"></a><!-- doxytag: member="Packet.h::NPF_DumpThread" ref="ga1566082cef91cf79ba4a855e3f44ede9" args="(PVOID Open)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">VOID NPF_DumpThread </td>
+ <td>(</td>
+ <td class="paramtype">PVOID&nbsp;</td>
+ <td class="paramname"> <em>Open</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>The dump thread. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>Open</em>&nbsp;</td><td>The NPF instance that creates the thread.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>This function moves the content of the NPF kernel buffer to file. It runs in the user context, so at lower priority than the TAP. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga8bad85679d2e8c57f7501052f9b07284"></a><!-- doxytag: member="Packet.h::NPF_GetDeviceMTU" ref="ga8bad85679d2e8c57f7501052f9b07284" args="(IN POPEN_INSTANCE pOpen, IN PIRP pIrp, OUT PUINT pMtu)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NTSTATUS NPF_GetDeviceMTU </td>
+ <td>(</td>
+ <td class="paramtype">IN <a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a>&nbsp;</td>
+ <td class="paramname"> <em>pOpen</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN PIRP&nbsp;</td>
+ <td class="paramname"> <em>pIrp</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">OUT PUINT&nbsp;</td>
+ <td class="paramname"> <em>pMtu</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="gad8b208720b6e5149dabcd7fb058b16f7"></a><!-- doxytag: member="Packet.h::NPF_IoControl" ref="gad8b208720b6e5149dabcd7fb058b16f7" args="(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NTSTATUS NPF_IoControl </td>
+ <td>(</td>
+ <td class="paramtype">IN PDEVICE_OBJECT&nbsp;</td>
+ <td class="paramname"> <em>DeviceObject</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN PIRP&nbsp;</td>
+ <td class="paramname"> <em>Irp</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Handles the IOCTL calls. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>DeviceObject</em>&nbsp;</td><td>Pointer to the device object utilized by the user. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Irp</em>&nbsp;</td><td>Pointer to the IRP containing the user request. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The status of the operation. See ntstatus.h in the DDK.</dd></dl>
+<p>Once the packet capture driver is opened it can be configured from user-level applications with IOCTL commands using the DeviceIoControl() system call. NPF_IoControl receives and serves all the IOCTL calls directed to NPF. The following commands are recognized:</p>
+<ul>
+<li><a class="el" href="group__NPF__ioctl.html#ga71817d3a52bf0ec819934a5f688a172c" title="IOCTL code: set kernel buffer size.">BIOCSETBUFFERSIZE</a></li>
+<li><a class="el" href="group__NPF__ioctl.html#gaf85f500f68404076ac60ffe6e08818da" title="IOCTL code: set packet filtering program.">BIOCSETF</a></li>
+<li><a class="el" href="group__NPF__ioctl.html#ga8ae8be8faa281644d8be1cda38b826bd" title="IOCTL code: get the capture stats.">BIOCGSTATS</a></li>
+<li><a class="el" href="group__NPF__ioctl.html#ga327015c2b2e347212b571d1fa3aa2f54" title="IOCTL code: set the read timeout.">BIOCSRTIMEOUT</a></li>
+<li><a class="el" href="group__NPF__ioctl.html#gad1012b82859d09864d246b1fa99d48d6" title="IOCTL code: set working mode.">BIOCSMODE</a></li>
+<li><a class="el" href="group__NPF__ioctl.html#ga1436997ce2947bbbe22b5400254438a1" title="IOCTL code: set number of physical repetions of every packet written by the app.">BIOCSWRITEREP</a></li>
+<li><a class="el" href="group__NPF__ioctl.html#gaa827e3441e3f84abc7df5e30fcee96d1" title="IOCTL code: set minimum amount of data in the kernel buffer that unlocks a read call...">BIOCSMINTOCOPY</a></li>
+<li><a class="el" href="group__NPF__ioctl.html#gabf9a4779fd5281607510edc8b5d766dd" title="IOCTL code: set an OID value.">BIOCSETOID</a></li>
+<li><a class="el" href="group__NPF__ioctl.html#ga5a0ab3231052ff323817e288dab2f127" title="IOCTL code: get an OID value.">BIOCQUERYOID</a></li>
+<li><a class="el" href="group__NPF__ioctl.html#gac8b51f8abae12f57a2ea8e8e4c0cd53c" title="IOCTL code: set the name of a the file used by kernel dump mode.">BIOCSETDUMPFILENAME</a></li>
+<li><a class="el" href="group__NPF__ioctl.html#gadd9e03a96d297a33d7cee4d750c34eff" title="IOCTL code: get the name of the event that the driver signals when some data is present...">BIOCGEVNAME</a></li>
+<li><a class="el" href="group__NPF__ioctl.html#gab4d41e91e460bb101ef8ddb622a8e010" title="IOCTL code: Send a buffer containing multiple packets to the network, considering...">BIOCSENDPACKETSSYNC</a></li>
+<li><a class="el" href="group__NPF__ioctl.html#gac50830dc08762383dcb203a66e5c853d" title="IOCTL code: Send a buffer containing multiple packets to the network, ignoring the...">BIOCSENDPACKETSNOSYNC</a> </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga82e557625e52fe4395bbe2e494fe8c4a"></a><!-- doxytag: member="Packet.h::NPF_Open" ref="ga82e557625e52fe4395bbe2e494fe8c4a" args="(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NTSTATUS NPF_Open </td>
+ <td>(</td>
+ <td class="paramtype">IN PDEVICE_OBJECT&nbsp;</td>
+ <td class="paramname"> <em>DeviceObject</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN PIRP&nbsp;</td>
+ <td class="paramname"> <em>Irp</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Opens a new instance of the driver. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>DeviceObject</em>&nbsp;</td><td>Pointer to the device object utilized by the user. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Irp</em>&nbsp;</td><td>Pointer to the IRP containing the user request. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The status of the operation. See ntstatus.h in the DDK.</dd></dl>
+<p>This function is called by the OS when a new instance of the driver is opened, i.e. when a user application performs a CreateFile on a device created by NPF. NPF_Open allocates and initializes variables, objects and buffers needed by the new instance, fills the OPEN_INSTANCE structure associated with it and opens the adapter with a call to NdisOpenAdapter. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga155ae51be29c6d36f8109781b8f6e7b2"></a><!-- doxytag: member="Packet.h::NPF_OpenAdapterComplete" ref="ga155ae51be29c6d36f8109781b8f6e7b2" args="(IN NDIS_HANDLE ProtocolBindingContext, IN NDIS_STATUS Status, IN NDIS_STATUS OpenErrorStatus)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">VOID NPF_OpenAdapterComplete </td>
+ <td>(</td>
+ <td class="paramtype">IN NDIS_HANDLE&nbsp;</td>
+ <td class="paramname"> <em>ProtocolBindingContext</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN NDIS_STATUS&nbsp;</td>
+ <td class="paramname"> <em>Status</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN NDIS_STATUS&nbsp;</td>
+ <td class="paramname"> <em>OpenErrorStatus</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Ends the opening of an adapter. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>ProtocolBindingContext</em>&nbsp;</td><td>Context of the function. Contains a pointer to the OPEN_INSTANCE structure associated with the current instance. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Status</em>&nbsp;</td><td>Status of the opening operation performed by NDIS. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>OpenErrorStatus</em>&nbsp;</td><td>not used by NPF.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>Callback function associated with the NdisOpenAdapter() NDIS function. It is invoked by NDIS when the NIC driver has finished an open operation that was previously started by <a class="el" href="group__NPF__code.html#ga82e557625e52fe4395bbe2e494fe8c4a" title="Opens a new instance of the driver.">NPF_Open()</a>. </p>
+
+</div>
+</div>
+<a class="anchor" id="gae3d1118c72b474fe214517a65afdfe09"></a><!-- doxytag: member="Packet.h::NPF_OpenDumpFile" ref="gae3d1118c72b474fe214517a65afdfe09" args="(POPEN_INSTANCE Open, PUNICODE_STRING fileName, BOOLEAN append)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NTSTATUS NPF_OpenDumpFile </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a>&nbsp;</td>
+ <td class="paramname"> <em>Open</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">PUNICODE_STRING&nbsp;</td>
+ <td class="paramname"> <em>fileName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">BOOLEAN&nbsp;</td>
+ <td class="paramname"> <em>append</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Creates the file that will receive the packets when the driver is in dump mode. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>Open</em>&nbsp;</td><td>The NPF instance that opens the file. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>fileName</em>&nbsp;</td><td>Pointer to a UNICODE string containing the name of the file. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>append</em>&nbsp;</td><td>Boolean value that specifies if the data must be appended to the file. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The status of the operation. See ntstatus.h in the DDK. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga8831b54dcd5361e81ddf0d3165f1fb8f"></a><!-- doxytag: member="Packet.h::NPF_QueryRegistryRoutine" ref="ga8831b54dcd5361e81ddf0d3165f1fb8f" args="(IN PWSTR ValueName, IN ULONG ValueType, IN PVOID ValueData, IN ULONG ValueLength, IN PVOID Context, IN PVOID EntryContext)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NTSTATUS NPF_QueryRegistryRoutine </td>
+ <td>(</td>
+ <td class="paramtype">IN PWSTR&nbsp;</td>
+ <td class="paramname"> <em>ValueName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN ULONG&nbsp;</td>
+ <td class="paramname"> <em>ValueType</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN PVOID&nbsp;</td>
+ <td class="paramname"> <em>ValueData</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN ULONG&nbsp;</td>
+ <td class="paramname"> <em>ValueLength</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN PVOID&nbsp;</td>
+ <td class="paramname"> <em>Context</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN PVOID&nbsp;</td>
+ <td class="paramname"> <em>EntryContext</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Function used by <a class="el" href="group__NPF__code.html#ga1a3ce25625792c74e5792b8fa86a489c" title="Reads the registry keys associated woth NPF if the driver is manually installed via...">NPF_ReadRegistry()</a> to quesry the registry keys associated woth NPF if the driver is manually installed via the control panel. </p>
+<p>Normally not used in recent versions of NPF. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga827b1433b2d08cbac11b3844d721668f"></a><!-- doxytag: member="Packet.h::NPF_Read" ref="ga827b1433b2d08cbac11b3844d721668f" args="(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NTSTATUS NPF_Read </td>
+ <td>(</td>
+ <td class="paramtype">IN PDEVICE_OBJECT&nbsp;</td>
+ <td class="paramname"> <em>DeviceObject</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN PIRP&nbsp;</td>
+ <td class="paramname"> <em>Irp</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Function that serves the user's reads. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>DeviceObject</em>&nbsp;</td><td>Pointer to the device used by the user. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Irp</em>&nbsp;</td><td>Pointer to the IRP containing the user request. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The status of the operation. See ntstatus.h in the DDK.</dd></dl>
+<p>This function is called by the OS in consequence of user ReadFile() call. It moves the data present in the kernel buffer to the user buffer associated with Irp. First of all, NPF_Read checks the amount of data in kernel buffer associated with current NPF instance.</p>
+<ul>
+<li>If the instance is in capture mode and the buffer contains more than <a class="el" href="struct__OPEN__INSTANCE.html#a263f7d6f5db5625541d275380685f0b1">OPEN_INSTANCE::MinToCopy</a> bytes, NPF_Read moves the data in the user buffer and returns immediatly. In this way, the read performed by the user is not blocking.</li>
+<li>If the buffer contains less than MinToCopy bytes, the application's request isn't satisfied immediately, but it's blocked until at least MinToCopy bytes arrive from the net or the timeout on this read expires. The timeout is kept in the <a class="el" href="struct__OPEN__INSTANCE.html#aa6709070de8443c026e3b86913942c2b">OPEN_INSTANCE::TimeOut</a> field.</li>
+<li>If the instance is in statistical mode or in dump mode, the application's request is blocked until the timeout kept in <a class="el" href="struct__OPEN__INSTANCE.html#aa6709070de8443c026e3b86913942c2b">OPEN_INSTANCE::TimeOut</a> expires. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="ga1a3ce25625792c74e5792b8fa86a489c"></a><!-- doxytag: member="Packet.h::NPF_ReadRegistry" ref="ga1a3ce25625792c74e5792b8fa86a489c" args="(IN PWSTR *MacDriverName, IN PWSTR *PacketDriverName, IN PUNICODE_STRING RegistryPath)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NTSTATUS NPF_ReadRegistry </td>
+ <td>(</td>
+ <td class="paramtype">IN PWSTR *&nbsp;</td>
+ <td class="paramname"> <em>MacDriverName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN PWSTR *&nbsp;</td>
+ <td class="paramname"> <em>PacketDriverName</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN PUNICODE_STRING&nbsp;</td>
+ <td class="paramname"> <em>RegistryPath</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Reads the registry keys associated woth NPF if the driver is manually installed via the control panel. </p>
+<p>Normally not used in recent versions of NPF. </p>
+
+</div>
+</div>
+<a class="anchor" id="gae7863db01a628ed11324c49953195855"></a><!-- doxytag: member="Packet.h::NPF_ReceiveComplete" ref="gae7863db01a628ed11324c49953195855" args="(IN NDIS_HANDLE ProtocolBindingContext)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">VOID NPF_ReceiveComplete </td>
+ <td>(</td>
+ <td class="paramtype">IN NDIS_HANDLE&nbsp;</td>
+ <td class="paramname"> <em>ProtocolBindingContext</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Callback function that signals the end of a packet reception. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>ProtocolBindingContext</em>&nbsp;</td><td>Context of the function. Contains a pointer to the OPEN_INSTANCE structure associated with the current instance.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>does nothing in NPF </p>
+
+</div>
+</div>
+<a class="anchor" id="ga4ff37c0fd3273f829a1f84b9ab40755b"></a><!-- doxytag: member="Packet.h::NPF_RequestComplete" ref="ga4ff37c0fd3273f829a1f84b9ab40755b" args="(IN NDIS_HANDLE ProtocolBindingContext, IN PNDIS_REQUEST pRequest, IN NDIS_STATUS Status)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">VOID NPF_RequestComplete </td>
+ <td>(</td>
+ <td class="paramtype">IN NDIS_HANDLE&nbsp;</td>
+ <td class="paramname"> <em>ProtocolBindingContext</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN PNDIS_REQUEST&nbsp;</td>
+ <td class="paramname"> <em>pRequest</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN NDIS_STATUS&nbsp;</td>
+ <td class="paramname"> <em>Status</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Ends an OID request. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>ProtocolBindingContext</em>&nbsp;</td><td>Context of the function. Contains a pointer to the OPEN_INSTANCE structure associated with the current instance. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>pRequest</em>&nbsp;</td><td>Pointer to the completed OID request. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Status</em>&nbsp;</td><td>Status of the operation.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>Callback function associated with the NdisRequest() NDIS function. It is invoked by NDIS when the NIC driver has finished an OID request operation that was previously started by <a class="el" href="group__NPF__code.html#gad8b208720b6e5149dabcd7fb058b16f7" title="Handles the IOCTL calls.">NPF_IoControl()</a>. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga4e7934d9adb1826ed5e9112b9182f74a"></a><!-- doxytag: member="Packet.h::NPF_ResetComplete" ref="ga4e7934d9adb1826ed5e9112b9182f74a" args="(IN NDIS_HANDLE ProtocolBindingContext, IN NDIS_STATUS Status)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">VOID NPF_ResetComplete </td>
+ <td>(</td>
+ <td class="paramtype">IN NDIS_HANDLE&nbsp;</td>
+ <td class="paramname"> <em>ProtocolBindingContext</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN NDIS_STATUS&nbsp;</td>
+ <td class="paramname"> <em>Status</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Ends a reset of the adapter. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>ProtocolBindingContext</em>&nbsp;</td><td>Context of the function. Contains a pointer to the OPEN_INSTANCE structure associated with the current instance. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Status</em>&nbsp;</td><td>Status of the operation.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>Callback function associated with the NdisReset() NDIS function. It is invoked by NDIS when the NIC driver has finished an OID request operation that was previously started by <a class="el" href="group__NPF__code.html#gad8b208720b6e5149dabcd7fb058b16f7" title="Handles the IOCTL calls.">NPF_IoControl()</a>, in an IOCTL_PROTOCOL_RESET command. </p>
+
+</div>
+</div>
+<a class="anchor" id="gafcdcf5a4d9bfb8fbdb179963d4c789bd"></a><!-- doxytag: member="Packet.h::NPF_SaveCurrentBuffer" ref="gafcdcf5a4d9bfb8fbdb179963d4c789bd" args="(POPEN_INSTANCE Open)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NTSTATUS NPF_SaveCurrentBuffer </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a>&nbsp;</td>
+ <td class="paramname"> <em>Open</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Saves the content of the packet buffer to the file associated with current instance. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>Open</em>&nbsp;</td><td>The NPF instance that creates the thread.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>Used by <a class="el" href="group__NPF__code.html#ga1566082cef91cf79ba4a855e3f44ede9" title="The dump thread.">NPF_DumpThread()</a> and <a class="el" href="group__NPF__code.html#gac911742b9f71c12c77452614db14c4a1" title="Closes the dump file associated with an instance of the driver.">NPF_CloseDumpFile()</a>. </p>
+
+</div>
+</div>
+<a class="anchor" id="gaed126572458eed2dcd18d1824ac86601"></a><!-- doxytag: member="Packet.h::NPF_SendComplete" ref="gaed126572458eed2dcd18d1824ac86601" args="(IN NDIS_HANDLE ProtocolBindingContext, IN PNDIS_PACKET pPacket, IN NDIS_STATUS Status)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">VOID NPF_SendComplete </td>
+ <td>(</td>
+ <td class="paramtype">IN NDIS_HANDLE&nbsp;</td>
+ <td class="paramname"> <em>ProtocolBindingContext</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN PNDIS_PACKET&nbsp;</td>
+ <td class="paramname"> <em>pPacket</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN NDIS_STATUS&nbsp;</td>
+ <td class="paramname"> <em>Status</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Ends a send operation. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>ProtocolBindingContext</em>&nbsp;</td><td>Context of the function. Contains a pointer to the OPEN_INSTANCE structure associated with the current instance. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>pPacket</em>&nbsp;</td><td>Pointer to the NDIS PACKET structure used by <a class="el" href="group__NPF__code.html#ga595338435296a4d1e15363ebfcb3a38c" title="Writes a raw packet to the network.">NPF_Write()</a> to send the packet. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Status</em>&nbsp;</td><td>Status of the operation.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>Callback function associated with the NdisSend() NDIS function. It is invoked by NDIS when the NIC driver has finished an OID request operation that was previously started by <a class="el" href="group__NPF__code.html#ga595338435296a4d1e15363ebfcb3a38c" title="Writes a raw packet to the network.">NPF_Write()</a>. </p>
+
+</div>
+</div>
+<a class="anchor" id="gaeffce124cbc3e3ae09bd7a6d10367cbb"></a><!-- doxytag: member="Packet.h::NPF_StartDump" ref="gaeffce124cbc3e3ae09bd7a6d10367cbb" args="(POPEN_INSTANCE Open)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NTSTATUS NPF_StartDump </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a>&nbsp;</td>
+ <td class="paramname"> <em>Open</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Starts dump to file. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>Open</em>&nbsp;</td><td>The NPF instance that opens the file. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The status of the operation. See ntstatus.h in the DDK.</dd></dl>
+<p>This function performs two operations. First, it writes the libpcap header at the beginning of the file. Second, it starts the thread that asynchronously dumps the network data to the file. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga64dab96bfced5d22cc55a42fc6339833"></a><!-- doxytag: member="Packet.h::NPF_StartUsingBinding" ref="ga64dab96bfced5d22cc55a42fc6339833" args="(IN POPEN_INSTANCE pOpen)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">BOOLEAN NPF_StartUsingBinding </td>
+ <td>(</td>
+ <td class="paramtype">IN <a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a>&nbsp;</td>
+ <td class="paramname"> <em>pOpen</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ga504e61b1229a9a604080fc8607b24084"></a><!-- doxytag: member="Packet.h::NPF_StartUsingOpenInstance" ref="ga504e61b1229a9a604080fc8607b24084" args="(IN POPEN_INSTANCE pOpen)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">BOOLEAN NPF_StartUsingOpenInstance </td>
+ <td>(</td>
+ <td class="paramtype">IN <a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a>&nbsp;</td>
+ <td class="paramname"> <em>pOpen</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ga1a8cf4fdeed6e93fcf1f50da654402b7"></a><!-- doxytag: member="Packet.h::NPF_Status" ref="ga1a8cf4fdeed6e93fcf1f50da654402b7" args="(IN NDIS_HANDLE ProtocolBindingContext, IN NDIS_STATUS Status, IN PVOID StatusBuffer, IN UINT StatusBufferSize)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">VOID NPF_Status </td>
+ <td>(</td>
+ <td class="paramtype">IN NDIS_HANDLE&nbsp;</td>
+ <td class="paramname"> <em>ProtocolBindingContext</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN NDIS_STATUS&nbsp;</td>
+ <td class="paramname"> <em>Status</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN PVOID&nbsp;</td>
+ <td class="paramname"> <em>StatusBuffer</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN UINT&nbsp;</td>
+ <td class="paramname"> <em>StatusBufferSize</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Callback for NDIS StatusHandler. Not used by NPF. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga70f97109adcd6de8b157534e5ecf2e56"></a><!-- doxytag: member="Packet.h::NPF_StatusComplete" ref="ga70f97109adcd6de8b157534e5ecf2e56" args="(IN NDIS_HANDLE ProtocolBindingContext)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">VOID NPF_StatusComplete </td>
+ <td>(</td>
+ <td class="paramtype">IN NDIS_HANDLE&nbsp;</td>
+ <td class="paramname"> <em>ProtocolBindingContext</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Callback for NDIS StatusCompleteHandler. Not used by NPF. </p>
+
+</div>
+</div>
+<a class="anchor" id="gacd54077d4c2d9186486d3504523ba4f0"></a><!-- doxytag: member="Packet.h::NPF_StopUsingBinding" ref="gacd54077d4c2d9186486d3504523ba4f0" args="(IN POPEN_INSTANCE pOpen)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">VOID NPF_StopUsingBinding </td>
+ <td>(</td>
+ <td class="paramtype">IN <a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a>&nbsp;</td>
+ <td class="paramname"> <em>pOpen</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ga6ceb77291c077b05efd3b588a6a30867"></a><!-- doxytag: member="Packet.h::NPF_StopUsingOpenInstance" ref="ga6ceb77291c077b05efd3b588a6a30867" args="(IN POPEN_INSTANCE pOpen)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">VOID NPF_StopUsingOpenInstance </td>
+ <td>(</td>
+ <td class="paramtype">IN <a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a>&nbsp;</td>
+ <td class="paramname"> <em>pOpen</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ga92f84ced372baf09f1c00a6b252a0564"></a><!-- doxytag: member="Packet.h::NPF_tap" ref="ga92f84ced372baf09f1c00a6b252a0564" args="(IN NDIS_HANDLE ProtocolBindingContext, IN NDIS_HANDLE MacReceiveContext, IN PVOID HeaderBuffer, IN UINT HeaderBufferSize, IN PVOID LookAheadBuffer, IN UINT LookaheadBufferSize, IN UINT PacketSize)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NDIS_STATUS NPF_tap </td>
+ <td>(</td>
+ <td class="paramtype">IN NDIS_HANDLE&nbsp;</td>
+ <td class="paramname"> <em>ProtocolBindingContext</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN NDIS_HANDLE&nbsp;</td>
+ <td class="paramname"> <em>MacReceiveContext</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN PVOID&nbsp;</td>
+ <td class="paramname"> <em>HeaderBuffer</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN UINT&nbsp;</td>
+ <td class="paramname"> <em>HeaderBufferSize</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN PVOID&nbsp;</td>
+ <td class="paramname"> <em>LookAheadBuffer</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN UINT&nbsp;</td>
+ <td class="paramname"> <em>LookaheadBufferSize</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN UINT&nbsp;</td>
+ <td class="paramname"> <em>PacketSize</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Callback invoked by NDIS when a packet arrives from the network. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>ProtocolBindingContext</em>&nbsp;</td><td>Context of the function. Points to a OPEN_INSTANCE structure that identifies the NPF instance to which the packets are destined. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>MacReceiveContext</em>&nbsp;</td><td>Handle that identifies the underlying NIC driver that generated the request. This value must be used when the packet is transferred from the NIC driver with NdisTransferData(). </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>HeaderBuffer</em>&nbsp;</td><td>Pointer to the buffer in the NIC driver memory that contains the header of the packet. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>HeaderBufferSize</em>&nbsp;</td><td>Size in bytes of the header. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>LookAheadBuffer</em>&nbsp;</td><td>Pointer to the buffer in the NIC driver's memory that contains the incoming packet's data <b>available to NPF</b>. This value does not necessarily coincide with the actual size of the packet, since only a portion can be available at this time. The remaining portion can be obtained with the NdisTransferData() NDIS function. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>LookaheadBufferSize</em>&nbsp;</td><td>Size in bytes of the lookahead buffer. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>PacketSize</em>&nbsp;</td><td>Total size of the incoming packet, excluded the header. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The status of the operation. See ntstatus.h in the DDK.</dd></dl>
+<p><a class="el" href="group__NPF__code.html#ga92f84ced372baf09f1c00a6b252a0564" title="Callback invoked by NDIS when a packet arrives from the network.">NPF_tap()</a> is called by the underlying NIC for every incoming packet. It is the most important and one of the most complex functions of NPF: it executes the filter, runs the statistical engine (if the instance is in statistical mode), gathers the timestamp, moves the packet in the buffer. <a class="el" href="group__NPF__code.html#ga92f84ced372baf09f1c00a6b252a0564" title="Callback invoked by NDIS when a packet arrives from the network.">NPF_tap()</a> is the only function, along with the filtering ones, that is executed for every incoming packet, therefore it is carefully optimized. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga0c34f931d6718be202c7c62406f279fd"></a><!-- doxytag: member="Packet.h::NPF_TransferDataComplete" ref="ga0c34f931d6718be202c7c62406f279fd" args="(IN NDIS_HANDLE ProtocolBindingContext, IN PNDIS_PACKET Packet, IN NDIS_STATUS Status, IN UINT BytesTransferred)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">VOID NPF_TransferDataComplete </td>
+ <td>(</td>
+ <td class="paramtype">IN NDIS_HANDLE&nbsp;</td>
+ <td class="paramname"> <em>ProtocolBindingContext</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN PNDIS_PACKET&nbsp;</td>
+ <td class="paramname"> <em>Packet</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN NDIS_STATUS&nbsp;</td>
+ <td class="paramname"> <em>Status</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN UINT&nbsp;</td>
+ <td class="paramname"> <em>BytesTransferred</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Ends the transfer of a packet. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>ProtocolBindingContext</em>&nbsp;</td><td>Context of the function. Contains a pointer to the OPEN_INSTANCE structure associated with the current instance. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Packet</em>&nbsp;</td><td>Pointer to the NDIS_PACKET structure that received the packet data. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Status</em>&nbsp;</td><td>Status of the transfer operation. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>BytesTransferred</em>&nbsp;</td><td>Amount of bytes transferred.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>Callback function associated with the NdisTransferData() NDIS function. It is invoked by NDIS when the NIC driver has finished the transfer of a packet from the NIC driver memory to the NPF circular buffer. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga54d94e883ff4c580289eefaf0d1fc356"></a><!-- doxytag: member="Packet.h::NPF_UnbindAdapter" ref="ga54d94e883ff4c580289eefaf0d1fc356" args="(OUT PNDIS_STATUS Status, IN NDIS_HANDLE ProtocolBindingContext, IN NDIS_HANDLE UnbindContext)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">VOID NPF_UnbindAdapter </td>
+ <td>(</td>
+ <td class="paramtype">OUT PNDIS_STATUS&nbsp;</td>
+ <td class="paramname"> <em>Status</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN NDIS_HANDLE&nbsp;</td>
+ <td class="paramname"> <em>ProtocolBindingContext</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN NDIS_HANDLE&nbsp;</td>
+ <td class="paramname"> <em>UnbindContext</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Callback for NDIS UnbindAdapterHandler. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>Status</em>&nbsp;</td><td>out variable filled by NPF_UnbindAdapter with the status of the unbind operation. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>ProtocolBindingContext</em>&nbsp;</td><td>Context of the function. Contains a pointer to the OPEN_INSTANCE structure associated with current instance. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>UnbindContext</em>&nbsp;</td><td>Specifies a handle, supplied by NDIS, that NPF can use to complete the opration.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>Function called by NDIS when a new adapter is removed from the machine without shutting it down. NPF_UnbindAdapter closes the adapter calling NdisCloseAdapter() and frees the memory and the structures associated with it. It also releases the waiting user-level app and closes the dump thread if the instance is in dump mode. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga5eb5a8e754198d1bbc6572cbc9e59b9c"></a><!-- doxytag: member="Packet.h::NPF_Unload" ref="ga5eb5a8e754198d1bbc6572cbc9e59b9c" args="(IN PDRIVER_OBJECT DriverObject)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">VOID NPF_Unload </td>
+ <td>(</td>
+ <td class="paramtype">IN PDRIVER_OBJECT&nbsp;</td>
+ <td class="paramname"> <em>DriverObject</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Function called by the OS when NPF is unloaded. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>DriverObject</em>&nbsp;</td><td>The driver object of NPF created by the system.</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>This is the last function executed when the driver is unloaded from the system. It frees global resources, delete the devices and deregisters the protocol. The driver can be unloaded by the user stopping the NPF service (from control panel or with a console 'net stop npf'). </p>
+
+</div>
+</div>
+<a class="anchor" id="ga8861b474efcb6578c9fe2075ff3e6aef"></a><!-- doxytag: member="Packet.h::NPF_WaitEndOfBufferedWrite" ref="ga8861b474efcb6578c9fe2075ff3e6aef" args="(POPEN_INSTANCE Open)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">VOID NPF_WaitEndOfBufferedWrite </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a>&nbsp;</td>
+ <td class="paramname"> <em>Open</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Waits the completion of all the sends performed by NPF_BufferedWrite. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>Open</em>&nbsp;</td><td>Pointer to open context structure</td></tr>
+ </table>
+ </dd>
+</dl>
+<p>Used by NPF_BufferedWrite to wait the completion of all the sends before returning the control to the user. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga595338435296a4d1e15363ebfcb3a38c"></a><!-- doxytag: member="Packet.h::NPF_Write" ref="ga595338435296a4d1e15363ebfcb3a38c" args="(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NTSTATUS NPF_Write </td>
+ <td>(</td>
+ <td class="paramtype">IN PDEVICE_OBJECT&nbsp;</td>
+ <td class="paramname"> <em>DeviceObject</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">IN PIRP&nbsp;</td>
+ <td class="paramname"> <em>Irp</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Writes a raw packet to the network. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>DeviceObject</em>&nbsp;</td><td>Pointer to the device object on which the user wrote the packet. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Irp</em>&nbsp;</td><td>Pointer to the IRP containing the user request. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The status of the operation. See ntstatus.h in the DDK.</dd></dl>
+<p>This function is called by the OS in consequence of user WriteFile() call, with the data of the packet that must be sent on the net. The data is contained in the buffer associated with Irp, NPF_Write takes it and delivers it to the NIC driver via the NdisSend() function. The Nwrites field of the OPEN_INSTANCE structure associated with Irp indicates the number of copies of the packet that will be sent: more than one copy of the packet can be sent for performance reasons. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga57b9ee7752f00c8858bda8ca060a033b"></a><!-- doxytag: member="Packet.h::NPF_WriteDumpFile" ref="ga57b9ee7752f00c8858bda8ca060a033b" args="(PFILE_OBJECT FileObject, PLARGE_INTEGER Offset, ULONG Length, PMDL Mdl, PIO_STATUS_BLOCK IoStatusBlock)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">VOID NPF_WriteDumpFile </td>
+ <td>(</td>
+ <td class="paramtype">PFILE_OBJECT&nbsp;</td>
+ <td class="paramname"> <em>FileObject</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">PLARGE_INTEGER&nbsp;</td>
+ <td class="paramname"> <em>Offset</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">ULONG&nbsp;</td>
+ <td class="paramname"> <em>Length</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">PMDL&nbsp;</td>
+ <td class="paramname"> <em>Mdl</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">PIO_STATUS_BLOCK&nbsp;</td>
+ <td class="paramname"> <em>IoStatusBlock</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Writes a block of packets on the dump file. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>FileObject</em>&nbsp;</td><td>The file object that will receive the packets. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Offset</em>&nbsp;</td><td>The offset in the file where the packets will be put. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Length</em>&nbsp;</td><td>The amount of bytes to write. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Mdl</em>&nbsp;</td><td>MDL mapping the memory buffer that will be written to disk. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>IoStatusBlock</em>&nbsp;</td><td>Used by the function to return the status of the operation. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The status of the operation. See ntstatus.h in the DDK.</dd></dl>
+<p>NPF_WriteDumpFile addresses directly the file system, creating a custom IRP and using it to send a portion of the NPF circular buffer to disk. This function is used by <a class="el" href="group__NPF__code.html#ga1566082cef91cf79ba4a855e3f44ede9" title="The dump thread.">NPF_DumpThread()</a>. </p>
+
+</div>
+</div>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/group__NPF__include.html b/3rdparty/winpcap/docs/html/group__NPF__include.html
new file mode 100644
index 00000000000..22a6c5fe607
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/group__NPF__include.html
@@ -0,0 +1,756 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: NPF structures and definitions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>NPF structures and definitions<br/>
+<small>
+[<a class="el" href="group__NPF.html">NPF driver internals manual</a>]</small>
+</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpacket__file__header.html">packet_file_header</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Header of a libpcap dump file. <a href="structpacket__file__header.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsf__pkthdr.html">sf_pkthdr</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Header associated to a packet in the driver's buffer when the driver is in dump mode. Similar to the bpf_hdr structure, but simpler. <a href="structsf__pkthdr.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__PACKET__OID__DATA.html">_PACKET_OID_DATA</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure containing an OID request. <a href="struct__PACKET__OID__DATA.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__INTERNAL__REQUEST.html">_INTERNAL_REQUEST</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stores an OID request. <a href="struct__INTERNAL__REQUEST.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__PACKET__RESERVED.html">_PACKET_RESERVED</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Contains a NDIS packet. <a href="struct__PACKET__RESERVED.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__DEVICE__EXTENSION.html">_DEVICE_EXTENSION</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Port device extension. <a href="struct__DEVICE__EXTENSION.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct____CPU__Private__Data.html">__CPU_Private_Data</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Kernel buffer of each CPU. <a href="struct____CPU__Private__Data.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html">_OPEN_INSTANCE</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Contains the state of a running instance of the NPF driver. <a href="struct__OPEN__INSTANCE.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPacketHeader.html">PacketHeader</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure prepended to each packet in the kernel buffer pool. <a href="structPacketHeader.html#_details">More...</a><br/></td></tr>
+<tr><td colspan="2"><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga8fc96cee4177a369a99de7026ebeba81">MAX_REQUESTS</a>&nbsp;&nbsp;&nbsp;32</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maximum number of simultaneous IOCTL requests. <a href="#ga8fc96cee4177a369a99de7026ebeba81"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga8463d2101446f74b83ed10006d772384">Packet_ALIGNMENT</a>&nbsp;&nbsp;&nbsp;sizeof(int)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Alignment macro. Defines the alignment size. <a href="#ga8463d2101446f74b83ed10006d772384"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga6ad53095b69ed77878dc683754e3264a">Packet_WORDALIGN</a>(x)&nbsp;&nbsp;&nbsp;(((x)+(Packet_ALIGNMENT-1))&amp;~(Packet_ALIGNMENT-1))</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">even multiple of Packet_ALIGNMENT. <a href="#ga6ad53095b69ed77878dc683754e3264a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga9cd2ca337001428aa9e1cb512a28ecc2">KERNEL_EVENT_NAMESPACE</a>&nbsp;&nbsp;&nbsp;L&quot;\\BaseNamedObjects\\&quot;</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#gac93c0a6ad1d2a3143b1115bdab3ac04d">MODE_CAPT</a>&nbsp;&nbsp;&nbsp;0x0</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Capture working mode. <a href="#gac93c0a6ad1d2a3143b1115bdab3ac04d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga503326906a62e96c147ae6af31fb5659">MODE_STAT</a>&nbsp;&nbsp;&nbsp;0x1</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Statistical working mode. <a href="#ga503326906a62e96c147ae6af31fb5659"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga528e7e542cb1a028a10a3a318880dffb">MODE_MON</a>&nbsp;&nbsp;&nbsp;0x2</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Kernel monitoring mode. <a href="#ga528e7e542cb1a028a10a3a318880dffb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga89853f93dc8cc890b0665629d16d2831">MODE_DUMP</a>&nbsp;&nbsp;&nbsp;0x10</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Kernel dump working mode. <a href="#ga89853f93dc8cc890b0665629d16d2831"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga4f6749b7708a411df2a3341a3fcef917">IMMEDIATE</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Immediate timeout. Forces a read call to return immediately. <a href="#ga4f6749b7708a411df2a3341a3fcef917"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga0a110077bb4fcbcc75512d8988c90de8">NDIS_FLAGS_SKIP_LOOPBACK_W2K</a>&nbsp;&nbsp;&nbsp;0x400</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an undocumented flag for NdisSetPacketFlags() that allows to disable loopback reception. <a href="#ga0a110077bb4fcbcc75512d8988c90de8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#gafedcc0aa0cf5abe7b20c68eefdfcb126">TCPDUMP_MAGIC</a>&nbsp;&nbsp;&nbsp;0xa1b2c3d4</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Libpcap magic number. Used by programs like tcpdump to recognize a driver's generated dump file. <a href="#gafedcc0aa0cf5abe7b20c68eefdfcb126"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#gaac031371d41e21ff96e80409e05a7ddb">PCAP_VERSION_MAJOR</a>&nbsp;&nbsp;&nbsp;2</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Major libpcap version of the dump file. Used by programs like tcpdump to recognize a driver's generated dump file. <a href="#gaac031371d41e21ff96e80409e05a7ddb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga9c200b070c9f626d38184588b16849c2">PCAP_VERSION_MINOR</a>&nbsp;&nbsp;&nbsp;4</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Minor libpcap version of the dump file. Used by programs like tcpdump to recognize a driver's generated dump file. <a href="#ga9c200b070c9f626d38184588b16849c2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga7ccc8974741059b5ae25231a56dbed09">NPF_DISABLE_LOOPBACK</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tells the driver to drop the packets sent by itself. This is usefult when building applications like bridges. <a href="#ga7ccc8974741059b5ae25231a56dbed09"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga4a60d1f215d5b2af2b3b86a0f2a90ae2">NPF_ENABLE_LOOPBACK</a>&nbsp;&nbsp;&nbsp;2</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tells the driver to capture the packets sent by itself. <a href="#ga4a60d1f215d5b2af2b3b86a0f2a90ae2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga7300b6880da1b61717e7ff815d579bf6">C_ASSERT</a>(a)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga048ba8dfabc6ac16c602a1ca6fe994fc">RESERVED</a>(_p)&nbsp;&nbsp;&nbsp;((<a class="el" href="struct__PACKET__RESERVED.html">PPACKET_RESERVED</a>)((_p)-&gt;ProtocolReserved))</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro to obtain a NDIS_PACKET from a PACKET_RESERVED. <a href="#ga048ba8dfabc6ac16c602a1ca6fe994fc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga652e6173ee1441712652d74a5533e042">TRANSMIT_PACKETS</a>&nbsp;&nbsp;&nbsp;256</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">of packets that can be transmitted at the same time or with a single call to NdisSendPackets. <a href="#ga652e6173ee1441712652d74a5533e042"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#gacabf25322566f3bcd1e564e4939f5821">EXIT_SUCCESS</a>(quantity)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro used in the I/O routines to return the control to user-mode with a success status. <a href="#gacabf25322566f3bcd1e564e4939f5821"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#gad6d1f5522a147ddeb7d9b11916acd50a">EXIT_FAILURE</a>(quantity)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro used in the I/O routines to return the control to user-mode with a failure status. <a href="#gad6d1f5522a147ddeb7d9b11916acd50a"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__PACKET__OID__DATA.html">_PACKET_OID_DATA</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga0c7b0f53860e1de014069aad53987bc6">PACKET_OID_DATA</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure containing an OID request. <a href="#ga0c7b0f53860e1de014069aad53987bc6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__PACKET__OID__DATA.html">_PACKET_OID_DATA</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#gadf678e4006b707eb64a691e611975b22">PPACKET_OID_DATA</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__INTERNAL__REQUEST.html">_INTERNAL_REQUEST</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga0bee4ca4dc129822e19478f88d991a31">INTERNAL_REQUEST</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stores an OID request. <a href="#ga0bee4ca4dc129822e19478f88d991a31"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__INTERNAL__REQUEST.html">_INTERNAL_REQUEST</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga55591a7d14855359ed1e3995f7f025c3">PINTERNAL_REQUEST</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__PACKET__RESERVED.html">_PACKET_RESERVED</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga2225b3cfa793593a1849aa0652846a5c">PACKET_RESERVED</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Contains a NDIS packet. <a href="#ga2225b3cfa793593a1849aa0652846a5c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__PACKET__RESERVED.html">_PACKET_RESERVED</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga375d9973bbbe748c9722e8f546beb10c">PPACKET_RESERVED</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__DEVICE__EXTENSION.html">_DEVICE_EXTENSION</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga5091b7a273db5d38a71df5293eb52ccf">DEVICE_EXTENSION</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Port device extension. <a href="#ga5091b7a273db5d38a71df5293eb52ccf"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__DEVICE__EXTENSION.html">_DEVICE_EXTENSION</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#gac8ad25578be589c8352fc4e1a8a99be3">PDEVICE_EXTENSION</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct____CPU__Private__Data.html">__CPU_Private_Data</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga321d8c7f608d41e095ec3508cff10764">CpuPrivateData</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Kernel buffer of each CPU. <a href="#ga321d8c7f608d41e095ec3508cff10764"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__OPEN__INSTANCE.html">_OPEN_INSTANCE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#gafeddf3a08e141d369532061f3f8cd939">OPEN_INSTANCE</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Contains the state of a running instance of the NPF driver. <a href="#gafeddf3a08e141d369532061f3f8cd939"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__OPEN__INSTANCE.html">_OPEN_INSTANCE</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#gad3b7ff25cfe0e8fd50666782f85e76cb">POPEN_INSTANCE</a></td></tr>
+<tr><td colspan="2"><h2>Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#gaa80226df1c5ee18b01580d23ed4f31cb">ADAPTER_BINDING_STATUS</a> { <a class="el" href="group__NPF__include.html#ggaa80226df1c5ee18b01580d23ed4f31cba6e4cdf9f09abf447cffdfd5058357822">ADAPTER_UNBOUND</a>,
+<a class="el" href="group__NPF__include.html#ggaa80226df1c5ee18b01580d23ed4f31cba3e0c0f314d2e9dc41c205ab44bf087bc">ADAPTER_BOUND</a>,
+<a class="el" href="group__NPF__include.html#ggaa80226df1c5ee18b01580d23ed4f31cbadc92e852ef35fac0f033487a3be66a93">ADAPTER_UNBINDING</a>
+ }</td></tr>
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga6259f706c0907d31a1476960233222c6">C_ASSERT</a> (sizeof(<a class="el" href="struct__PACKET__OID__DATA.html">PACKET_OID_DATA</a>)==12)</td></tr>
+<tr><td colspan="2"><h2>Variables</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">ULONG&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga980b14c18716a1788990f8e68fed9420">g_NCpu</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NDIS_HANDLE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga5d6fbe2176d19b191fa7aaac4d6d6bb5">g_NdisProtocolHandle</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct time_conv&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga8bd3dab633cae7a1a47c4ddb2705a31b">G_Start_Time</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">UINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#gab325d08691ab69e4f942f6a418a41db2">g_SendPacketFlags</a></td></tr>
+</table>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="ga7300b6880da1b61717e7ff815d579bf6"></a><!-- doxytag: member="Packet.h::C_ASSERT" ref="ga7300b6880da1b61717e7ff815d579bf6" args="(a)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define C_ASSERT</td>
+ <td>(</td>
+ <td class="paramtype">a&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00133">133</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gad6d1f5522a147ddeb7d9b11916acd50a"></a><!-- doxytag: member="Packet.h::EXIT_FAILURE" ref="gad6d1f5522a147ddeb7d9b11916acd50a" args="(quantity)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define EXIT_FAILURE</td>
+ <td>(</td>
+ <td class="paramtype">quantity&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">Irp-&gt;IoStatus.Information=quantity;\
+ Irp-&gt;IoStatus.Status = STATUS_UNSUCCESSFUL;\
+ IoCompleteRequest(Irp, IO_NO_INCREMENT);\
+ <span class="keywordflow">return</span> STATUS_UNSUCCESSFUL;\
+</pre></div>
+<p>Macro used in the I/O routines to return the control to user-mode with a failure status. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00363">363</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gacabf25322566f3bcd1e564e4939f5821"></a><!-- doxytag: member="Packet.h::EXIT_SUCCESS" ref="gacabf25322566f3bcd1e564e4939f5821" args="(quantity)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define EXIT_SUCCESS</td>
+ <td>(</td>
+ <td class="paramtype">quantity&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">Irp-&gt;IoStatus.Information=quantity;\
+ Irp-&gt;IoStatus.Status = STATUS_SUCCESS;\
+ IoCompleteRequest(Irp, IO_NO_INCREMENT);\
+ <span class="keywordflow">return</span> STATUS_SUCCESS;\
+</pre></div>
+<p>Macro used in the I/O routines to return the control to user-mode with a success status. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00357">357</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga4f6749b7708a411df2a3341a3fcef917"></a><!-- doxytag: member="Packet.h::IMMEDIATE" ref="ga4f6749b7708a411df2a3341a3fcef917" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define IMMEDIATE&nbsp;&nbsp;&nbsp;1</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Immediate timeout. Forces a read call to return immediately. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00087">87</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga9cd2ca337001428aa9e1cb512a28ecc2"></a><!-- doxytag: member="Packet.h::KERNEL_EVENT_NAMESPACE" ref="ga9cd2ca337001428aa9e1cb512a28ecc2" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define KERNEL_EVENT_NAMESPACE&nbsp;&nbsp;&nbsp;L&quot;\\BaseNamedObjects\\&quot;</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00077">77</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga8fc96cee4177a369a99de7026ebeba81"></a><!-- doxytag: member="Packet.h::MAX_REQUESTS" ref="ga8fc96cee4177a369a99de7026ebeba81" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define MAX_REQUESTS&nbsp;&nbsp;&nbsp;32</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Maximum number of simultaneous IOCTL requests. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00071">71</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gac93c0a6ad1d2a3143b1115bdab3ac04d"></a><!-- doxytag: member="Packet.h::MODE_CAPT" ref="gac93c0a6ad1d2a3143b1115bdab3ac04d" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define MODE_CAPT&nbsp;&nbsp;&nbsp;0x0</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Capture working mode. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00081">81</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga89853f93dc8cc890b0665629d16d2831"></a><!-- doxytag: member="Packet.h::MODE_DUMP" ref="ga89853f93dc8cc890b0665629d16d2831" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define MODE_DUMP&nbsp;&nbsp;&nbsp;0x10</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Kernel dump working mode. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00084">84</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga528e7e542cb1a028a10a3a318880dffb"></a><!-- doxytag: member="Packet.h::MODE_MON" ref="ga528e7e542cb1a028a10a3a318880dffb" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define MODE_MON&nbsp;&nbsp;&nbsp;0x2</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Kernel monitoring mode. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00083">83</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga503326906a62e96c147ae6af31fb5659"></a><!-- doxytag: member="Packet.h::MODE_STAT" ref="ga503326906a62e96c147ae6af31fb5659" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define MODE_STAT&nbsp;&nbsp;&nbsp;0x1</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Statistical working mode. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00082">82</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga0a110077bb4fcbcc75512d8988c90de8"></a><!-- doxytag: member="Packet.h::NDIS_FLAGS_SKIP_LOOPBACK_W2K" ref="ga0a110077bb4fcbcc75512d8988c90de8" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define NDIS_FLAGS_SKIP_LOOPBACK_W2K&nbsp;&nbsp;&nbsp;0x400</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>This is an undocumented flag for NdisSetPacketFlags() that allows to disable loopback reception. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00089">89</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga7ccc8974741059b5ae25231a56dbed09"></a><!-- doxytag: member="Packet.h::NPF_DISABLE_LOOPBACK" ref="ga7ccc8974741059b5ae25231a56dbed09" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define NPF_DISABLE_LOOPBACK&nbsp;&nbsp;&nbsp;1</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Tells the driver to drop the packets sent by itself. This is usefult when building applications like bridges. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00098">98</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga4a60d1f215d5b2af2b3b86a0f2a90ae2"></a><!-- doxytag: member="Packet.h::NPF_ENABLE_LOOPBACK" ref="ga4a60d1f215d5b2af2b3b86a0f2a90ae2" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define NPF_ENABLE_LOOPBACK&nbsp;&nbsp;&nbsp;2</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Tells the driver to capture the packets sent by itself. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00099">99</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga8463d2101446f74b83ed10006d772384"></a><!-- doxytag: member="Packet.h::Packet_ALIGNMENT" ref="ga8463d2101446f74b83ed10006d772384" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define Packet_ALIGNMENT&nbsp;&nbsp;&nbsp;sizeof(int)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Alignment macro. Defines the alignment size. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00073">73</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga6ad53095b69ed77878dc683754e3264a"></a><!-- doxytag: member="Packet.h::Packet_WORDALIGN" ref="ga6ad53095b69ed77878dc683754e3264a" args="(x)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define Packet_WORDALIGN</td>
+ <td>(</td>
+ <td class="paramtype">x&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;(((x)+(Packet_ALIGNMENT-1))&amp;~(Packet_ALIGNMENT-1))</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>even multiple of Packet_ALIGNMENT. </p>
+<p>Alignment macro. Rounds up to the next </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00074">74</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaac031371d41e21ff96e80409e05a7ddb"></a><!-- doxytag: member="Packet.h::PCAP_VERSION_MAJOR" ref="gaac031371d41e21ff96e80409e05a7ddb" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PCAP_VERSION_MAJOR&nbsp;&nbsp;&nbsp;2</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Major libpcap version of the dump file. Used by programs like tcpdump to recognize a driver's generated dump file. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00094">94</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga9c200b070c9f626d38184588b16849c2"></a><!-- doxytag: member="Packet.h::PCAP_VERSION_MINOR" ref="ga9c200b070c9f626d38184588b16849c2" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PCAP_VERSION_MINOR&nbsp;&nbsp;&nbsp;4</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Minor libpcap version of the dump file. Used by programs like tcpdump to recognize a driver's generated dump file. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00095">95</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga048ba8dfabc6ac16c602a1ca6fe994fc"></a><!-- doxytag: member="Packet.h::RESERVED" ref="ga048ba8dfabc6ac16c602a1ca6fe994fc" args="(_p)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RESERVED</td>
+ <td>(</td>
+ <td class="paramtype">_p&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;((<a class="el" href="struct__PACKET__RESERVED.html">PPACKET_RESERVED</a>)((_p)-&gt;ProtocolReserved))</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Macro to obtain a NDIS_PACKET from a PACKET_RESERVED. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00189">189</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gafedcc0aa0cf5abe7b20c68eefdfcb126"></a><!-- doxytag: member="Packet.h::TCPDUMP_MAGIC" ref="gafedcc0aa0cf5abe7b20c68eefdfcb126" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define TCPDUMP_MAGIC&nbsp;&nbsp;&nbsp;0xa1b2c3d4</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Libpcap magic number. Used by programs like tcpdump to recognize a driver's generated dump file. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00093">93</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga652e6173ee1441712652d74a5533e042"></a><!-- doxytag: member="Packet.h::TRANSMIT_PACKETS" ref="ga652e6173ee1441712652d74a5533e042" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define TRANSMIT_PACKETS&nbsp;&nbsp;&nbsp;256</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>of packets that can be transmitted at the same time or with a single call to NdisSendPackets. </p>
+<p>Maximum number of packets in the transmit packet pool. This value is an upper bound to the number </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00352">352</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="ga321d8c7f608d41e095ec3508cff10764"></a><!-- doxytag: member="Packet.h::CpuPrivateData" ref="ga321d8c7f608d41e095ec3508cff10764" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef struct <a class="el" href="struct____CPU__Private__Data.html">__CPU_Private_Data</a>
+ <a class="el" href="struct____CPU__Private__Data.html">CpuPrivateData</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Kernel buffer of each CPU. </p>
+<p>Structure containing the kernel buffer (and other CPU related fields) used to capture packets. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga5091b7a273db5d38a71df5293eb52ccf"></a><!-- doxytag: member="Packet.h::DEVICE_EXTENSION" ref="ga5091b7a273db5d38a71df5293eb52ccf" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef struct <a class="el" href="struct__DEVICE__EXTENSION.html">_DEVICE_EXTENSION</a> <a class="el" href="struct__DEVICE__EXTENSION.html">DEVICE_EXTENSION</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Port device extension. </p>
+<p>Structure containing some data relative to every adapter on which NPF is bound. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga0bee4ca4dc129822e19478f88d991a31"></a><!-- doxytag: member="Packet.h::INTERNAL_REQUEST" ref="ga0bee4ca4dc129822e19478f88d991a31" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef struct <a class="el" href="struct__INTERNAL__REQUEST.html">_INTERNAL_REQUEST</a> <a class="el" href="struct__INTERNAL__REQUEST.html">INTERNAL_REQUEST</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Stores an OID request. </p>
+<p>This structure is used by the driver to perform OID query or set operations on the underlying NIC driver. The OID operations be performed usually only by network drivers, but NPF exports this mechanism to user-level applications through an IOCTL interface. The driver uses this structure to wrap a NDIS_REQUEST structure. This allows to handle correctly the callback structure of NdisRequest(), handling multiple requests and maintaining information about the IRPs to complete. </p>
+
+</div>
+</div>
+<a class="anchor" id="gafeddf3a08e141d369532061f3f8cd939"></a><!-- doxytag: member="Packet.h::OPEN_INSTANCE" ref="gafeddf3a08e141d369532061f3f8cd939" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef struct <a class="el" href="struct__OPEN__INSTANCE.html">_OPEN_INSTANCE</a>
+ <a class="el" href="struct__OPEN__INSTANCE.html">OPEN_INSTANCE</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Contains the state of a running instance of the NPF driver. </p>
+<p>This is the most important structure of NPF: it is used by almost all the functions of the driver. An <a class="el" href="struct__OPEN__INSTANCE.html" title="Contains the state of a running instance of the NPF driver.">_OPEN_INSTANCE</a> structure is associated with every user-level session, allowing concurrent access to the driver. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga0c7b0f53860e1de014069aad53987bc6"></a><!-- doxytag: member="Packet.h::PACKET_OID_DATA" ref="ga0c7b0f53860e1de014069aad53987bc6" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef struct <a class="el" href="struct__PACKET__OID__DATA.html">_PACKET_OID_DATA</a>
+ <a class="el" href="struct__PACKET__OID__DATA.html">PACKET_OID_DATA</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Structure containing an OID request. </p>
+<p>It is used by the PacketRequest() function to send an OID to the interface card driver. It can be used, for example, to retrieve the status of the error counters on the adapter, its MAC address, the list of the multicast groups defined on it, and so on. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga2225b3cfa793593a1849aa0652846a5c"></a><!-- doxytag: member="Packet.h::PACKET_RESERVED" ref="ga2225b3cfa793593a1849aa0652846a5c" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef struct <a class="el" href="struct__PACKET__RESERVED.html">_PACKET_RESERVED</a> <a class="el" href="struct__PACKET__RESERVED.html">PACKET_RESERVED</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Contains a NDIS packet. </p>
+<p>The driver uses this structure to wrap a NDIS_PACKET structure. This allows to handle correctly the callback structure of NdisTransferData(), handling multiple requests and maintaining information about the IRPs to complete. </p>
+
+</div>
+</div>
+<a class="anchor" id="gac8ad25578be589c8352fc4e1a8a99be3"></a><!-- doxytag: member="Packet.h::PDEVICE_EXTENSION" ref="gac8ad25578be589c8352fc4e1a8a99be3" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef struct <a class="el" href="struct__DEVICE__EXTENSION.html">_DEVICE_EXTENSION</a> * <a class="el" href="struct__DEVICE__EXTENSION.html">PDEVICE_EXTENSION</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ga55591a7d14855359ed1e3995f7f025c3"></a><!-- doxytag: member="Packet.h::PINTERNAL_REQUEST" ref="ga55591a7d14855359ed1e3995f7f025c3" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef struct <a class="el" href="struct__INTERNAL__REQUEST.html">_INTERNAL_REQUEST</a> * <a class="el" href="struct__INTERNAL__REQUEST.html">PINTERNAL_REQUEST</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="gad3b7ff25cfe0e8fd50666782f85e76cb"></a><!-- doxytag: member="Packet.h::POPEN_INSTANCE" ref="gad3b7ff25cfe0e8fd50666782f85e76cb" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef struct <a class="el" href="struct__OPEN__INSTANCE.html">_OPEN_INSTANCE</a> * <a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="gadf678e4006b707eb64a691e611975b22"></a><!-- doxytag: member="Packet.h::PPACKET_OID_DATA" ref="gadf678e4006b707eb64a691e611975b22" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef struct <a class="el" href="struct__PACKET__OID__DATA.html">_PACKET_OID_DATA</a> * <a class="el" href="struct__PACKET__OID__DATA.html">PPACKET_OID_DATA</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ga375d9973bbbe748c9722e8f546beb10c"></a><!-- doxytag: member="Packet.h::PPACKET_RESERVED" ref="ga375d9973bbbe748c9722e8f546beb10c" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef struct <a class="el" href="struct__PACKET__RESERVED.html">_PACKET_RESERVED</a> * <a class="el" href="struct__PACKET__RESERVED.html">PPACKET_RESERVED</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<hr/><h2>Enumeration Type Documentation</h2>
+<a class="anchor" id="gaa80226df1c5ee18b01580d23ed4f31cb"></a><!-- doxytag: member="Packet.h::ADAPTER_BINDING_STATUS" ref="gaa80226df1c5ee18b01580d23ed4f31cb" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="group__NPF__include.html#gaa80226df1c5ee18b01580d23ed4f31cb">ADAPTER_BINDING_STATUS</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="ggaa80226df1c5ee18b01580d23ed4f31cba6e4cdf9f09abf447cffdfd5058357822"></a><!-- doxytag: member="ADAPTER_UNBOUND" ref="ggaa80226df1c5ee18b01580d23ed4f31cba6e4cdf9f09abf447cffdfd5058357822" args="" -->ADAPTER_UNBOUND</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaa80226df1c5ee18b01580d23ed4f31cba3e0c0f314d2e9dc41c205ab44bf087bc"></a><!-- doxytag: member="ADAPTER_BOUND" ref="ggaa80226df1c5ee18b01580d23ed4f31cba3e0c0f314d2e9dc41c205ab44bf087bc" args="" -->ADAPTER_BOUND</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggaa80226df1c5ee18b01580d23ed4f31cbadc92e852ef35fac0f033487a3be66a93"></a><!-- doxytag: member="ADAPTER_UNBINDING" ref="ggaa80226df1c5ee18b01580d23ed4f31cbadc92e852ef35fac0f033487a3be66a93" args="" -->ADAPTER_UNBINDING</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00327">327</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga6259f706c0907d31a1476960233222c6"></a><!-- doxytag: member="Packet.h::C_ASSERT" ref="ga6259f706c0907d31a1476960233222c6" args="(sizeof(PACKET_OID_DATA)==12)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">C_ASSERT </td>
+ <td>(</td>
+ <td class="paramtype">sizeof(<a class="el" href="struct__PACKET__OID__DATA.html">PACKET_OID_DATA</a>)&nbsp;</td>
+ <td class="paramname"> = <code>=12</code></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<hr/><h2>Variable Documentation</h2>
+<a class="anchor" id="ga980b14c18716a1788990f8e68fed9420"></a><!-- doxytag: member="Packet.h::g_NCpu" ref="ga980b14c18716a1788990f8e68fed9420" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ULONG <a class="el" href="group__NPF__include.html#ga980b14c18716a1788990f8e68fed9420">g_NCpu</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ga5d6fbe2176d19b191fa7aaac4d6d6bb5"></a><!-- doxytag: member="Packet.h::g_NdisProtocolHandle" ref="ga5d6fbe2176d19b191fa7aaac4d6d6bb5" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NDIS_HANDLE <a class="el" href="group__NPF__include.html#ga5d6fbe2176d19b191fa7aaac4d6d6bb5">g_NdisProtocolHandle</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="gab325d08691ab69e4f942f6a418a41db2"></a><!-- doxytag: member="Packet.h::g_SendPacketFlags" ref="gab325d08691ab69e4f942f6a418a41db2" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">UINT <a class="el" href="group__NPF__include.html#gab325d08691ab69e4f942f6a418a41db2">g_SendPacketFlags</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ga8bd3dab633cae7a1a47c4ddb2705a31b"></a><!-- doxytag: member="Packet.h::G_Start_Time" ref="ga8bd3dab633cae7a1a47c4ddb2705a31b" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct time_conv <a class="el" href="group__NPF__include.html#ga8bd3dab633cae7a1a47c4ddb2705a31b">G_Start_Time</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/group__NPF__ioctl.html b/3rdparty/winpcap/docs/html/group__NPF__ioctl.html
new file mode 100644
index 00000000000..254897431fc
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/group__NPF__ioctl.html
@@ -0,0 +1,376 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: NPF I/O control codes</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>NPF I/O control codes<br/>
+<small>
+[<a class="el" href="group__NPF.html">NPF driver internals manual</a>]</small>
+</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__ioctl.html#ga71817d3a52bf0ec819934a5f688a172c">BIOCSETBUFFERSIZE</a>&nbsp;&nbsp;&nbsp;9592</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IOCTL code: set kernel buffer size. <a href="#ga71817d3a52bf0ec819934a5f688a172c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__ioctl.html#gaf85f500f68404076ac60ffe6e08818da">BIOCSETF</a>&nbsp;&nbsp;&nbsp;9030</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IOCTL code: set packet filtering program. <a href="#gaf85f500f68404076ac60ffe6e08818da"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__ioctl.html#ga8ae8be8faa281644d8be1cda38b826bd">BIOCGSTATS</a>&nbsp;&nbsp;&nbsp;9031</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IOCTL code: get the capture stats. <a href="#ga8ae8be8faa281644d8be1cda38b826bd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__ioctl.html#ga327015c2b2e347212b571d1fa3aa2f54">BIOCSRTIMEOUT</a>&nbsp;&nbsp;&nbsp;7416</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IOCTL code: set the read timeout. <a href="#ga327015c2b2e347212b571d1fa3aa2f54"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__ioctl.html#gad1012b82859d09864d246b1fa99d48d6">BIOCSMODE</a>&nbsp;&nbsp;&nbsp;7412</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IOCTL code: set working mode. <a href="#gad1012b82859d09864d246b1fa99d48d6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__ioctl.html#ga1436997ce2947bbbe22b5400254438a1">BIOCSWRITEREP</a>&nbsp;&nbsp;&nbsp;7413</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IOCTL code: set number of physical repetions of every packet written by the app. <a href="#ga1436997ce2947bbbe22b5400254438a1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__ioctl.html#gaa827e3441e3f84abc7df5e30fcee96d1">BIOCSMINTOCOPY</a>&nbsp;&nbsp;&nbsp;7414</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IOCTL code: set minimum amount of data in the kernel buffer that unlocks a read call. <a href="#gaa827e3441e3f84abc7df5e30fcee96d1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__ioctl.html#gabf9a4779fd5281607510edc8b5d766dd">BIOCSETOID</a>&nbsp;&nbsp;&nbsp;0x80000000</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IOCTL code: set an OID value. <a href="#gabf9a4779fd5281607510edc8b5d766dd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__ioctl.html#ga5a0ab3231052ff323817e288dab2f127">BIOCQUERYOID</a>&nbsp;&nbsp;&nbsp;0x80000004</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IOCTL code: get an OID value. <a href="#ga5a0ab3231052ff323817e288dab2f127"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__ioctl.html#gac8b51f8abae12f57a2ea8e8e4c0cd53c">BIOCSETDUMPFILENAME</a>&nbsp;&nbsp;&nbsp;9029</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IOCTL code: set the name of a the file used by kernel dump mode. <a href="#gac8b51f8abae12f57a2ea8e8e4c0cd53c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__ioctl.html#gadd9e03a96d297a33d7cee4d750c34eff">BIOCGEVNAME</a>&nbsp;&nbsp;&nbsp;7415</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IOCTL code: get the name of the event that the driver signals when some data is present in the buffer. <a href="#gadd9e03a96d297a33d7cee4d750c34eff"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__ioctl.html#gac50830dc08762383dcb203a66e5c853d">BIOCSENDPACKETSNOSYNC</a>&nbsp;&nbsp;&nbsp;9032</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IOCTL code: Send a buffer containing multiple packets to the network, ignoring the timestamps. <a href="#gac50830dc08762383dcb203a66e5c853d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__ioctl.html#gab4d41e91e460bb101ef8ddb622a8e010">BIOCSENDPACKETSSYNC</a>&nbsp;&nbsp;&nbsp;9033</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IOCTL code: Send a buffer containing multiple packets to the network, considering the timestamps. <a href="#gab4d41e91e460bb101ef8ddb622a8e010"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__ioctl.html#ga3205efe3271948f253c4da5abf0e12c6">BIOCSETDUMPLIMITS</a>&nbsp;&nbsp;&nbsp;9034</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IOCTL code: Set the dump file limits. <a href="#ga3205efe3271948f253c4da5abf0e12c6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__ioctl.html#ga874d333aca88363bc6fdcb3e8b1af05b">BIOCISDUMPENDED</a>&nbsp;&nbsp;&nbsp;7411</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IOCTL code: Get the status of the kernel dump process. <a href="#ga874d333aca88363bc6fdcb3e8b1af05b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__ioctl.html#gae02ae71d6fe0bfb4b600f8027dc90ba3">BIOCISETLOBBEH</a>&nbsp;&nbsp;&nbsp;7410</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IOCTL code: set the loopback behavior. <a href="#gae02ae71d6fe0bfb4b600f8027dc90ba3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__ioctl.html#ga31c73f09a27bb38a6040a5841096576a">BIOCSETEVENTHANDLE</a>&nbsp;&nbsp;&nbsp;7920</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This IOCTL passes the read event HANDLE allocated by the user (packet.dll) to kernel level. <a href="#ga31c73f09a27bb38a6040a5841096576a"></a><br/></td></tr>
+</table>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="gadd9e03a96d297a33d7cee4d750c34eff"></a><!-- doxytag: member="ioctls.h::BIOCGEVNAME" ref="gadd9e03a96d297a33d7cee4d750c34eff" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BIOCGEVNAME&nbsp;&nbsp;&nbsp;7415</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>IOCTL code: get the name of the event that the driver signals when some data is present in the buffer. </p>
+<p>Command used by the application to retrieve the name of the global event associated with a NPF instance. The event is signaled by the driver when the kernel buffer contains enough data for a transfer. </p>
+
+<p>Definition at line <a class="el" href="ioctls_8h_source.html#l00137">137</a> of file <a class="el" href="ioctls_8h_source.html">ioctls.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga8ae8be8faa281644d8be1cda38b826bd"></a><!-- doxytag: member="ioctls.h::BIOCGSTATS" ref="ga8ae8be8faa281644d8be1cda38b826bd" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BIOCGSTATS&nbsp;&nbsp;&nbsp;9031</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>IOCTL code: get the capture stats. </p>
+<p>This command returns to the application the number of packets received and the number of packets dropped by an instance of the driver. </p>
+
+<p>Definition at line <a class="el" href="ioctls_8h_source.html#l00075">75</a> of file <a class="el" href="ioctls_8h_source.html">ioctls.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga874d333aca88363bc6fdcb3e8b1af05b"></a><!-- doxytag: member="ioctls.h::BIOCISDUMPENDED" ref="ga874d333aca88363bc6fdcb3e8b1af05b" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BIOCISDUMPENDED&nbsp;&nbsp;&nbsp;7411</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>IOCTL code: Get the status of the kernel dump process. </p>
+<p>This command returns TRUE if the kernel dump is ended, i.e if one of the limits set with BIOCSETDUMPLIMITS (amount of bytes or number of packets) has been reached. </p>
+
+<p>Definition at line <a class="el" href="ioctls_8h_source.html#l00172">172</a> of file <a class="el" href="ioctls_8h_source.html">ioctls.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gae02ae71d6fe0bfb4b600f8027dc90ba3"></a><!-- doxytag: member="ioctls.h::BIOCISETLOBBEH" ref="gae02ae71d6fe0bfb4b600f8027dc90ba3" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BIOCISETLOBBEH&nbsp;&nbsp;&nbsp;7410</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>IOCTL code: set the loopback behavior. </p>
+<p>This IOCTL sets the loopback behavior of the driver with packets sent by itself: capture or drop. </p>
+
+<p>Definition at line <a class="el" href="ioctls_8h_source.html#l00179">179</a> of file <a class="el" href="ioctls_8h_source.html">ioctls.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga5a0ab3231052ff323817e288dab2f127"></a><!-- doxytag: member="ioctls.h::BIOCQUERYOID" ref="ga5a0ab3231052ff323817e288dab2f127" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BIOCQUERYOID&nbsp;&nbsp;&nbsp;0x80000004</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>IOCTL code: get an OID value. </p>
+<p>This IOCTL is used to perform an OID get operation on the NIC driver. </p>
+
+<p>Definition at line <a class="el" href="ioctls_8h_source.html#l00120">120</a> of file <a class="el" href="ioctls_8h_source.html">ioctls.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gac50830dc08762383dcb203a66e5c853d"></a><!-- doxytag: member="ioctls.h::BIOCSENDPACKETSNOSYNC" ref="gac50830dc08762383dcb203a66e5c853d" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BIOCSENDPACKETSNOSYNC&nbsp;&nbsp;&nbsp;9032</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>IOCTL code: Send a buffer containing multiple packets to the network, ignoring the timestamps. </p>
+<p>Command used to send a buffer of packets in a single system call. Every packet in the buffer is preceded by a <a class="el" href="structsf__pkthdr.html" title="Header associated to a packet in the driver&#39;s buffer when the driver is in dump...">sf_pkthdr</a> structure. The timestamps of the packets are ignored, i.e. the packets are sent as fast as possible. The <a class="el" href="group__NPF__code.html#ga9a97dd25ae757da4bfed3723a4eb4bce" title="Writes a buffer of raw packets to the network.">NPF_BufferedWrite()</a> function is invoked to send the packets. </p>
+
+<p>Definition at line <a class="el" href="ioctls_8h_source.html#l00146">146</a> of file <a class="el" href="ioctls_8h_source.html">ioctls.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gab4d41e91e460bb101ef8ddb622a8e010"></a><!-- doxytag: member="ioctls.h::BIOCSENDPACKETSSYNC" ref="gab4d41e91e460bb101ef8ddb622a8e010" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BIOCSENDPACKETSSYNC&nbsp;&nbsp;&nbsp;9033</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>IOCTL code: Send a buffer containing multiple packets to the network, considering the timestamps. </p>
+<p>Command used to send a buffer of packets in a single system call. Every packet in the buffer is preceded by a <a class="el" href="structsf__pkthdr.html" title="Header associated to a packet in the driver&#39;s buffer when the driver is in dump...">sf_pkthdr</a> structure. The timestamps of the packets are used to synchronize the write, i.e. the packets are sent to the network respecting the intervals specified in the <a class="el" href="structsf__pkthdr.html" title="Header associated to a packet in the driver&#39;s buffer when the driver is in dump...">sf_pkthdr</a> structure assiciated with each packet. <a class="el" href="group__NPF__code.html#ga9a97dd25ae757da4bfed3723a4eb4bce" title="Writes a buffer of raw packets to the network.">NPF_BufferedWrite()</a> function is invoked to send the packets. </p>
+
+<p>Definition at line <a class="el" href="ioctls_8h_source.html#l00156">156</a> of file <a class="el" href="ioctls_8h_source.html">ioctls.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga71817d3a52bf0ec819934a5f688a172c"></a><!-- doxytag: member="ioctls.h::BIOCSETBUFFERSIZE" ref="ga71817d3a52bf0ec819934a5f688a172c" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BIOCSETBUFFERSIZE&nbsp;&nbsp;&nbsp;9592</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>IOCTL code: set kernel buffer size. </p>
+<p>This IOCTL is used to set a new size of the circular buffer associated with an instance of NPF. When a BIOCSETBUFFERSIZE command is received, the driver frees the old buffer, allocates the new one and resets all the parameters associated with the buffer in the OPEN_INSTANCE structure. The currently buffered packets are lost. </p>
+
+<p>Definition at line <a class="el" href="ioctls_8h_source.html#l00055">55</a> of file <a class="el" href="ioctls_8h_source.html">ioctls.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gac8b51f8abae12f57a2ea8e8e4c0cd53c"></a><!-- doxytag: member="ioctls.h::BIOCSETDUMPFILENAME" ref="gac8b51f8abae12f57a2ea8e8e4c0cd53c" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BIOCSETDUMPFILENAME&nbsp;&nbsp;&nbsp;9029</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>IOCTL code: set the name of a the file used by kernel dump mode. </p>
+<p>This command opens a file whose name is contained in the IOCTL buffer and associates it with current NPf instance. The dump thread uses it to copy the content of the circular buffer to file. If a file was already opened, the driver closes it before opening the new one. </p>
+
+<p>Definition at line <a class="el" href="ioctls_8h_source.html#l00129">129</a> of file <a class="el" href="ioctls_8h_source.html">ioctls.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga3205efe3271948f253c4da5abf0e12c6"></a><!-- doxytag: member="ioctls.h::BIOCSETDUMPLIMITS" ref="ga3205efe3271948f253c4da5abf0e12c6" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BIOCSETDUMPLIMITS&nbsp;&nbsp;&nbsp;9034</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>IOCTL code: Set the dump file limits. </p>
+<p>This IOCTL sets the limits (maximum size and maximum number of packets) of the dump file created when the driver works in dump mode. </p>
+
+<p>Definition at line <a class="el" href="ioctls_8h_source.html#l00164">164</a> of file <a class="el" href="ioctls_8h_source.html">ioctls.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga31c73f09a27bb38a6040a5841096576a"></a><!-- doxytag: member="ioctls.h::BIOCSETEVENTHANDLE" ref="ga31c73f09a27bb38a6040a5841096576a" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BIOCSETEVENTHANDLE&nbsp;&nbsp;&nbsp;7920</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>This IOCTL passes the read event HANDLE allocated by the user (packet.dll) to kernel level. </p>
+<p>Parameter: HANDLE Parameter size: sizeof(HANDLE). If the caller is 32 bit, the parameter size is 4 bytes, even if sizeof(HANDLE) at kernel level is 8 bytes. That's why in this IOCTL code handler we detect a 32bit calling process and do the necessary thunking.</p>
+<p>TODO GV:I will go to hell for this ugly IOCTL definition. We should use CTL_CODE!! </p>
+
+<p>Definition at line <a class="el" href="ioctls_8h_source.html#l00190">190</a> of file <a class="el" href="ioctls_8h_source.html">ioctls.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaf85f500f68404076ac60ffe6e08818da"></a><!-- doxytag: member="ioctls.h::BIOCSETF" ref="gaf85f500f68404076ac60ffe6e08818da" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BIOCSETF&nbsp;&nbsp;&nbsp;9030</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>IOCTL code: set packet filtering program. </p>
+<p>This IOCTL sets a new packet filter in the driver. Before allocating any memory for the new filter, the bpf_validate() function is called to check the correctness of the filter. If this function returns TRUE, the filter is copied to the driver's memory, its address is stored in the bpfprogram field of the OPEN_INSTANCE structure associated with current instance of the driver, and the filter will be applied to every incoming packet. This command also empties the circular buffer used by current instance to store packets. This is done to avoid the presence in the buffer of packets that do not match the filter. </p>
+
+<p>Definition at line <a class="el" href="ioctls_8h_source.html#l00067">67</a> of file <a class="el" href="ioctls_8h_source.html">ioctls.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gabf9a4779fd5281607510edc8b5d766dd"></a><!-- doxytag: member="ioctls.h::BIOCSETOID" ref="gabf9a4779fd5281607510edc8b5d766dd" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BIOCSETOID&nbsp;&nbsp;&nbsp;0x80000000</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>IOCTL code: set an OID value. </p>
+<p>This IOCTL is used to perform an OID set operation on the NIC driver. </p>
+
+<p>Definition at line <a class="el" href="ioctls_8h_source.html#l00113">113</a> of file <a class="el" href="ioctls_8h_source.html">ioctls.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaa827e3441e3f84abc7df5e30fcee96d1"></a><!-- doxytag: member="ioctls.h::BIOCSMINTOCOPY" ref="gaa827e3441e3f84abc7df5e30fcee96d1" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BIOCSMINTOCOPY&nbsp;&nbsp;&nbsp;7414</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>IOCTL code: set minimum amount of data in the kernel buffer that unlocks a read call. </p>
+<p>This command sets the <a class="el" href="struct__OPEN__INSTANCE.html#a263f7d6f5db5625541d275380685f0b1">OPEN_INSTANCE::MinToCopy</a> member. </p>
+
+<p>Definition at line <a class="el" href="ioctls_8h_source.html#l00106">106</a> of file <a class="el" href="ioctls_8h_source.html">ioctls.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gad1012b82859d09864d246b1fa99d48d6"></a><!-- doxytag: member="ioctls.h::BIOCSMODE" ref="gad1012b82859d09864d246b1fa99d48d6" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BIOCSMODE&nbsp;&nbsp;&nbsp;7412</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>IOCTL code: set working mode. </p>
+<p>This IOCTL can be used to set the working mode of a NPF instance. The new mode, received by the driver in the buffer associated with the IOCTL command, can be <a class="el" href="group__wpcap__def.html#gac93c0a6ad1d2a3143b1115bdab3ac04d" title="Capture mode, to be used when calling pcap_setmode().">MODE_CAPT</a> for capture mode (the default), <a class="el" href="group__wpcap__def.html#ga503326906a62e96c147ae6af31fb5659" title="Statistical mode, to be used when calling pcap_setmode().">MODE_STAT</a> for statistical mode or <a class="el" href="group__NPF__include.html#ga89853f93dc8cc890b0665629d16d2831" title="Kernel dump working mode.">MODE_DUMP</a> for dump mode. </p>
+
+<p>Definition at line <a class="el" href="ioctls_8h_source.html#l00091">91</a> of file <a class="el" href="ioctls_8h_source.html">ioctls.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga327015c2b2e347212b571d1fa3aa2f54"></a><!-- doxytag: member="ioctls.h::BIOCSRTIMEOUT" ref="ga327015c2b2e347212b571d1fa3aa2f54" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BIOCSRTIMEOUT&nbsp;&nbsp;&nbsp;7416</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>IOCTL code: set the read timeout. </p>
+<p>This command sets the maximum timeout after which a read is released, also if no data packets were received. </p>
+
+<p>Definition at line <a class="el" href="ioctls_8h_source.html#l00082">82</a> of file <a class="el" href="ioctls_8h_source.html">ioctls.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga1436997ce2947bbbe22b5400254438a1"></a><!-- doxytag: member="ioctls.h::BIOCSWRITEREP" ref="ga1436997ce2947bbbe22b5400254438a1" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BIOCSWRITEREP&nbsp;&nbsp;&nbsp;7413</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>IOCTL code: set number of physical repetions of every packet written by the app. </p>
+<p>Sets the number of times a single write call must be repeated. This command sets the <a class="el" href="struct__OPEN__INSTANCE.html#af6b5b0a348f7a40d795b554b0eceed73">OPEN_INSTANCE::Nwrites</a> member, and is used to implement the 'multiple write' feature of the driver. </p>
+
+<p>Definition at line <a class="el" href="ioctls_8h_source.html#l00099">99</a> of file <a class="el" href="ioctls_8h_source.html">ioctls.h</a>.</p>
+
+</div>
+</div>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/group__NPF__jitter.html b/3rdparty/winpcap/docs/html/group__NPF__jitter.html
new file mode 100644
index 00000000000..b3edb271ad4
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/group__NPF__jitter.html
@@ -0,0 +1,1652 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: NPF Just-in-time compiler definitions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>NPF Just-in-time compiler definitions<br/>
+<small>
+[<a class="el" href="group__NPF.html">NPF driver internals manual</a>]</small>
+</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbinary__stream.html">binary_stream</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A stream of X86 binary code. <a href="structbinary__stream.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structJIT__BPF__Filter.html">JIT_BPF_Filter</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure describing a x86 filtering program created by the jitter. <a href="structJIT__BPF__Filter.html#_details">More...</a><br/></td></tr>
+<tr><td colspan="2"><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga2fa1397b8142d609008de2e71c83e854">EAX</a>&nbsp;&nbsp;&nbsp;0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gae52163bab922ab29302d224786b8526d">ECX</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga8104635452d33b8536b33b551d98998f">EDX</a>&nbsp;&nbsp;&nbsp;2</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gab115c151477ddd6da5358ddc00071052">EBX</a>&nbsp;&nbsp;&nbsp;3</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga473a7f647ac8d1f222e106f074c43727">ESP</a>&nbsp;&nbsp;&nbsp;4</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga220a1f7741c506d2c73c9d5f0c3ad036">EBP</a>&nbsp;&nbsp;&nbsp;5</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gad4c46ad303098e5253b9216faff99d48">ESI</a>&nbsp;&nbsp;&nbsp;6</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gaebb930ae9eecaa5a8fa94d2ef4f159e0">EDI</a>&nbsp;&nbsp;&nbsp;7</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gaabc40350f8f80c9c718c44dea61e10fe">AX</a>&nbsp;&nbsp;&nbsp;0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga0b4c12a5dc8490a3cff8385334db2d13">CX</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga3bcbb4f56d33efbe2456169e4d94c644">DX</a>&nbsp;&nbsp;&nbsp;2</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga0f37ffb2213a7e5ab25da072e87193ac">BX</a>&nbsp;&nbsp;&nbsp;3</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gaecd69d9a67487cc45c38eb184c50538a">SP</a>&nbsp;&nbsp;&nbsp;4</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga82b271e081de4cfb35eb87b0c13dddba">BP</a>&nbsp;&nbsp;&nbsp;5</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gaa1be7844620ac7bffe73137a180aa044">SI</a>&nbsp;&nbsp;&nbsp;6</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gacabe1ee3d11be6214c678bf4dabda3c9">DI</a>&nbsp;&nbsp;&nbsp;7</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gae56562740b1159ed03061cecec40f609">AL</a>&nbsp;&nbsp;&nbsp;0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga8f4ea5fa21d42f950b5f95a91e9ff227">CL</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga7c70057f4ac04e167029eef16e7bb770">DL</a>&nbsp;&nbsp;&nbsp;2</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gad567ea9864a3046e47ab69cdc050ecfa">BL</a>&nbsp;&nbsp;&nbsp;3</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga6b0eac20fe309e12eec4f204ed2cf789">MOVid</a>(r32, i32)&nbsp;&nbsp;&nbsp;emitm(&amp;stream, 11 &lt;&lt; 4 | 1 &lt;&lt; 3 | r32 &amp; 0x7, 1); emitm(&amp;stream, i32, 4);</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">mov r32,i32 <a href="#ga6b0eac20fe309e12eec4f204ed2cf789"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gabe5c6ed0ba1446cc33b33d6c9cc59819">MOVrd</a>(dr32, sr32)&nbsp;&nbsp;&nbsp;emitm(&amp;stream, 8 &lt;&lt; 4 | 3 | 1 &lt;&lt; 3, 1); emitm(&amp;stream, 3 &lt;&lt; 6 | (dr32 &amp; 0x7) &lt;&lt; 3 | sr32 &amp; 0x7, 1);</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">mov dr32,sr32 <a href="#gabe5c6ed0ba1446cc33b33d6c9cc59819"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gae6230510e546bf08451c362926e35a5a">MOVodd</a>(dr32, sr32, off)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">mov dr32,sr32[off] <a href="#gae6230510e546bf08451c362926e35a5a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga4088a2e95640bad67561e29de7f7559c">MOVobd</a>(dr32, sr32, or32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">mov dr32,sr32[or32] <a href="#ga4088a2e95640bad67561e29de7f7559c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gab6d82c4f6d0f83d28f1390363ce6aaf6">MOVobw</a>(dr32, sr32, or32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">mov dr16,sr32[or32] <a href="#gab6d82c4f6d0f83d28f1390363ce6aaf6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga737d1a1dbf2cf21569a923c9309d4222">MOVobb</a>(dr8, sr32, or32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">mov dr8,sr32[or32] <a href="#ga737d1a1dbf2cf21569a923c9309d4222"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga1dff1655d4ad86048c3d3541b66c1ac7">MOVomd</a>(dr32, or32, sr32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">mov [dr32][or32],sr32 <a href="#ga1dff1655d4ad86048c3d3541b66c1ac7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gae23323bfdb114db0bf84e73f69adf3ba">BSWAP</a>(dr32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">bswap dr32 <a href="#gae23323bfdb114db0bf84e73f69adf3ba"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga3918dfe9cdec919e2331a472ff76470f">SWAP_AX</a>()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">xchg al,ah <a href="#ga3918dfe9cdec919e2331a472ff76470f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gaea36ce6a00fb793cb4fa9046a65e4e32">PUSH</a>(r32)&nbsp;&nbsp;&nbsp;emitm(&amp;stream, 5 &lt;&lt; 4 | 0 &lt;&lt; 3 | r32 &amp; 0x7, 1);</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">push r32 <a href="#gaea36ce6a00fb793cb4fa9046a65e4e32"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga6da555dded4ddd3b9b053dd3218dc631">POP</a>(r32)&nbsp;&nbsp;&nbsp;emitm(&amp;stream, 5 &lt;&lt; 4 | 1 &lt;&lt; 3 | r32 &amp; 0x7, 1);</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pop r32 <a href="#ga6da555dded4ddd3b9b053dd3218dc631"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gaea5f5503d3239c71deb8366c013d6866">RET</a>()&nbsp;&nbsp;&nbsp;emitm(&amp;stream, 12 &lt;&lt; 4 | 0 &lt;&lt; 3 | 3, 1);</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ret <a href="#gaea5f5503d3239c71deb8366c013d6866"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga406c664d3efbbc2d75412722ebec9892">ADDrd</a>(dr32, sr32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">add dr32,sr32 <a href="#ga406c664d3efbbc2d75412722ebec9892"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga8a2dc91cd2750ca191cb52ee28c20026">ADD_EAXi</a>(i32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">add eax,i32 <a href="#ga8a2dc91cd2750ca191cb52ee28c20026"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga78c9a376702f4d6227d3f4c3fde45f33">ADDid</a>(r32, i32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">add r32,i32 <a href="#ga78c9a376702f4d6227d3f4c3fde45f33"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga662520f1b50ce47a5019ece610362a5d">ADDib</a>(r32, i8)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">add r32,i8 <a href="#ga662520f1b50ce47a5019ece610362a5d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gaa3a75062cb78c0956f063797cfd4c065">SUBrd</a>(dr32, sr32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">sub dr32,sr32 <a href="#gaa3a75062cb78c0956f063797cfd4c065"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga99d023823bbf183e389ebac6cd7d9897">SUB_EAXi</a>(i32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">sub eax,i32 <a href="#ga99d023823bbf183e389ebac6cd7d9897"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga6522410ee041327aa6ab223875d84690">MULrd</a>(r32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">mul r32 <a href="#ga6522410ee041327aa6ab223875d84690"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gacf243ff85add192cb3105fb7a7911a7d">DIVrd</a>(r32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">div r32 <a href="#gacf243ff85add192cb3105fb7a7911a7d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gab3eed598cc38c958c42cf0a861948bbb">ANDib</a>(r8, i8)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">and r8,i8 <a href="#gab3eed598cc38c958c42cf0a861948bbb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga95bf0579f50e1b94e217b31e2016fa62">ANDid</a>(r32, i32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">and r32,i32 <a href="#ga95bf0579f50e1b94e217b31e2016fa62"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga7828add99946b35b9e718a0f23ec7e65">ANDrd</a>(dr32, sr32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">and dr32,sr32 <a href="#ga7828add99946b35b9e718a0f23ec7e65"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga15317b93f1d8d9cf088bc9f91ace844b">ORrd</a>(dr32, sr32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">or dr32,sr32 <a href="#ga15317b93f1d8d9cf088bc9f91ace844b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gad16914336faf4604944facbd4c20d942">ORid</a>(r32, i32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">or r32,i32 <a href="#gad16914336faf4604944facbd4c20d942"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga42b8bbc156c89aef4676834480129221">SHLib</a>(r32, i8)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">shl r32,i8 <a href="#ga42b8bbc156c89aef4676834480129221"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gaba18f7228bd4b7775209dca22201f77f">SHL_CLrb</a>(dr32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">shl dr32,cl <a href="#gaba18f7228bd4b7775209dca22201f77f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga5b4c050f10f024995d4b721c1fc6f3d3">SHRib</a>(r32, i8)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">shr r32,i8 <a href="#ga5b4c050f10f024995d4b721c1fc6f3d3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga2c2cfe760fe83b9577ddcff9b87d8ab5">SHR_CLrb</a>(dr32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">shr dr32,cl <a href="#ga2c2cfe760fe83b9577ddcff9b87d8ab5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga032ba5ad2d179d6d8d1fe24457126621">NEGd</a>(r32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">neg r32 <a href="#ga032ba5ad2d179d6d8d1fe24457126621"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gafaea7a7a2968bf20db43abae63b865fa">CMPodd</a>(dr32, sr32, off)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">cmp dr32,sr32[off] <a href="#gafaea7a7a2968bf20db43abae63b865fa"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gad2db4a7b20890227d0dfeccae16710e6">CMPrd</a>(dr32, sr32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">cmp dr32,sr32 <a href="#gad2db4a7b20890227d0dfeccae16710e6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga8bf965a6a78db5894fbee77707652516">CMPid</a>(dr32, i32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">cmp dr32,i32 <a href="#ga8bf965a6a78db5894fbee77707652516"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga2f57f0e5ef7e33157d7a7983be7a85ef">JNEb</a>(off8)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">jne off32 <a href="#ga2f57f0e5ef7e33157d7a7983be7a85ef"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga3ad47796cfcb6867e44b0f82c8906bee">JE</a>(off32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">je off32 <a href="#ga3ad47796cfcb6867e44b0f82c8906bee"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga406f0ee4d13f16d867e48bae8c9ffba7">JLE</a>(off32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">jle off32 <a href="#ga406f0ee4d13f16d867e48bae8c9ffba7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga0987b591887a2ea41c2ba108729f30cb">JLEb</a>(off8)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">jle off8 <a href="#ga0987b591887a2ea41c2ba108729f30cb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga714569f0abf518185dab9bbc44f61e26">JA</a>(off32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ja off32 <a href="#ga714569f0abf518185dab9bbc44f61e26"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gafa60b85ba5e6d1180f7fb7c1843413d5">JAE</a>(off32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">jae off32 <a href="#gafa60b85ba5e6d1180f7fb7c1843413d5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gab7aa640b19ad1d6e32833b40ee963407">JG</a>(off32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">jg off32 <a href="#gab7aa640b19ad1d6e32833b40ee963407"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga0b03c2a76f68eb3698320a001a5f5eae">JGE</a>(off32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">jge off32 <a href="#ga0b03c2a76f68eb3698320a001a5f5eae"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga76425614ab26cca1839d7378c0fd1c55">JMP</a>(off32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">jmp off32 <a href="#ga76425614ab26cca1839d7378c0fd1c55"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef UINT(__cdecl *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga55e96d93d223cecaa3c69437c1603c29">BPF_filter_function</a> )(PVOID *, ULONG, UINT)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prototype of a filtering function created by the jitter. <a href="#ga55e96d93d223cecaa3c69437c1603c29"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga9b8427d5c2ee2075f766226a6e53bfad">emit_func</a> )(<a class="el" href="structbinary__stream.html">binary_stream</a> *stream, ULONG value, UINT n)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prototype of the emit functions. <a href="#ga9b8427d5c2ee2075f766226a6e53bfad"></a><br/></td></tr>
+</table>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="ga8a2dc91cd2750ca191cb52ee28c20026"></a><!-- doxytag: member="jitter.h::ADD_EAXi" ref="ga8a2dc91cd2750ca191cb52ee28c20026" args="(i32)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define ADD_EAXi</td>
+ <td>(</td>
+ <td class="paramtype">i32&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">emitm(&amp;stream, 0x05, 1);\
+ emitm(&amp;stream, i32, 4);
+</pre></div>
+<p>add eax,i32 </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00175">175</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga662520f1b50ce47a5019ece610362a5d"></a><!-- doxytag: member="jitter.h::ADDib" ref="ga662520f1b50ce47a5019ece610362a5d" args="(r32, i8)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define ADDib</td>
+ <td>(</td>
+ <td class="paramtype">r32, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">i8&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">emitm(&amp;stream, 0x83, 1);\
+ emitm(&amp;stream, 24 &lt;&lt; 3 | r32, 1);\
+ emitm(&amp;stream, i8, 1);
+</pre></div>
+<p>add r32,i8 </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00186">186</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga78c9a376702f4d6227d3f4c3fde45f33"></a><!-- doxytag: member="jitter.h::ADDid" ref="ga78c9a376702f4d6227d3f4c3fde45f33" args="(r32, i32)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define ADDid</td>
+ <td>(</td>
+ <td class="paramtype">r32, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">i32&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">emitm(&amp;stream, 0x81, 1);\
+ emitm(&amp;stream, 24 &lt;&lt; 3 | r32, 1);\
+ emitm(&amp;stream, i32, 4);
+</pre></div>
+<p>add r32,i32 </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00180">180</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga406c664d3efbbc2d75412722ebec9892"></a><!-- doxytag: member="jitter.h::ADDrd" ref="ga406c664d3efbbc2d75412722ebec9892" args="(dr32, sr32)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define ADDrd</td>
+ <td>(</td>
+ <td class="paramtype">dr32, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">sr32&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">emitm(&amp;stream, 0x03, 1);\
+ emitm(&amp;stream, 3 &lt;&lt; 6 | (dr32 &amp; 0x7) &lt;&lt; 3 | (sr32 &amp; 0x7), 1);
+</pre></div>
+<p>add dr32,sr32 </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00170">170</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gae56562740b1159ed03061cecec40f609"></a><!-- doxytag: member="jitter.h::AL" ref="gae56562740b1159ed03061cecec40f609" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define AL&nbsp;&nbsp;&nbsp;0</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00063">63</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gab3eed598cc38c958c42cf0a861948bbb"></a><!-- doxytag: member="jitter.h::ANDib" ref="gab3eed598cc38c958c42cf0a861948bbb" args="(r8, i8)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define ANDib</td>
+ <td>(</td>
+ <td class="paramtype">r8, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">i8&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">emitm(&amp;stream, 0x80, 1);\
+ emitm(&amp;stream, 7 &lt;&lt; 5 | r8, 1);\
+ emitm(&amp;stream, i8, 1);
+</pre></div>
+<p>and r8,i8 </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00212">212</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga95bf0579f50e1b94e217b31e2016fa62"></a><!-- doxytag: member="jitter.h::ANDid" ref="ga95bf0579f50e1b94e217b31e2016fa62" args="(r32, i32)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define ANDid</td>
+ <td>(</td>
+ <td class="paramtype">r32, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">i32&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">if</span> (r32 == <a class="code" href="group__NPF__jitter.html#ga2fa1397b8142d609008de2e71c83e854">EAX</a>){ \
+ emitm(&amp;stream, 0x25, 1);\
+ emitm(&amp;stream, i32, 4);}\
+ <span class="keywordflow">else</span>{ \
+ emitm(&amp;stream, 0x81, 1);\
+ emitm(&amp;stream, 7 &lt;&lt; 5 | r32, 1);\
+ emitm(&amp;stream, i32, 4);}
+</pre></div>
+<p>and r32,i32 </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00218">218</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga7828add99946b35b9e718a0f23ec7e65"></a><!-- doxytag: member="jitter.h::ANDrd" ref="ga7828add99946b35b9e718a0f23ec7e65" args="(dr32, sr32)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define ANDrd</td>
+ <td>(</td>
+ <td class="paramtype">dr32, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">sr32&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">emitm(&amp;stream, 0x23, 1);\
+ emitm(&amp;stream, 3 &lt;&lt; 6 | (dr32 &amp; 0x7) &lt;&lt; 3 | sr32 &amp; 0x7, 1);
+</pre></div>
+<p>and dr32,sr32 </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00228">228</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaabc40350f8f80c9c718c44dea61e10fe"></a><!-- doxytag: member="jitter.h::AX" ref="gaabc40350f8f80c9c718c44dea61e10fe" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define AX&nbsp;&nbsp;&nbsp;0</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00054">54</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gad567ea9864a3046e47ab69cdc050ecfa"></a><!-- doxytag: member="jitter.h::BL" ref="gad567ea9864a3046e47ab69cdc050ecfa" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BL&nbsp;&nbsp;&nbsp;3</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00066">66</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga82b271e081de4cfb35eb87b0c13dddba"></a><!-- doxytag: member="jitter.h::BP" ref="ga82b271e081de4cfb35eb87b0c13dddba" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BP&nbsp;&nbsp;&nbsp;5</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00059">59</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gae23323bfdb114db0bf84e73f69adf3ba"></a><!-- doxytag: member="jitter.h::BSWAP" ref="gae23323bfdb114db0bf84e73f69adf3ba" args="(dr32)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BSWAP</td>
+ <td>(</td>
+ <td class="paramtype">dr32&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">emitm(&amp;stream, 0xf, 1); \
+ emitm(&amp;stream, 0x19 &lt;&lt; 3 | dr32 , 1);
+</pre></div>
+<p>bswap dr32 </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00148">148</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga0f37ffb2213a7e5ab25da072e87193ac"></a><!-- doxytag: member="jitter.h::BX" ref="ga0f37ffb2213a7e5ab25da072e87193ac" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BX&nbsp;&nbsp;&nbsp;3</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00057">57</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga8f4ea5fa21d42f950b5f95a91e9ff227"></a><!-- doxytag: member="jitter.h::CL" ref="ga8f4ea5fa21d42f950b5f95a91e9ff227" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define CL&nbsp;&nbsp;&nbsp;1</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00064">64</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga8bf965a6a78db5894fbee77707652516"></a><!-- doxytag: member="jitter.h::CMPid" ref="ga8bf965a6a78db5894fbee77707652516" args="(dr32, i32)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define CMPid</td>
+ <td>(</td>
+ <td class="paramtype">dr32, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">i32&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">if</span> (dr32 == <a class="code" href="group__NPF__jitter.html#ga2fa1397b8142d609008de2e71c83e854">EAX</a>){ \
+ emitm(&amp;stream, 0x3d, 1); \
+ emitm(&amp;stream, i32, 4);} \
+ <span class="keywordflow">else</span>{ \
+ emitm(&amp;stream, 0x81, 1); \
+ emitm(&amp;stream, 0x1f &lt;&lt; 3 | (dr32 &amp; 0x7), 1);\
+ emitm(&amp;stream, i32, 4);}
+</pre></div>
+<p>cmp dr32,i32 </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00286">286</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gafaea7a7a2968bf20db43abae63b865fa"></a><!-- doxytag: member="jitter.h::CMPodd" ref="gafaea7a7a2968bf20db43abae63b865fa" args="(dr32, sr32, off)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define CMPodd</td>
+ <td>(</td>
+ <td class="paramtype">dr32, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">sr32, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">off&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">emitm(&amp;stream, 3 &lt;&lt; 4 | 3 | 1 &lt;&lt; 3, 1); \
+ emitm(&amp;stream, 1 &lt;&lt; 6 | (dr32 &amp; 0x7) &lt;&lt; 3 | sr32 &amp; 0x7, 1);\
+ emitm(&amp;stream, off, 1);
+</pre></div>
+<p>cmp dr32,sr32[off] </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00275">275</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gad2db4a7b20890227d0dfeccae16710e6"></a><!-- doxytag: member="jitter.h::CMPrd" ref="gad2db4a7b20890227d0dfeccae16710e6" args="(dr32, sr32)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define CMPrd</td>
+ <td>(</td>
+ <td class="paramtype">dr32, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">sr32&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">emitm(&amp;stream, 0x3b, 1); \
+ emitm(&amp;stream, 3 &lt;&lt; 6 | (dr32 &amp; 0x7) &lt;&lt; 3 | sr32 &amp; 0x7, 1);
+</pre></div>
+<p>cmp dr32,sr32 </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00281">281</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga0b4c12a5dc8490a3cff8385334db2d13"></a><!-- doxytag: member="jitter.h::CX" ref="ga0b4c12a5dc8490a3cff8385334db2d13" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define CX&nbsp;&nbsp;&nbsp;1</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00055">55</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gacabe1ee3d11be6214c678bf4dabda3c9"></a><!-- doxytag: member="jitter.h::DI" ref="gacabe1ee3d11be6214c678bf4dabda3c9" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define DI&nbsp;&nbsp;&nbsp;7</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00061">61</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gacf243ff85add192cb3105fb7a7911a7d"></a><!-- doxytag: member="jitter.h::DIVrd" ref="gacf243ff85add192cb3105fb7a7911a7d" args="(r32)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define DIVrd</td>
+ <td>(</td>
+ <td class="paramtype">r32&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">emitm(&amp;stream, 0xf7, 1);\
+ emitm(&amp;stream, 15 &lt;&lt; 4 | (r32 &amp; 0x7), 1);
+</pre></div>
+<p>div r32 </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00207">207</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga7c70057f4ac04e167029eef16e7bb770"></a><!-- doxytag: member="jitter.h::DL" ref="ga7c70057f4ac04e167029eef16e7bb770" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define DL&nbsp;&nbsp;&nbsp;2</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00065">65</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga3bcbb4f56d33efbe2456169e4d94c644"></a><!-- doxytag: member="jitter.h::DX" ref="ga3bcbb4f56d33efbe2456169e4d94c644" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define DX&nbsp;&nbsp;&nbsp;2</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00056">56</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga2fa1397b8142d609008de2e71c83e854"></a><!-- doxytag: member="jitter.h::EAX" ref="ga2fa1397b8142d609008de2e71c83e854" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define EAX&nbsp;&nbsp;&nbsp;0</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00045">45</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga220a1f7741c506d2c73c9d5f0c3ad036"></a><!-- doxytag: member="jitter.h::EBP" ref="ga220a1f7741c506d2c73c9d5f0c3ad036" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define EBP&nbsp;&nbsp;&nbsp;5</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00050">50</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gab115c151477ddd6da5358ddc00071052"></a><!-- doxytag: member="jitter.h::EBX" ref="gab115c151477ddd6da5358ddc00071052" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define EBX&nbsp;&nbsp;&nbsp;3</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00048">48</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gae52163bab922ab29302d224786b8526d"></a><!-- doxytag: member="jitter.h::ECX" ref="gae52163bab922ab29302d224786b8526d" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define ECX&nbsp;&nbsp;&nbsp;1</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00046">46</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaebb930ae9eecaa5a8fa94d2ef4f159e0"></a><!-- doxytag: member="jitter.h::EDI" ref="gaebb930ae9eecaa5a8fa94d2ef4f159e0" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define EDI&nbsp;&nbsp;&nbsp;7</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00052">52</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga8104635452d33b8536b33b551d98998f"></a><!-- doxytag: member="jitter.h::EDX" ref="ga8104635452d33b8536b33b551d98998f" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define EDX&nbsp;&nbsp;&nbsp;2</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00047">47</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gad4c46ad303098e5253b9216faff99d48"></a><!-- doxytag: member="jitter.h::ESI" ref="gad4c46ad303098e5253b9216faff99d48" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define ESI&nbsp;&nbsp;&nbsp;6</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00051">51</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga473a7f647ac8d1f222e106f074c43727"></a><!-- doxytag: member="jitter.h::ESP" ref="ga473a7f647ac8d1f222e106f074c43727" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define ESP&nbsp;&nbsp;&nbsp;4</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00049">49</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga714569f0abf518185dab9bbc44f61e26"></a><!-- doxytag: member="jitter.h::JA" ref="ga714569f0abf518185dab9bbc44f61e26" args="(off32)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define JA</td>
+ <td>(</td>
+ <td class="paramtype">off32&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">emitm(&amp;stream, 0x0f, 1);\
+ emitm(&amp;stream, 0x87, 1);\
+ emitm(&amp;stream, off32, 4);
+</pre></div>
+<p>ja off32 </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00318">318</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gafa60b85ba5e6d1180f7fb7c1843413d5"></a><!-- doxytag: member="jitter.h::JAE" ref="gafa60b85ba5e6d1180f7fb7c1843413d5" args="(off32)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define JAE</td>
+ <td>(</td>
+ <td class="paramtype">off32&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">emitm(&amp;stream, 0x0f, 1);\
+ emitm(&amp;stream, 0x83, 1);\
+ emitm(&amp;stream, off32, 4);
+</pre></div>
+<p>jae off32 </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00324">324</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga3ad47796cfcb6867e44b0f82c8906bee"></a><!-- doxytag: member="jitter.h::JE" ref="ga3ad47796cfcb6867e44b0f82c8906bee" args="(off32)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define JE</td>
+ <td>(</td>
+ <td class="paramtype">off32&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">emitm(&amp;stream, 0x0f, 1);\
+ emitm(&amp;stream, 0x84, 1);\
+ emitm(&amp;stream, off32, 4);
+</pre></div>
+<p>je off32 </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00301">301</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gab7aa640b19ad1d6e32833b40ee963407"></a><!-- doxytag: member="jitter.h::JG" ref="gab7aa640b19ad1d6e32833b40ee963407" args="(off32)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define JG</td>
+ <td>(</td>
+ <td class="paramtype">off32&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">emitm(&amp;stream, 0x0f, 1);\
+ emitm(&amp;stream, 0x8f, 1);\
+ emitm(&amp;stream, off32, 4);
+</pre></div>
+<p>jg off32 </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00330">330</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga0b03c2a76f68eb3698320a001a5f5eae"></a><!-- doxytag: member="jitter.h::JGE" ref="ga0b03c2a76f68eb3698320a001a5f5eae" args="(off32)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define JGE</td>
+ <td>(</td>
+ <td class="paramtype">off32&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">emitm(&amp;stream, 0x0f, 1);\
+ emitm(&amp;stream, 0x8d, 1);\
+ emitm(&amp;stream, off32, 4);
+</pre></div>
+<p>jge off32 </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00336">336</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga406f0ee4d13f16d867e48bae8c9ffba7"></a><!-- doxytag: member="jitter.h::JLE" ref="ga406f0ee4d13f16d867e48bae8c9ffba7" args="(off32)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define JLE</td>
+ <td>(</td>
+ <td class="paramtype">off32&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">emitm(&amp;stream, 0x0f, 1);\
+ emitm(&amp;stream, 0x8e, 1);\
+ emitm(&amp;stream, off32, 4);
+</pre></div>
+<p>jle off32 </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00307">307</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga0987b591887a2ea41c2ba108729f30cb"></a><!-- doxytag: member="jitter.h::JLEb" ref="ga0987b591887a2ea41c2ba108729f30cb" args="(off8)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define JLEb</td>
+ <td>(</td>
+ <td class="paramtype">off8&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">emitm(&amp;stream, 0x7e, 1);\
+ emitm(&amp;stream, off8, 1);
+</pre></div>
+<p>jle off8 </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00313">313</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga76425614ab26cca1839d7378c0fd1c55"></a><!-- doxytag: member="jitter.h::JMP" ref="ga76425614ab26cca1839d7378c0fd1c55" args="(off32)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define JMP</td>
+ <td>(</td>
+ <td class="paramtype">off32&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">emitm(&amp;stream, 0xe9, 1);\
+ emitm(&amp;stream, off32, 4);
+</pre></div>
+<p>jmp off32 </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00342">342</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga2f57f0e5ef7e33157d7a7983be7a85ef"></a><!-- doxytag: member="jitter.h::JNEb" ref="ga2f57f0e5ef7e33157d7a7983be7a85ef" args="(off8)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define JNEb</td>
+ <td>(</td>
+ <td class="paramtype">off8&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">emitm(&amp;stream, 0x75, 1);\
+ emitm(&amp;stream, off8, 1);
+</pre></div>
+<p>jne off32 </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00296">296</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga6b0eac20fe309e12eec4f204ed2cf789"></a><!-- doxytag: member="jitter.h::MOVid" ref="ga6b0eac20fe309e12eec4f204ed2cf789" args="(r32, i32)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define MOVid</td>
+ <td>(</td>
+ <td class="paramtype">r32, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">i32&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;emitm(&amp;stream, 11 &lt;&lt; 4 | 1 &lt;&lt; 3 | r32 &amp; 0x7, 1); emitm(&amp;stream, i32, 4);</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>mov r32,i32 </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00109">109</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga737d1a1dbf2cf21569a923c9309d4222"></a><!-- doxytag: member="jitter.h::MOVobb" ref="ga737d1a1dbf2cf21569a923c9309d4222" args="(dr8, sr32, or32)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define MOVobb</td>
+ <td>(</td>
+ <td class="paramtype">dr8, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">sr32, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">or32&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">emitm(&amp;stream, 0x8a, 1); \
+ emitm(&amp;stream, (dr8 &amp; 0x7) &lt;&lt; 3 | 4 , 1);\
+ emitm(&amp;stream, (or32 &amp; 0x7) &lt;&lt; 3 | (sr32 &amp; 0x7) , 1);
+</pre></div>
+<p>mov dr8,sr32[or32] </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00136">136</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga4088a2e95640bad67561e29de7f7559c"></a><!-- doxytag: member="jitter.h::MOVobd" ref="ga4088a2e95640bad67561e29de7f7559c" args="(dr32, sr32, or32)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define MOVobd</td>
+ <td>(</td>
+ <td class="paramtype">dr32, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">sr32, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">or32&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">emitm(&amp;stream, 8 &lt;&lt; 4 | 3 | 1 &lt;&lt; 3, 1); \
+ emitm(&amp;stream, (dr32 &amp; 0x7) &lt;&lt; 3 | 4 , 1);\
+ emitm(&amp;stream, (or32 &amp; 0x7) &lt;&lt; 3 | (sr32 &amp; 0x7) , 1);
+</pre></div>
+<p>mov dr32,sr32[or32] </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00123">123</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gab6d82c4f6d0f83d28f1390363ce6aaf6"></a><!-- doxytag: member="jitter.h::MOVobw" ref="gab6d82c4f6d0f83d28f1390363ce6aaf6" args="(dr32, sr32, or32)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define MOVobw</td>
+ <td>(</td>
+ <td class="paramtype">dr32, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">sr32, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">or32&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">emitm(&amp;stream, 0x66, 1); \
+ emitm(&amp;stream, 8 &lt;&lt; 4 | 3 | 1 &lt;&lt; 3, 1); \
+ emitm(&amp;stream, (dr32 &amp; 0x7) &lt;&lt; 3 | 4 , 1);\
+ emitm(&amp;stream, (or32 &amp; 0x7) &lt;&lt; 3 | (sr32 &amp; 0x7) , 1);
+</pre></div>
+<p>mov dr16,sr32[or32] </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00129">129</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gae6230510e546bf08451c362926e35a5a"></a><!-- doxytag: member="jitter.h::MOVodd" ref="gae6230510e546bf08451c362926e35a5a" args="(dr32, sr32, off)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define MOVodd</td>
+ <td>(</td>
+ <td class="paramtype">dr32, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">sr32, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">off&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">emitm(&amp;stream, 8 &lt;&lt; 4 | 3 | 1 &lt;&lt; 3, 1); \
+ emitm(&amp;stream, 1 &lt;&lt; 6 | (dr32 &amp; 0x7) &lt;&lt; 3 | sr32 &amp; 0x7, 1);\
+ emitm(&amp;stream, off, 1);
+</pre></div>
+<p>mov dr32,sr32[off] </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00117">117</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga1dff1655d4ad86048c3d3541b66c1ac7"></a><!-- doxytag: member="jitter.h::MOVomd" ref="ga1dff1655d4ad86048c3d3541b66c1ac7" args="(dr32, or32, sr32)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define MOVomd</td>
+ <td>(</td>
+ <td class="paramtype">dr32, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">or32, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">sr32&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">emitm(&amp;stream, 0x89, 1); \
+ emitm(&amp;stream, (sr32 &amp; 0x7) &lt;&lt; 3 | 4 , 1);\
+ emitm(&amp;stream, (or32 &amp; 0x7) &lt;&lt; 3 | (dr32 &amp; 0x7) , 1);
+</pre></div>
+<p>mov [dr32][or32],sr32 </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00142">142</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gabe5c6ed0ba1446cc33b33d6c9cc59819"></a><!-- doxytag: member="jitter.h::MOVrd" ref="gabe5c6ed0ba1446cc33b33d6c9cc59819" args="(dr32, sr32)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define MOVrd</td>
+ <td>(</td>
+ <td class="paramtype">dr32, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">sr32&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;emitm(&amp;stream, 8 &lt;&lt; 4 | 3 | 1 &lt;&lt; 3, 1); emitm(&amp;stream, 3 &lt;&lt; 6 | (dr32 &amp; 0x7) &lt;&lt; 3 | sr32 &amp; 0x7, 1);</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>mov dr32,sr32 </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00113">113</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga6522410ee041327aa6ab223875d84690"></a><!-- doxytag: member="jitter.h::MULrd" ref="ga6522410ee041327aa6ab223875d84690" args="(r32)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define MULrd</td>
+ <td>(</td>
+ <td class="paramtype">r32&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">emitm(&amp;stream, 0xf7, 1);\
+ emitm(&amp;stream, 7 &lt;&lt; 5 | (r32 &amp; 0x7), 1);
+</pre></div>
+<p>mul r32 </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00202">202</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga032ba5ad2d179d6d8d1fe24457126621"></a><!-- doxytag: member="jitter.h::NEGd" ref="ga032ba5ad2d179d6d8d1fe24457126621" args="(r32)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define NEGd</td>
+ <td>(</td>
+ <td class="paramtype">r32&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">emitm(&amp;stream, 0xf7, 1);\
+ emitm(&amp;stream, 27 &lt;&lt; 3 | r32 &amp; 0x7, 1);
+</pre></div>
+<p>neg r32 </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00270">270</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gad16914336faf4604944facbd4c20d942"></a><!-- doxytag: member="jitter.h::ORid" ref="gad16914336faf4604944facbd4c20d942" args="(r32, i32)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define ORid</td>
+ <td>(</td>
+ <td class="paramtype">r32, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">i32&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">if</span> (r32 == <a class="code" href="group__NPF__jitter.html#ga2fa1397b8142d609008de2e71c83e854">EAX</a>){ \
+ emitm(&amp;stream, 0x0d, 1);\
+ emitm(&amp;stream, i32, 4);}\
+ <span class="keywordflow">else</span>{ \
+ emitm(&amp;stream, 0x81, 1);\
+ emitm(&amp;stream, 25 &lt;&lt; 3 | r32, 1);\
+ emitm(&amp;stream, i32, 4);}
+</pre></div>
+<p>or r32,i32 </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00238">238</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga15317b93f1d8d9cf088bc9f91ace844b"></a><!-- doxytag: member="jitter.h::ORrd" ref="ga15317b93f1d8d9cf088bc9f91ace844b" args="(dr32, sr32)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define ORrd</td>
+ <td>(</td>
+ <td class="paramtype">dr32, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">sr32&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">emitm(&amp;stream, 0x0b, 1);\
+ emitm(&amp;stream, 3 &lt;&lt; 6 | (dr32 &amp; 0x7) &lt;&lt; 3 | sr32 &amp; 0x7, 1);
+</pre></div>
+<p>or dr32,sr32 </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00233">233</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga6da555dded4ddd3b9b053dd3218dc631"></a><!-- doxytag: member="jitter.h::POP" ref="ga6da555dded4ddd3b9b053dd3218dc631" args="(r32)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define POP</td>
+ <td>(</td>
+ <td class="paramtype">r32&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;emitm(&amp;stream, 5 &lt;&lt; 4 | 1 &lt;&lt; 3 | r32 &amp; 0x7, 1);</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>pop r32 </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00162">162</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaea36ce6a00fb793cb4fa9046a65e4e32"></a><!-- doxytag: member="jitter.h::PUSH" ref="gaea36ce6a00fb793cb4fa9046a65e4e32" args="(r32)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PUSH</td>
+ <td>(</td>
+ <td class="paramtype">r32&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;emitm(&amp;stream, 5 &lt;&lt; 4 | 0 &lt;&lt; 3 | r32 &amp; 0x7, 1);</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>push r32 </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00158">158</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaea5f5503d3239c71deb8366c013d6866"></a><!-- doxytag: member="jitter.h::RET" ref="gaea5f5503d3239c71deb8366c013d6866" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RET</td>
+ <td>(</td>
+&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;emitm(&amp;stream, 12 &lt;&lt; 4 | 0 &lt;&lt; 3 | 3, 1);</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>ret </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00166">166</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaba18f7228bd4b7775209dca22201f77f"></a><!-- doxytag: member="jitter.h::SHL_CLrb" ref="gaba18f7228bd4b7775209dca22201f77f" args="(dr32)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define SHL_CLrb</td>
+ <td>(</td>
+ <td class="paramtype">dr32&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">emitm(&amp;stream, 0xd3, 1);\
+ emitm(&amp;stream, 7 &lt;&lt; 5 | dr32 &amp; 0x7, 1);
+</pre></div>
+<p>shl dr32,cl </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00254">254</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga42b8bbc156c89aef4676834480129221"></a><!-- doxytag: member="jitter.h::SHLib" ref="ga42b8bbc156c89aef4676834480129221" args="(r32, i8)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define SHLib</td>
+ <td>(</td>
+ <td class="paramtype">r32, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">i8&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">emitm(&amp;stream, 0xc1, 1);\
+ emitm(&amp;stream, 7 &lt;&lt; 5 | r32 &amp; 0x7, 1);\
+ emitm(&amp;stream, i8, 1);
+</pre></div>
+<p>shl r32,i8 </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00248">248</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga2c2cfe760fe83b9577ddcff9b87d8ab5"></a><!-- doxytag: member="jitter.h::SHR_CLrb" ref="ga2c2cfe760fe83b9577ddcff9b87d8ab5" args="(dr32)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define SHR_CLrb</td>
+ <td>(</td>
+ <td class="paramtype">dr32&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">emitm(&amp;stream, 0xd3, 1);\
+ emitm(&amp;stream, 29 &lt;&lt; 3 | dr32 &amp; 0x7, 1);
+</pre></div>
+<p>shr dr32,cl </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00265">265</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga5b4c050f10f024995d4b721c1fc6f3d3"></a><!-- doxytag: member="jitter.h::SHRib" ref="ga5b4c050f10f024995d4b721c1fc6f3d3" args="(r32, i8)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define SHRib</td>
+ <td>(</td>
+ <td class="paramtype">r32, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">i8&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">emitm(&amp;stream, 0xc1, 1);\
+ emitm(&amp;stream, 29 &lt;&lt; 3 | r32 &amp; 0x7, 1);\
+ emitm(&amp;stream, i8, 1);
+</pre></div>
+<p>shr r32,i8 </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00259">259</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaa1be7844620ac7bffe73137a180aa044"></a><!-- doxytag: member="jitter.h::SI" ref="gaa1be7844620ac7bffe73137a180aa044" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define SI&nbsp;&nbsp;&nbsp;6</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00060">60</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaecd69d9a67487cc45c38eb184c50538a"></a><!-- doxytag: member="jitter.h::SP" ref="gaecd69d9a67487cc45c38eb184c50538a" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define SP&nbsp;&nbsp;&nbsp;4</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00058">58</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga99d023823bbf183e389ebac6cd7d9897"></a><!-- doxytag: member="jitter.h::SUB_EAXi" ref="ga99d023823bbf183e389ebac6cd7d9897" args="(i32)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define SUB_EAXi</td>
+ <td>(</td>
+ <td class="paramtype">i32&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">emitm(&amp;stream, 0x2d, 1);\
+ emitm(&amp;stream, i32, 4);
+</pre></div>
+<p>sub eax,i32 </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00197">197</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaa3a75062cb78c0956f063797cfd4c065"></a><!-- doxytag: member="jitter.h::SUBrd" ref="gaa3a75062cb78c0956f063797cfd4c065" args="(dr32, sr32)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define SUBrd</td>
+ <td>(</td>
+ <td class="paramtype">dr32, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">sr32&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">emitm(&amp;stream, 0x2b, 1);\
+ emitm(&amp;stream, 3 &lt;&lt; 6 | (dr32 &amp; 0x7) &lt;&lt; 3 | (sr32 &amp; 0x7), 1);
+</pre></div>
+<p>sub dr32,sr32 </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00192">192</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga3918dfe9cdec919e2331a472ff76470f"></a><!-- doxytag: member="jitter.h::SWAP_AX" ref="ga3918dfe9cdec919e2331a472ff76470f" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define SWAP_AX</td>
+ <td>(</td>
+&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">emitm(&amp;stream, 0x86, 1); \
+ emitm(&amp;stream, 0xc4 , 1);
+</pre></div>
+<p>xchg al,ah </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00153">153</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="ga55e96d93d223cecaa3c69437c1603c29"></a><!-- doxytag: member="jitter.h::BPF_filter_function" ref="ga55e96d93d223cecaa3c69437c1603c29" args=")(PVOID *, ULONG, UINT)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef UINT(__cdecl * <a class="el" href="group__NPF__jitter.html#ga55e96d93d223cecaa3c69437c1603c29">BPF_filter_function</a>)(PVOID *, ULONG, UINT)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Prototype of a filtering function created by the jitter. </p>
+<p>The syntax and the meaning of the parameters is analogous to the one of bpf_filter(). Notice that the filter is not among the parameters, because it is hardwired in the function. </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00082">82</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga9b8427d5c2ee2075f766226a6e53bfad"></a><!-- doxytag: member="jitter.h::emit_func" ref="ga9b8427d5c2ee2075f766226a6e53bfad" args=")(binary_stream *stream, ULONG value, UINT n)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef void(* <a class="el" href="group__NPF__jitter.html#ga9b8427d5c2ee2075f766226a6e53bfad">emit_func</a>)(<a class="el" href="structbinary__stream.html">binary_stream</a> *stream, ULONG value, UINT n)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Prototype of the emit functions. </p>
+<p>Different emit functions are used to create the reference table and to generate the actual filtering code. This allows to have simpler instruction macros. The first parameter is the stream that will receive the data. The secon one is a variable containing the data, the third one is the length, that can be 1,2 or 4 since it is possible to emit a byte, a short or a work at a time. </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00092">92</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/group__compilation.html b/3rdparty/winpcap/docs/html/group__compilation.html
new file mode 100644
index 00000000000..8a7e1400490
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/group__compilation.html
@@ -0,0 +1,242 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: How to compile WinPcap</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>How to compile WinPcap<br/>
+<small>
+[<a class="el" href="group__internals.html">WinPcap internals</a>]</small>
+</h1><table border="0" cellpadding="0" cellspacing="0">
+</table>
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta name="GENERATOR" content="Microsoft FrontPage 6.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<title></title>
+</head>
+
+<body>
+<p>This section explains how to compile WinPcap, both the kernel level and
+the user-level portion, on the various Win32 platforms. The source code can be
+found on the <a href="http://www.winpcap.org/">WinPcap website</a>.</p>
+<h2>Compiling the driver</h2>
+<p>Two main NPF source trees are available for compilation:&nbsp; Windows NTx and Windows 9x. Note that, since the NPF
+Driver is platform-dependent, it is STRONGLY suggested to compile it for the OS where it will be used, in order to
+link the correct DDK libraries. For example, if you compile the
+driver with the Windows NT 4 DDK, it will not work properly on Windows 2000 and
+vice versa.</p>
+<h3>Compiling the driver for Windows NT4</h3>
+<p>Software requirements:</p>
+<ul>
+ <li>Microsoft Driver Developer Kit (DDK) for Windows NT4</li>
+ <li>A recent version of the Microsoft Platform Software Development Kit
+ (SDK) that is compatible with Visual Studio 6 (the latest compatible one is
+ Platform SDK February 2003). This version of the PSDK is available on the
+ Microsoft web site at
+ <a href="http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm">
+ http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm</a>.
+ It can be ordered online at
+ <a href="http://www.qmedia.ca/launch/psdk.htm">
+ http://www.qmedia.ca/launch/psdk.htm</a>, and it's also available to
+ Microsoft MSDN subscribers on the Subscribers Downloads web site.<li>Microsoft Visual C++ 6.0
+ with Service Pack 5 or 6 (both the service packs are available online on the
+ Microsoft web site).</ul>
+<p>If your system satisfies these requirements, follow these steps:</p>
+<ol>
+ <li>From the Windows NT Start menu, select the folder <em>Programs</em> and
+ then <i>Development Kits</i>, then <em>Windows NT4 DDK.</em> From here select the voice
+ <em>Checked Build
+ Environment</em> if you want to build a debug version, or <em>Free Build
+ Environment</em> if you want to build a release version.
+ <li>A command prompt will be opened. Move to the directory PacketNTx inside the
+ WinPcap source folder and type the command<br><br><i>CompileDriver<br></i>
+ <br>This script will generate the driver (npf.sys). The binary will be put in
+ one of these folders<ul>
+ <li><i>Free Build Environment: </i>winpcap\PacketNTx\driver\bin\NT4\i386\free</li>
+ <li><i>Checked Build Environment: </i>winpcap\PacketNTx\driver\bin\NT4\i386\checked</li>
+ </ul>
+</ol>
+<p><b>Warning</b>: sometimes, during the compilation of the driver, a lot of
+'last line incomplete' errors are generated. Ignore these errors and let the
+compilation process continue, they are due to bugs in some DDK versions.</p>
+<h3>Compiling the driver for Windows 2000/XP/2003/Vista/2008/Win7/2008R2 (x86 and x64)</h3>
+<p>Software requirements:</p>
+<ul>
+ <li>Microsoft Windows Driver Kit (WDK) 6001.18002. As of release 4.1,
+ WinPcap is compiled with WDK 6001.18002.</li>
+</ul>
+<p>NOTE: it should be possible to use older DDKs to compile WinPcap, but you
+might need to
+manually modify the compilation scripts in order to disable PREfast (PREfast is
+a static code analysis tool shipped with recent versions of the DDK/WDK).</p>
+<p>If your system satisfies these requirements, follow these steps:</p>
+<ol>
+ <li>From the Windows Start menu, select the folder <em>Programs</em> and
+ then <i>Windows Driver K</i>, then <em>WDK 6001.18002</em>, then <em>Build Environments</em>.<ul>
+ <li>x86 driver: Choose <em>Windows 2000</em> and then <em>Windows 2000 x86 Free Build Environment </em>if you want to build a release version or <em>Windows 2000
+ x86 Checked Build Environment </em>if you want to build a debug version.</li>
+ <li>x64 driver: Choose <em>Windows Server 2003</em> and then <em>Windows
+ Server 2003 x64 Free&nbsp;Build Environment </em>if you want to build a release version or
+ <em>Windows Server 2003
+ x64 Checked Build Environment </em>if you want to build a debug version.</li>
+ </ul>
+ <li>A command prompt will be opened. Move to the directory PacketNTx inside the
+ WinPcap source folder and type the command<br><br><i>CompileDriver<br></i>
+ <br>This script will generate the driver (npf.sys). The binary will be put in
+ one of these folders<ul>
+ <li><i>x86 driver (both Free and Checked Build): </i>winpcap\PacketNTx\driver\bin\i386</li>
+ <li><i>x64 driver (both Free and Checked Build): </i>winpcap\PacketNTx\driver\bin\amd64</li>
+ </ul>
+ </ol>
+<h3>Compiling the driver on Windows 9x</h3>
+<p><font color="#FF0000">NOTE: this Windows platform is no longer supported by
+WinPcap. However, the sources for these operating systems are still available in
+the sources package.</font></p>
+<p>To compile the driver for Windows 9x you will need:</p>
+<ul>
+ <li>Driver Developer Kit (DDK) for Windows 95/98/ME
+ <li>A recent version of the Microsoft Platform Software Development Kit (SDK)
+ that is compatible with Visual Studio 6 (the latest compatible one is
+ Platform SDK February 2003). This version of the PSDK is available on the
+ Microsoft web site at
+ <a href="http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm">
+ http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm</a>.
+ It can be ordered online at
+ <a href="http://www.qmedia.ca/launch/psdk.htm">
+ http://www.qmedia.ca/launch/psdk.htm</a>, and it's also available to
+ Microsoft MSDN subscribers on the Subscribers Downloads web site.<li>Microsoft Visual C++ 6.0
+ with Service Pack 5 or 6 (both the service packs are available online on the
+ Microsoft web site).</ul>
+<p>The steps to follow are:</p>
+<ol>
+ <li>Open a DOS shell
+ <li>Go to the VisualC++ BIN directory (for example C:\DEVSTUDIO\VC\BIN) and
+ execute the command<br>
+ <br>
+ <em>Vcvars32<br>
+ </em>
+ <li>Go to the SDK directory (for example C:\MSSDK) and execute the command<br>
+ <br>
+ <em>Setenv sdk_path</em><br>
+ <br>
+ where <em>sdk_path</em> is the directory of SDK (for example Setenv C:\MSSDK)
+ <li>Go to the DDK directory (for example C:\DDK) and execute the command<br>
+ <br>
+ <em>Ddkenv 32 net<br>
+ </em>
+ <li>Move to the directory whit the driver's source code and type the command<br>
+ <br>
+ <em>nmake rtl<br>
+ <br>
+ </em>to obtain a release version, or<br>
+ <br>
+ <em>nmake<br>
+ <br>
+ </em>to obtain a debug version.<br>The release version of <i>packet.vxd</i> will be placed in the
+ <em>retail</em>
+ directory, the debug version in the <em>debug</em> directory.</li>
+</ol>
+<p><strong>Warning</strong>: On some systems the NMAKE utility is not able to
+launch ADRC2VXD, this means that the driver binary is generated correctly, but
+without the copyright information. We don't know the cause of this problem.</p>
+<h2>Compiling packet.dll</h2>
+<p>The source tree for this DLL is located in PacketNTx\dll\.</p>
+<p><font color="#FF0000">NOTE: the 9x family of Windows operating systems is no longer supported
+by WinPcap. However, the sources for these operating systems are still available
+in the sources package.</font></p>
+<p>Software requirements:</p>
+<ul>
+ <li>Microsoft Visual Studio 2005 SP1. It's theoretically possible to compile
+ the x86 version with Visual Studio 6, but the project files are no longer
+ maintained.<li>The AirPcap developer's pack from
+ <a href="http://www.cacetech.com/products/airpcap.htm">
+ http://www.cacetech.com/products/airpcap.htm</a>. The AirPcap developer's
+ pack needs to be unzipped in a folder in the same folder where the WinPcap
+ sources have been unzipped.</ul>
+<p>To compile the PACKET.DLL, load the project <i>packet.sln</i> contained in the directory PacketNTx\dll\project
+in Visual Studio 2005. There are several project
+configurations, each of them available for the x86 (Win32) and x64 platforms:</p>
+<ul>
+ <li><i>Release</i>: standard release configuration</li>
+ <li><i>Debug</i>: standard debug configuration</li>
+ <li><i>Release NT4</i>: release configuration able to run on
+ NT4. It does not include Wan and IP helper API support.</li>
+ <li><i>Debug NT4</i>: debug configuration able to run on
+ NT4. It does not include Wan and IP helper API support.</li>
+ <li><i>Release No NetMon</i>: release configuration able to run on
+ Vista. It
+ does not include Wan support (with the NetMon API).</li>
+ <li><i>Debug No NetMon</i>: debug configuration able to run on
+ Vista. It
+ does not include Wan support (with the NetMon API).</li>
+ <li><i>Release LOG_TO_FILE</i>: standard release configuration with tracing to
+ file enabled.</li>
+ <li><i>Release NT4 LOG_TO_FILE</i>: release configuration able to run on
+ NT4 with tracing to file enabled. It does not include Wan and IP helper API support.</li>
+ <li><i>Release No NetMon LOG_TO_FILE</i>: release configuration able to run on
+ Vista with tracing to file enabled. It
+ does not include Wan support (with the NetMon API).</li>
+</ul>
+<p>Choose the desired configuration and build the project to obtain the binary
+files.</p>
+<h2>Compiling wpcap.dll</h2>
+<p>wpcap.dll can be compiled for any Win32 platform and the generated dll is system independent.</p>
+<p>System Requirements:</p>
+<ul>
+ <li>Microsoft Visual Studio 2005 SP1. It's theoretically possible to compile
+ the x86 version with Visual Studio 6, but the project files are no longer
+ maintained.<li>The AirPcap developer's pack from
+ <a href="http://www.cacetech.com/products/airpcap.htm">
+ http://www.cacetech.com/products/airpcap.htm</a>. The AirPcap developer's
+ pack needs to be unzipped in a folder in the same folder where the WinPcap
+ sources have been unzipped.There are eight build project configurations:</ul>
+<p>To compile the wpcap.dll, load the project <i>wpcap.sln</i> contained in the directory
+wpcap\PRJ
+in Visual Studio 2005. There are several project
+configurations, each of them available for the x86 (Win32) and x64 platforms:</p>
+<ul>
+ <li><i>Release</i>: standard release configuration</li>
+ <li><i>Debug</i>: standard debug configuration</li>
+ <li><i>Release No AirPcap</i>: release configuration without support for
+ AirPcap adapters.</li>
+ <li><i>Debug No AirPcap</i>: debug configuration without support for AirPcap
+ adapters.</li>
+</ul>
+<p>Choose the desired configuration and build the project to obtain the binary
+files.</p>
+<p><i>Note</i>: wpcap.dll contains the source code of libpcap from
+<a href="http://www.tcpdump.org">www.tcpdump.org</a>, with some modifications
+for remote capture. You will be able to include and build a different libpcap
+version simply copying it in the directory <i>winpcap\wpcap\prj</i> of the
+WinPcap source code distribution, but you must use the &quot;Debug&quot; or &quot;Release&quot;
+build configurations.<br>
+&nbsp;</p>
+
+</body>
+
+</html>
+ </div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/group__internals.html b/3rdparty/winpcap/docs/html/group__internals.html
new file mode 100644
index 00000000000..089963eb469
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/group__internals.html
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: WinPcap internals</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>WinPcap internals</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Modules</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF.html">NPF driver internals manual</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__compilation.html">How to compile WinPcap</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packetapi.html">Packet.dll -- Packet Driver API</a></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta name="GENERATOR" content="Microsoft FrontPage 6.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<title></title>
+</head>
+
+<body>
+This portion of the manual describes the internal structure and interfaces of WinPcap,
+starting from the lowest-level module. It is targeted at people that must extend
+or modify this software, or to the ones interested in how it works. Therefore,
+developers who just want to use WinPcap in their software don't need to read it.
+
+<h2>WinPcap structure</h2>
+<p>Quoted from the home page of winpcap:</p>
+<p><i>WinPcap is an architecture for packet capture and network analysis for the
+Win32 platforms. It includes a kernel-level packet filter, a
+low-level dynamic link library (packet.dll), and a high-level and
+system-independent library (wpcap.dll).</i></p>
+<p>Why we use the term &quot;architecture&quot; rather than &quot;library&quot;? Because packet capture is a low level mechanism
+that requires a strict interaction with the network adapter and with the
+operating system, in particular with its networking implementation, so a simple
+library is not sufficient.</p>
+<p>The following figure shows the various components of WinPcap:</p>
+<p align="center">
+<img src="internals-arch.gif" width="280" height="355">
+<p align="center">
+<b>Main components of WinPcap.</b>
+<p>First, a capture system needs to bypass the operating systems's protocol stack in order to access
+the raw data transiting on the network. This requires a portion
+running inside the kernel of OS, interacting directly with the network interface
+drivers. This portion is very system dependent, and in
+our solution it is realized as a device driver, called Netgroup Packet Filter (NPF);
+we provide different versions of the driver for Windows 95, Windows 98, Windows ME,
+Windows NT 4,
+Windows 2000 and Windows XP. These drivers offer both basic features like packet capture
+and injection, as well as more advanced ones like a programmable filtering system and a
+monitoring engine. The first one can be used to restrict a capture session to a
+subset of the network traffic (e.g. it is possible to capture only the ftp
+traffic generated by a particular host), the second one provides a powerful but
+simple to use mechanism to obtain statistics on the traffic (e.g. it is possible
+to obtain the network load or the amount of data exchanged between two hosts).</p>
+<p>Second, the capture system must export an interface that user-level
+applications will use to take advantage of the features provided by the kernel
+driver. WinPcap provides two different libraries: <i>packet.dll</i> and <i>wpcap.dll</i>.&nbsp;</p>
+<p>
+The first one offers a low-level API that can be used to directly access the
+functions of the driver, with a programming interface independent from the
+Microsoft OS.&nbsp;</p>
+<p> The second one exports a more powerful set of high level capture
+primitives that are compatible with libpcap, the well known Unix capture
+library. These functions enable packet capture in a manner that is independent
+of the
+underlying network hardware and operating system.</p>
+<p>Throughout this documentation we will refer to the <b>Packet Driver API </b>or
+<b>packet.dll</b> as the first set of functions, whereas <b>wpcap</b>, <b>wpcap.dll</b> or <b>libpcap</b>
+ will refer to the to the second one.</p>
+
+</body>
+
+</html>
+ </div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/group__language.html b/3rdparty/winpcap/docs/html/group__language.html
new file mode 100644
index 00000000000..4dcc1bfae52
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/group__language.html
@@ -0,0 +1,633 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Filtering expression syntax</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Filtering expression syntax<br/>
+<small>
+[<a class="el" href="group__wpcap.html">WinPcap user's manual</a>]</small>
+</h1><table border="0" cellpadding="0" cellspacing="0">
+</table>
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<title></title>
+</head>
+
+<body>
+<DL COMPACT>
+<DT>Note: this document has been drawn from the tcpdump man page. The original version can
+ be found at&nbsp; <a href="http://www.tcpdump.org">www.tcpdump.org</a>.
+<dd>&nbsp;</dd>
+<DT>wpcap filters are based on a declarative predicate syntax. A filter is
+ an ASCII string containing a filtering <I>expression</I>.&nbsp;pcap_compile()
+ takes the expression and translates it in a program for the kernel-level
+ packet filter.
+</DL>
+<p>The expression selects which packets will be dumped.
+If no expression
+is given, all packets on the net will be accepted by the kernel-level filtering
+engine.
+Otherwise,
+only packets for which <I>expression</I> is `true' will be accepted.</p>
+<P>
+
+The <I>expression</I> consists of one or more
+<I>primitives.</I>
+
+Primitives usually consist of an
+<I>id</I>
+
+(name or number) preceded by one or more qualifiers.
+There are three
+different kinds of qualifier:
+<DL COMPACT>
+<DT><I>type</I><DD>
+qualifiers say what kind of thing the id name or number refers to.
+Possible types are
+<B>host</B>,
+
+<B>net</B>
+
+and
+<B>port</B>.
+
+E.g., `host foo', `net 128.3', `port 20'.
+If there is no type
+qualifier,
+<B>host</B>
+
+is assumed.
+<DT><I>dir</I><DD>
+qualifiers specify a particular transfer direction to and/or from
+<I>id</I>.
+
+Possible directions are
+<B>src</B>,
+
+<B>dst</B>,
+
+<B>src or dst</B>
+
+and
+<B>src and</B>
+
+<B>dst</B>.
+
+E.g., `src foo', `dst net 128.3', `src or dst port ftp-data'.
+If
+there is no dir qualifier,
+<B>src or dst</B>
+
+is assumed.
+For `null' link layers (i.e. point to point protocols such as slip) the
+<B>inbound</B>
+
+and
+<B>outbound</B>
+
+qualifiers can be used to specify a desired direction.
+<DT><I>proto</I><DD>
+qualifiers restrict the match to a particular protocol.
+Possible
+protos are:
+<B>ether</B>,
+
+<B>fddi</B>,
+
+<B>tr</B>,
+
+<B>ip</B>,
+
+<B>ip6</B>,
+
+<B>arp</B>,
+
+<B>rarp</B>,
+
+<B>decnet</B>,
+
+<B>tcp</B>
+
+and
+<B>udp</B>.
+
+E.g., `ether src foo', `arp net 128.3', `tcp port 21'.
+If there is
+no proto qualifier, all protocols consistent with the type are
+assumed.
+E.g., `src foo' means `(ip or arp or rarp) src foo'
+(except the latter is not legal syntax), `net bar' means `(ip or
+arp or rarp) net bar' and `port 53' means `(tcp or udp) port 53'.
+</DL>
+<P>
+
+[`fddi' is actually an alias for `ether'; the parser treats them
+identically as meaning ``the data link level used on the specified
+network interface.'' FDDI headers contain Ethernet-like source
+and destination addresses, and often contain Ethernet-like packet
+types, so you can filter on these FDDI fields just as with the
+analogous Ethernet fields.
+FDDI headers also contain other fields,
+but you cannot name them explicitly in a filter expression.
+<P>
+
+Similarly, `tr' is an alias for `ether'; the previous paragraph's
+statements about FDDI headers also apply to Token Ring headers.]
+<P>
+
+In addition to the above, there are some special `primitive' keywords
+that don't follow the pattern:
+<B>gateway</B>,
+
+<B>broadcast</B>,
+
+<B>less</B>,
+
+<B>greater</B>
+
+and arithmetic expressions.
+All of these are described below.
+<P>
+
+More complex filter expressions are built up by using the words
+<B>and</B>,
+
+<B>or</B>
+
+and
+<B>not</B>
+
+to combine primitives.
+E.g., `host foo and not port ftp and not port ftp-data'.
+To save typing, identical qualifier lists can be omitted.
+E.g.,
+`tcp dst port ftp or ftp-data or domain' is exactly the same as
+`tcp dst port ftp or tcp dst port ftp-data or tcp dst port domain'.
+<P>
+
+Allowable primitives are:
+<DL COMPACT>
+<DT><B>dst host </B><I>host</I><DD>
+True if the IPv4/v6 destination field of the packet is <I>host</I>,
+which may be either an address or a name.
+<DT><B>src host </B><I>host</I><DD>
+True if the IPv4/v6 source field of the packet is <I>host</I>.
+<DT><B>host </B><I>host</I><DD>
+True if either the IPv4/v6 source or destination of the packet is <I>host</I>.
+Any of the above host expressions can be prepended with the keywords,
+<B>ip</B>, <B>arp</B>, <B>rarp</B>, or <B>ip6</B> as in:
+<dl COMPACT>
+ <dd>
+
+<PRE><B>ip host </B><I>host</I></PRE>
+
+
+ </dd>
+</dl>
+
+
+which is equivalent to:
+<dl COMPACT>
+ <dd>
+
+<PRE><B>ether proto </B><I>\ip</I><B> and host </B><I>host</I></PRE>
+
+
+ </dd>
+</dl>
+
+
+If <I>host</I> is a name with multiple IP addresses, each address will
+be checked for a match.
+<DT><B>ether dst </B><I>ehost</I><DD>
+True if the ethernet destination address is <I>ehost</I>.
+<I>Ehost</I>
+may be either a name from /etc/ethers or a number (see
+<I>ethers</I>(3N)
+
+for numeric format).
+<DT><B>ether src </B><I>ehost</I><DD>
+True if the ethernet source address is <I>ehost</I>.
+<DT><B>ether host </B><I>ehost</I><DD>
+True if either the ethernet source or destination address is <I>ehost</I>.
+<DT><B>gateway</B> <I>host</I><DD>
+True if the packet used <I>host</I> as a gateway.
+I.e., the ethernet
+source or destination address was <I>host</I> but neither the IP source
+nor the IP destination was <I>host</I>.
+<I>Host</I> must be a name and
+must be found both by the machine's host-name-to-IP-address resolution
+mechanisms (host name file, DNS, NIS, etc.) and by the machine's
+host-name-to-Ethernet-address resolution mechanism (/etc/ethers, etc.).
+(An equivalent expression is
+<dl COMPACT>
+ <dd>
+
+<PRE><B>ether host </B><I>ehost </I><B>and not host </B><I>host</I></PRE>
+
+
+ </dd>
+</dl>
+
+
+which can be used with either names or numbers for <I>host / ehost</I>.)
+This syntax does not work in IPv6-enabled configuration at this moment.
+<DT><B>dst net </B><I>net</I><DD>
+True if the IPv4/v6 destination address of the packet has a network
+number of <I>net</I>.
+<I>Net</I> may be either a name from /etc/networks
+or a network number (see <I>networks(4)</I> for details).
+<DT><B>src net </B><I>net</I><DD>
+True if the IPv4/v6 source address of the packet has a network
+number of <I>net</I>.
+<DT><B>net </B><I>net</I><DD>
+True if either the IPv4/v6 source or destination address of the packet has a network
+number of <I>net</I>.
+<DT><B>net </B><I>net</I> <B>mask </B><I>netmask</I><DD>
+True if the IP address matches <I>net</I> with the specific <I>netmask</I>.
+May be qualified with <B>src</B> or <B>dst</B>.
+Note that this syntax is not valid for IPv6 <I>net</I>.
+<DT><B>net </B><I>net</I>/<I>len</I><DD>
+True if the IPv4/v6 address matches <I>net</I> with a netmask <I>len</I>
+bits wide.
+May be qualified with <B>src</B> or <B>dst</B>.
+<DT><B>dst port </B><I>port</I><DD>
+True if the packet is ip/tcp, ip/udp, ip6/tcp or ip6/udp and has a
+destination port value of <I>port</I>.
+The <I>port</I> can be a number or a name used in /etc/services (see
+<I>tcp</I>(4P)
+
+and
+<I>udp</I>(4P)).
+
+If a name is used, both the port
+number and protocol are checked.
+If a number or ambiguous name is used,
+only the port number is checked (e.g., <B>dst port 513</B> will print both
+tcp/login traffic and udp/who traffic, and <B>port domain</B> will print
+both tcp/domain and udp/domain traffic).
+<DT><B>src port </B><I>port</I><DD>
+True if the packet has a source port value of <I>port</I>.
+<DT><B>port </B><I>port</I><DD>
+True if either the source or destination port of the packet is <I>port</I>.
+Any of the above port expressions can be prepended with the keywords,
+<B>tcp</B> or <B>udp</B>, as in:
+<dl COMPACT>
+ <dd>
+
+<PRE><B>tcp src port </B><I>port</I></PRE>
+
+
+ </dd>
+</dl>
+
+
+which matches only tcp packets whose source port is <I>port</I>.
+<DT><B>less </B><I>length</I><DD>
+True if the packet has a length less than or equal to <I>length</I>.
+This is equivalent to:
+<dl COMPACT>
+ <dd>
+
+<PRE><B>len &lt;= </B><I>length</I>.</PRE>
+
+
+ </dd>
+</dl>
+
+
+<DT><B>greater </B><I>length</I><DD>
+True if the packet has a length greater than or equal to <I>length</I>.
+This is equivalent to:
+<dl COMPACT>
+ <dd>
+
+<PRE><B>len &gt;= </B><I>length</I>.</PRE>
+
+
+ </dd>
+</dl>
+
+
+<DT><B>ip proto </B><I>protocol</I><DD>
+True if the packet is an IP packet (see
+<I>ip</I>(4P))
+
+of protocol type <I>protocol</I>.
+<I>Protocol</I> can be a number or one of the names
+<I>icmp</I>, <I>icmp6</I>, <I>igmp</I>, <I>igrp</I>, <I>pim</I>, <I>ah</I>,
+<I>esp</I>, <I>vrrp</I>, <I>udp</I>, or <I>tcp</I>.
+Note that the identifiers <I>tcp</I>, <I>udp</I>, and <I>icmp</I> are also
+keywords and must be escaped via backslash (\), which is \\ in the C-shell.
+Note that this primitive does not chase the protocol header chain.
+<DT><B>ip6 proto </B><I>protocol</I><DD>
+True if the packet is an IPv6 packet of protocol type <I>protocol</I>.
+Note that this primitive does not chase the protocol header chain.
+<DT><B>ip6 protochain </B><I>protocol</I><DD>
+True if the packet is IPv6 packet,
+and contains protocol header with type <I>protocol</I>
+in its protocol header chain.
+For example,
+<dl COMPACT>
+ <dd>
+
+<PRE><B>ip6 protochain 6</B></PRE>
+
+
+ </dd>
+</dl>
+
+
+matches any IPv6 packet with TCP protocol header in the protocol header chain.
+The packet may contain, for example,
+authentication header, routing header, or hop-by-hop option header,
+between IPv6 header and TCP header.
+The BPF code emitted by this primitive is complex and
+cannot be optimized by BPF optimizer code in <I>tcpdump</I>,
+so this can be somewhat slow.
+<DT><B>ip protochain </B><I>protocol</I><DD>
+Equivalent to <B>ip6 protochain </B><I>protocol</I>, but this is for IPv4.
+<DT><B>ether broadcast</B><DD>
+True if the packet is an ethernet broadcast packet.
+The <I>ether</I>
+keyword is optional.
+<DT><B>ip broadcast</B><DD>
+True if the packet is an IP broadcast packet.
+It checks for both
+the all-zeroes and all-ones broadcast conventions, and looks up
+the local subnet mask.
+<DT><B>ether multicast</B><DD>
+True if the packet is an ethernet multicast packet.
+The <I>ether</I>
+keyword is optional.
+This is shorthand for `<B>ether[0] &amp; 1 != 0</B>'.
+<DT><B>ip multicast</B><DD>
+True if the packet is an IP multicast packet.
+<DT><B>ip6 multicast</B><DD>
+True if the packet is an IPv6 multicast packet.
+<DT><B>ether proto </B><I>protocol</I><DD>
+True if the packet is of ether type <I>protocol</I>.
+<I>Protocol</I> can be a number or one of the names
+<I>ip</I>, <I>ip6</I>, <I>arp</I>, <I>rarp</I>, <I>atalk</I>, <I>aarp</I>,
+<I>decnet</I>, <I>sca</I>, <I>lat</I>, <I>mopdl</I>, <I>moprc</I>,
+<I>iso</I>, <I>stp</I>, <I>ipx</I>, or <I>netbeui</I>.
+Note these identifiers are also keywords
+and must be escaped via backslash (\).
+<DT><DD>
+[In the case of FDDI (e.g., `<B>fddi protocol arp</B>') and Token Ring
+(e.g., `<B>tr protocol arp</B>'), for most of those protocols, the
+protocol identification comes from the 802.2 Logical Link Control (LLC)
+header, which is usually layered on top of the FDDI or Token Ring
+header.
+<DT><DD>
+When filtering for most protocol identifiers on FDDI or Token Ring,
+<I>tcpdump</I> checks only the protocol ID field of an LLC header in
+so-called SNAP format with an Organizational Unit Identifier (OUI) of
+0x000000, for encapsulated Ethernet; it doesn't check whether the packet
+is in SNAP format with an OUI of 0x000000.
+<DT><DD>
+The exceptions are <I>iso</I>, for which it checks the DSAP (Destination
+Service Access Point) and SSAP (Source Service Access Point) fields of
+the LLC header, <I>stp</I> and <I>netbeui</I>, where it checks the DSAP of
+the LLC header, and <I>atalk</I>, where it checks for a SNAP-format
+packet with an OUI of 0x080007 and the Appletalk etype.
+<DT><DD>
+In the case of Ethernet, <I>tcpdump</I> checks the Ethernet type field
+for most of those protocols; the exceptions are <I>iso</I>, <I>sap</I>,
+and <I>netbeui</I>, for which it checks for an 802.3 frame and then
+checks the LLC header as it does for FDDI and Token Ring, <I>atalk</I>,
+where it checks both for the Appletalk etype in an Ethernet frame and
+for a SNAP-format packet as it does for FDDI and Token Ring, <I>aarp</I>,
+where it checks for the Appletalk ARP etype in either an Ethernet frame
+or an 802.2 SNAP frame with an OUI of 0x000000, and <I>ipx</I>, where it
+checks for the IPX etype in an Ethernet frame, the IPX DSAP in the LLC
+header, the 802.3 with no LLC header encapsulation of IPX, and the IPX
+etype in a SNAP frame.]
+<DT><B>decnet src </B><I>host</I><DD>
+True if the DECNET source address is
+<I>host</I>,
+
+which may be an address of the form ``10.123'', or a DECNET host
+name.
+[DECNET host name support is only available on Ultrix systems
+that are configured to run DECNET.]
+<DT><B>decnet dst </B><I>host</I><DD>
+True if the DECNET destination address is
+<I>host</I>.
+
+<DT><B>decnet host </B><I>host</I><DD>
+True if either the DECNET source or destination address is
+<I>host</I>.
+
+<DT><B>ip</B>, <B>ip6</B>, <B>arp</B>, <B>rarp</B>, <B>atalk</B>, <B>aarp</B>, <B>decnet</B>, <B>iso</B>, <B>stp</B>, <B>ipx</B>, <I>netbeui</I><DD>
+Abbreviations for:
+<dl COMPACT>
+ <dd>
+
+<PRE><B>ether proto </B><I>p</I></PRE>
+
+
+ </dd>
+</dl>
+
+
+where <I>p</I> is one of the above protocols.
+<DT><B>lat</B>, <B>moprc</B>, <B>mopdl</B><DD>
+Abbreviations for:
+<dl COMPACT>
+ <dd>
+
+<PRE><B>ether proto </B><I>p</I></PRE>
+
+
+ </dd>
+</dl>
+
+
+where <I>p</I> is one of the above protocols.
+Note that
+<I>tcpdump</I> does not currently know how to parse these protocols.
+<DT><B>vlan </B><I>[vlan_id]</I><DD>
+True if the packet is an IEEE 802.1Q VLAN packet.
+If <I>[vlan_id]</I> is specified, only true is the packet has the specified
+<I>vlan_id</I>.
+Note that the first <B>vlan</B> keyword encountered in <I>expression</I>
+changes the decoding offsets for the remainder of <I>expression</I>
+on the assumption that the packet is a VLAN packet.
+<DT><B>tcp</B>, <B>udp</B>, <B>icmp</B><DD>
+Abbreviations for:
+<dl COMPACT>
+ <dd>
+
+<PRE><B>ip proto </B><I>p</I><B> or ip6 proto </B><I>p</I></PRE>
+
+
+ </dd>
+</dl>
+
+
+where <I>p</I> is one of the above protocols.
+<DT><B>iso proto </B><I>protocol</I><DD>
+True if the packet is an OSI packet of protocol type <I>protocol</I>.
+<I>Protocol</I> can be a number or one of the names
+<I>clnp</I>, <I>esis</I>, or <I>isis</I>.
+<DT><B>clnp</B>, <B>esis</B>, <B>isis</B><DD>
+Abbreviations for:
+<dl COMPACT>
+ <dd>
+
+<PRE><B>iso proto </B><I>p</I></PRE>
+
+
+ </dd>
+</dl>
+
+
+where <I>p</I> is one of the above protocols.
+Note that <I>tcpdump</I> does an incomplete job of parsing these protocols.
+<DT><I>expr relop expr</I><DD>
+True if the relation holds, where <I>relop</I> is one of &gt;, &lt;, &gt;=, &lt;=, =, !=,
+and <I>expr</I> is an arithmetic expression composed of integer constants
+(expressed in standard C syntax), the normal binary operators
+[+, -, *, /, &amp;, |], a length operator, and special packet data accessors.
+To access
+data inside the packet, use the following syntax:
+
+<PRE>
+<I>proto</I><B> [ </B><I>expr</I><B> : </B><I>size</I><B> ]</B>
+</PRE>
+
+
+<I>Proto</I> is one of <B>ether, fddi, tr,
+ip, arp, rarp, tcp, udp, icmp</B> or <B>ip6</B>, and
+indicates the protocol layer for the index operation.
+Note that <I>tcp, udp</I> and other upper-layer protocol types only
+apply to IPv4, not IPv6 (this will be fixed in the future).
+The byte offset, relative to the indicated protocol layer, is
+given by <I>expr</I>.
+<I>Size</I> is optional and indicates the number of bytes in the
+field of interest; it can be either one, two, or four, and defaults to one.
+The length operator, indicated by the keyword <B>len</B>, gives the
+length of the packet.
+<P>
+For example, `<B>ether[0] &amp; 1 != 0</B>' catches all multicast traffic.
+The expression `<B>ip[0] &amp; 0xf != 5</B>'
+catches all IP packets with options.
+The expression
+`<B>ip[6:2] &amp; 0x1fff = 0</B>'
+catches only unfragmented datagrams and frag zero of fragmented datagrams.
+This check is implicitly applied to the <B>tcp</B> and <B>udp</B>
+index operations.
+For instance, <B>tcp[0]</B> always means the first
+byte of the TCP <I>header</I>, and never means the first byte of an
+intervening fragment.
+<P>
+Some offsets and field values may be expressed as names rather than
+as numeric values.
+The following protocol header field offsets are
+available: <B>icmptype</B> (ICMP type field), <B>icmpcode</B> (ICMP
+code field), and <B>tcpflags</B> (TCP flags field).
+<P>
+The following ICMP type field values are available: <B>icmp-echoreply</B>,
+<B>icmp-unreach</B>, <B>icmp-sourcequench</B>, <B>icmp-redirect</B>,
+<B>icmp-echo</B>, <B>icmp-routeradvert</B>, <B>icmp-routersolicit</B>,
+<B>icmp-timxceed</B>, <B>icmp-paramprob</B>, <B>icmp-tstamp</B>,
+<B>icmp-tstampreply</B>, <B>icmp-ireq</B>, <B>icmp-ireqreply</B>,
+<B>icmp-maskreq</B>, <B>icmp-maskreply</B>.
+<P>
+The following TCP flags field values are available: <B>tcp-fin</B>,
+<B>tcp-syn</B>, <B>tcp-rst</B>, <B>tcp-push</B>, <B>tcp-push</B>,
+<B>tcp-ack</B>, <B>tcp-urg</B>.
+</DL>
+<P>
+
+Primitives may be combined using:
+<DL COMPACT>
+<DT><DD>
+A parenthesized group of primitives and operators
+(parentheses are special to the Shell and must be escaped).
+<DT><DD>
+Negation (`<B>!</B>' or `<B>not</B>').
+<DT><DD>
+Concatenation (`<B>&amp;&amp;</B>' or `<B>and</B>').
+<DT><DD>
+Alternation (`<B>||</B>' or `<B>or</B>').
+</DL>
+<P>
+
+Negation has highest precedence.
+Alternation and concatenation have equal precedence and associate
+left to right.
+Note that explicit <B>and</B> tokens, not juxtaposition,
+are now required for concatenation.
+<P>
+
+If an identifier is given without a keyword, the most recent keyword
+is assumed.
+For example,
+
+<blockquote>
+
+<PRE><B>not host vs and ace</B></PRE>
+
+
+</blockquote>
+
+
+is short for
+<blockquote>
+
+<PRE><B>not host vs and host ace</B></PRE>
+
+
+</blockquote>
+
+
+which should not be confused with
+<blockquote>
+
+<PRE><B>not ( host vs or ace )</B></PRE>
+
+
+</blockquote>
+
+
+<P>
+
+Expression arguments can be passed to <I>tcpdump</I> as either a single
+argument or as multiple arguments, whichever is more convenient.
+Generally, if the expression contains Shell metacharacters, it is
+easier to pass it as a single, quoted argument.
+Multiple arguments are concatenated with spaces before being parsed.
+<p>
+
+</body>
+
+</html>
+ </div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/group__packetapi.html b/3rdparty/winpcap/docs/html/group__packetapi.html
new file mode 100644
index 00000000000..d0f5c9ea535
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/group__packetapi.html
@@ -0,0 +1,87 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Packet.dll -- Packet Driver API</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Packet.dll -- Packet Driver API<br/>
+<small>
+[<a class="el" href="group__internals.html">WinPcap internals</a>]</small>
+</h1><table border="0" cellpadding="0" cellspacing="0">
+</table>
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta name="GENERATOR" content="Microsoft FrontPage 6.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<title></title>
+</head>
+
+<body>
+Packet.dll is a dynamic link library that offers a set of low level functions
+to:
+<ul>
+ <li>install, start and stop the NPF device driver</li>
+ <li>Receive packets from the NPF driver</li>
+ <li>send packets to the NPF driver</li>
+ <li>obtain the list of the available network adapters</li>
+ <li>retrieve various information about an adapter, like the description and
+ the list of addresses and netmasks</li>
+ <li>query and set various low-level parameters of an adapter</li>
+</ul>
+<p> There are two versions of packet.dll: the first one runs under Windows 95/98/ME, the second
+one is for&nbsp; Windows
+NT/2000/XP.</p>
+<p>Packet.dll was created to provide a layer to access the low level
+functionalities of WinPcap in a system independent way. This library handles all
+the system-dependent details (like managing the devices, interacting with the OS
+to manage the adapters, looking for the information in the registry and so on),
+and exports an API that is uniform across all Windows OSes. In this way,
+applications or libraries based on it can run without being recompiled
+under any Windows operating system. </p>
+<p>However, not all of the packet.dll API is totally portable: some advanced features, like kernel-mode dump, are present only in the WinNTx version of WinPcap,
+while packet.dll for Win9x does not provide them. On the other side, the NTx
+version is a superset of the 9x one, in other words all the function present in
+the Win9x version are present in WinNTx too.</p>
+<p>The other important feature of this library is its ability to handle NPF driver.
+Packet.dll transparently installs and starts the driver when an application
+attempts to access an adapter. This avoids the manual installation of the driver
+through the control panel.</p>
+<h2>Important note, read carefully!</h2>
+<p>The source code of Packet.dll is freely available and completely documented.
+However, packet.dll should be considered an internal API, because its purpose
+inside WinPcap is to be a building block for the real public API: wpcap.dll.</p>
+<p>As a consequence, since the <b>normal</b> and <b>suggested</b> way for an
+application to use WinPcap is through wpcap.dll, <b>we don't guarantee that the packet.dll
+API will not be changed in future releases of winpcap, and we don't provide
+support for this API</b>. For the same reason, <b>this manual doesn't contain
+any more the Doxygen-generated documentation of Packet.dll</b>: the user will
+have to run Doxygen on his own to create it, or read the comments in the source
+code.</p>
+
+</body>
+
+</html>
+ </div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/group__remote.html b/3rdparty/winpcap/docs/html/group__remote.html
new file mode 100644
index 00000000000..ed69acac0d6
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/group__remote.html
@@ -0,0 +1,386 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Remote Capture</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Remote Capture</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Modules</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__struct.html">Exported Structures and Definitions</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remotefunc.html">Exported Functions</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__func.html">Internal Functions</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html">Internal Structures and Definitions</a></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<title>Using WinPcap Remote Capture</title>
+</head>
+
+<body>
+
+<hr>
+<ul>
+ <li><a href="#RunningModes">Remote Capture Running Modes</a></li>
+ <li><a href="#Config">Configuring the Remote Daemon (rpcapd)</a></li>
+ <li><a href="#StartCap">Starting a capture on a remote machine</a></li>
+ <li><a href="#UNIX">Installing the Remote Capture Daemon in UNIX</a></li>
+</ul>
+<hr>
+<p>WinPcap comes with Remote Capture capabilities. This is an highly
+experimental feature that allows to interact to a remote machine and capture
+packets that are being transmitted on the remote network.</p>
+<p>This requires a <b>remote daemon </b>(called <code>rpcapd</code>) which
+performs the capture and sends data back and a <b>local client </b>that sends
+the appropriate commands and receives the captured data.</p>
+<p>WinPcap extends the standard WinPcap code in such a way that all
+WinPcap-based tools can expoit remote capture capabilities. For instance, the
+capabillity to interact with a remote daemon are added to the client software
+without any explicit modification to it. Vice versa, the remote daemon must be
+explicitely installed (and configured) on the remote machine.</p>
+<h2><a name="RunningModes"></a>Remote Capture Running Modes</h2>
+<p>The Remote Capture Protocol (RPCAP) can work in two modes:</p>
+<ul>
+ <li><b>Passive Mode</b> (default): the client (e.g. a network sniffer)
+ connects to the remote daemon, it sends them the appropriate commands, and
+ it starts the capture.</li>
+ <li><b>Active Mode</b>: the remote daemon try to establish a connection toward
+ the client (e.g. the network sniffer); then, the client sends the
+ appropriate commands to the daemon and it starts the capture. This name is
+ due to the fact thet the daemon becomes <i>active</i> instead of <i>waiting</i>
+ for new connections.</li>
+</ul>
+<p>The Active Mode is useful in case the remote daemon is behind a firewall and
+it cannot receive connections from the external world. In this case, the daemon
+can be configured to establish the connection to a given host, which will have
+been configured in order to <i>wait</i> for that connection. After establishing
+the connection, the protocol continues its job in almost the same way in both
+Active and Passive Mode.</p>
+<p>Analyzer (<a href="http://analyzer.polito.it/30alpha/">http://analyzer.polito.it/30alpha/</a>)
+has a set of commands (in the <b>Capture</b> menu) that allows you to accept a
+remote connection and then start the capture on the remote device. Currently,
+Analyzer is the only tool that is able to work in active mode, since it requires
+some modifications to the application code.</p>
+<h2><a name="Config"></a>Configuring the Remote Daemon (rpcapd)</h2>
+<p>The Remote Daemon is a standard Win32 executable running either in console
+mode or as a service. The executable can be found in the <code>WinPcap</code>
+folder and it has the following syntax:</p>
+<pre> rpcapd [-b &lt;address&gt;] [-p &lt;port&gt;] [-6] [-l &lt;host_list&gt;] [-a &lt;host,port&gt;]
+ [-n] [-v] [-d] [-s &lt;file&gt;] [-f &lt;file&gt;]</pre>
+<p>The daemon can be compiled and it is actually working on Linux as well.</p>
+<p>Here there is a brief description of the allowed commands:</p>
+<div align="left">
+ <table border="1">
+ <tr>
+ <th>Switch</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td>
+ <pre>-b &lt;address&gt;</pre>
+ </td>
+ <td>It sets the address the daemon has to bind to (either numeric or
+ literal). Default: it binds to all local IPv4 and IPv6 addresses.</td>
+ </tr>
+ <tr>
+ <td>
+ <pre>-p &lt;port&gt;</pre>
+ </td>
+ <td>It sets the port the daemon has to bind to. Default: it binds to port
+ 2002.</td>
+ </tr>
+ <tr>
+ <td>
+ <pre>-4</pre>
+ </td>
+ <td>It binds only to IPv4 addresses. Default: both IPv4 and IPv6 waiting
+ sockets are used.</td>
+ </tr>
+ <tr>
+ <td>
+ <pre>-l &lt;host_list_file&gt;</pre>
+ </td>
+ <td>It specifies a file that keeps the list of the hosts which are allowed
+ to connect to this daemon (if more than one, the file keeps them one per
+ line). We suggest to use literal names (instead of numeric ones) in
+ order to avoid problems with different address families (IPv4 and IPv6).</td>
+ </tr>
+ <tr>
+ <td>
+ <pre>-n</pre>
+ </td>
+ <td>It permits NULL authentication (usually used with '-l', that
+ guarantees that only the allowed hosts can connect to the daemon).
+ Default: the username/password authentication mechanism is required.</td>
+ </tr>
+ <tr>
+ <td>
+ <pre>-a &lt;host, port&gt;</pre>
+ </td>
+ <td>It forces the daemon to run in active mode and to connect to 'host' on
+ port 'port'. This does not exclude that the daemon is still able to
+ accept passive connections.</td>
+ </tr>
+ <tr>
+ <td>
+ <pre>-v</pre>
+ </td>
+ <td>It forces the daemon to run in active mode only (default: the daemon
+ always accepts active connections, even if the '-a' switch is
+ specified).</td>
+ </tr>
+ <tr>
+ <td>
+ <pre>-d</pre>
+ </td>
+ <td>Forces the daemon to run in background, i.e. as a daemon (UNIX only)
+ or as a service (Win32 only). <b>Warning</b> (Win32): this switch is
+ provided automatically when WinPcap installs this daemon into the Win32
+ services (control panel - administrative tools - services).</td>
+ </tr>
+ <tr>
+ <td>
+ <pre>-s &lt;file&gt;</pre>
+ </td>
+ <td>It saves the current configuration to file.</td>
+ </tr>
+ <tr>
+ <td>
+ <pre>-f &lt;file&gt;</pre>
+ </td>
+ <td>It loads the current configuration from file; all the switches
+ specified from the command line are ignored and the file settings are
+ used instead.</td>
+ </tr>
+ <tr>
+ <td>
+ <pre>-h</pre>
+ </td>
+ <td>It prints an help screen.</td>
+ </tr>
+ </table>
+</div>
+<h3>Installing the remote daemon</h3>
+<p>The remote daemon is installed automatically when installing WinPcap. The
+installation process places the <code>rpcapd</code> file into the <code>WinPcap</code>
+folder. This file can be executed either from the command line, or as a service.
+For instance, the installation process updates the list of available services
+list and it creates a new item (<b>Remote Packet Capture Protocol v.0
+(experimental)</b> ). To avoid security problems, the service is inactive and it
+has to be started manually (control panel - administrative tools - services -
+start).</p>
+<p>The service has a set of &quot;standard&quot; parameters, i.e. it it launched
+with the &quot;<code>-d</code>&quot; flag (in orde to make it running as a
+service) and the &quot;<code>-f rpcapd.ini</code>&quot; flag. The user can
+create a file called <code>rpcapd.ini</code> in the same folder of the
+executable, and put the configuration commands in there. In order for the
+service to execute the commands, you have to stop and restart it again (i.e. the
+initialization file is parsed only at the beginning). Viceversa, the UNIX
+version of <code>rpcapd</code> is able to read the configuration file when
+sending a kill -HUP signal to it. In that case, all the existing connections
+remain in place, while the new connections will be created according to the new
+parameters.</p>
+<p>In case the user does not want to create the configuration file manually, it
+can launch <code>rpcapd</code> with the requested parameters plus the &quot;<code>-s
+filename</code>&quot; one. The daemon will parse all the parameters and save
+them into the specified configuration file.</p>
+<h3>Starting the remote daemon as a standard executable</h3>
+<p>The <code>rpcapd</code> executable can be launched directly, i.e. it can run
+in the foreground as well (not as a daemon/service). The procedure is quite
+simple: you have to invoke the executable from the command line with all the
+requested parameters but the &quot;<code>-d</code>&quot; flag. The capture
+server will start in the foreground.</p>
+<h2><a name="StartCap"></a>Starting a capture on a remote machine</h2>
+<p>If you are using a tool that is already aware of the remote capture (like
+Analyzer), everything is simple. The capture wizard will help you to locate the
+appropriate interface on the remote machine.</p>
+<p>If your preferred tool is not aware of the remote capture, you can still use
+the remote capture. In this case you have to read the next Section.</p>
+<p><b>Be carefully</b>: the capture server (<code>rpcapd</code>) must be up and
+running on the remote machine.</p>
+<h3>New string specifiers for interface selection</h3>
+<p>If your preferred tool is not aware of the remote capture, the only thing you
+must do is to insert, as interface specifier, the indication of the remote
+machine you want to contact. The following forms are allowed:</p>
+<div align="left">
+ <table border="1">
+ <tr>
+ <th>Adapter String</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td>
+ <pre>file://filename</pre>
+ </td>
+ <td>It opens a local file.</td>
+ </tr>
+ <tr>
+ <td>
+ <pre>rpcap://host.foo.bar/adaptername</pre>
+ </td>
+ <td>It opens a remote adapter; the host is specified by means of the
+ literal name, without port number (i.e. it uses the RPCAP default port).</td>
+ </tr>
+ <tr>
+ <td>
+ <pre>rpcap://host.foo.bar:1234/adaptername</pre>
+ </td>
+ <td>It is the same as before, but it uses a different port number.</td>
+ </tr>
+ <tr>
+ <td>
+ <pre>rpcap://10.11.12.13/adaptername</pre>
+ </td>
+ <td>It opens a remote adapter, but the host is specified by means of an
+ IPv4 numeric address, without port number (i.e. it uses the RPCAP
+ default port).</td>
+ </tr>
+ <tr>
+ <td>
+ <pre>rpcap://10.11.12.13:1234/adaptername</pre>
+ </td>
+ <td>It is the same as before, but it uses a different port number.</td>
+ </tr>
+ <tr>
+ <td>
+ <pre>rpcap://[10.11.12.13]:1234/adaptername</pre>
+ </td>
+ <td>It is the same as before, but the numeric address is specified within
+ square brackets (like IPv6 addresses).</td>
+ </tr>
+ <tr>
+ <td>
+ <pre>rpcap://[1:2:3::4]/adaptername</pre>
+ </td>
+ <td>It opens a remote adapter, but the host is specified by means of an
+ IPv6 numeric address, without port number (i.e. it uses the RPCAP
+ default port). In case of IPv6 addresses you MUST use the square
+ brackets.</td>
+ </tr>
+ <tr>
+ <td>
+ <pre>rpcap://[1:2:3::4]:1234/adaptername</pre>
+ </td>
+ <td>It is the same as before, but it uses a different port number.</td>
+ </tr>
+ <tr>
+ <td>
+ <pre>rpcap://adaptername</pre>
+ </td>
+ <td>It opens a local adapter, without using the RPCAP protocol.</td>
+ </tr>
+ <tr>
+ <td>
+ <pre>adaptername</pre>
+ </td>
+ <td>It opens a local adapter; it is kept for compability, but it is
+ strongly discouraged.</td>
+ </tr>
+ <tr>
+ <td>
+ <pre>(NULL)</pre>
+ </td>
+ <td>It opens the first local adapter; it is kept for compability, but it
+ is strongly discouraged.</td>
+ </tr>
+ </table>
+</div>
+<p>The following formats are not allowed:</p>
+<table border="1">
+ <tr>
+ <th>Adapter String</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td>
+ <pre>rpcap://</pre>
+ </td>
+ <td>It cannot be used to open the first local adapter.</td>
+ </tr>
+ <tr>
+ <td>
+ <pre>rpcap://hostname/</pre>
+ </td>
+ <td>It cannot be used to open the first remote adapter.</td>
+ </tr>
+</table>
+<h2><a name="UNIX"></a>Installing the Remote Capture Daemon in UNIX</h2>
+<p>The WinPcap source archive can be compiled in UNIX as well. Currently, remote
+capture has been tested on Linux and BSD. What you have to do is:</p>
+<ul>
+ <li>download the WinPcap sources</li>
+ <li>unpack the sources
+ <ul>
+ <li>we suggest to use the <code>unzip -a</code> command in order to
+ convert DOS files to UNIX ones</li>
+ </ul>
+ </li>
+ <li>move to the <code>libpcap</code> folder</li>
+ <li>type:
+ <ul>
+ <li><code>./configure</code></li>
+ <li><b>Warning</b>: in case the previous step reports an error, please
+ regenerate the <code>configure</code> file using <code>automake</code>
+ (version 2.50 or higher required)</li>
+ <li><code>make</code></li>
+ </ul>
+ </li>
+ <li>move to the <code>rpcapd</code> folder</li>
+ <li>type <code>make</code></li>
+</ul>
+<p>The remote capture capabilities are turned on by default on Linux and
+FreeBSD. In case you do not want remote capture capabilities in libpcap, you can
+type</p>
+<pre> ./configure --disable-remote</pre>
+<p>at the &quot;<code>configure</code>&quot; step. All the possible flags are
+listed when typing <code>./configure --help</code>.</p>
+<p>What you obtained right now, is:</p>
+<ul>
+ <li>a library file (<code>libpcap.a</code>), which can be linked to other
+ applications (like <code>tcpdump</code>) in order to enable the remote
+ capture for them.</li>
+ <li>an executable (<code>rpcapd</code>) that is the remote daemon</li>
+</ul>
+<p><b>Warning</b>: in order to run the <code>rpcapd</code> daemon, the program
+must either</p>
+<ul>
+ <li>run as root (or)</li>
+ <li>run as user, but it must be owned by root and must be SUID root (<code>chmod
+ u+s rpcapd</code>)</li>
+</ul>
+<h3>Known bugs</h3>
+<p><b>FreeBSD</b>: the first time you call the <code>pcap_stat()</code>, the
+function takes several seconds to return. Therefore, programs like Analyzer seem
+to hang up for 20-30 seconds at the beginning of the capture (if this is done
+with BSD as a remote probe). We're investigating to solve this issue.</p>
+<p><i>For any question, please refer to the WinPcap help page.</i></p>
+
+</body>
+
+</html>
+ </div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/group__remote__auth__methods.html b/3rdparty/winpcap/docs/html/group__remote__auth__methods.html
new file mode 100644
index 00000000000..306547d0fa6
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/group__remote__auth__methods.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Authentication methods supported by the RPCAP protocol</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Authentication methods supported by the RPCAP protocol<br/>
+<small>
+[<a class="el" href="group__remote__struct.html">Exported Structures and Definitions</a>]</small>
+</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__auth__methods.html#gacf895bca5fa091307dcfa3a7cb6c8882">RPCAP_RMTAUTH_NULL</a>&nbsp;&nbsp;&nbsp;0</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">It defines the NULL authentication. <a href="#gacf895bca5fa091307dcfa3a7cb6c8882"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__auth__methods.html#gab73de990af3daaf44ff88119050634fb">RPCAP_RMTAUTH_PWD</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">It defines the username/password authentication. <a href="#gab73de990af3daaf44ff88119050634fb"></a><br/></td></tr>
+</table>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="gacf895bca5fa091307dcfa3a7cb6c8882"></a><!-- doxytag: member="remote&#45;ext.h::RPCAP_RMTAUTH_NULL" ref="gacf895bca5fa091307dcfa3a7cb6c8882" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_RMTAUTH_NULL&nbsp;&nbsp;&nbsp;0</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>It defines the NULL authentication. </p>
+<p>This value has to be used within the 'type' member of the <a class="el" href="structpcap__rmtauth.html" title="This structure keeps the information needed to autheticate the user on a remote machine...">pcap_rmtauth</a> structure. The 'NULL' authentication has to be equal to 'zero', so that old applications can just put every field of struct <a class="el" href="structpcap__rmtauth.html" title="This structure keeps the information needed to autheticate the user on a remote machine...">pcap_rmtauth</a> to zero, and it does work. </p>
+
+<p>Definition at line <a class="el" href="remote-ext_8h_source.html#l00304">304</a> of file <a class="el" href="remote-ext_8h_source.html">remote-ext.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gab73de990af3daaf44ff88119050634fb"></a><!-- doxytag: member="remote&#45;ext.h::RPCAP_RMTAUTH_PWD" ref="gab73de990af3daaf44ff88119050634fb" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_RMTAUTH_PWD&nbsp;&nbsp;&nbsp;1</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>It defines the username/password authentication. </p>
+<p>With this type of authentication, the RPCAP protocol will use the username/ password provided to authenticate the user on the remote machine. If the authentication is successful (and the user has the right to open network devices) the RPCAP connection will continue; otherwise it will be dropped.</p>
+<p>This value has to be used within the 'type' member of the <a class="el" href="structpcap__rmtauth.html" title="This structure keeps the information needed to autheticate the user on a remote machine...">pcap_rmtauth</a> structure. </p>
+
+<p>Definition at line <a class="el" href="remote-ext_8h_source.html#l00315">315</a> of file <a class="el" href="remote-ext_8h_source.html">remote-ext.h</a>.</p>
+
+</div>
+</div>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/group__remote__open__flags.html b/3rdparty/winpcap/docs/html/group__remote__open__flags.html
new file mode 100644
index 00000000000..44def813aef
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/group__remote__open__flags.html
@@ -0,0 +1,135 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Flags defined in the pcap_open() function</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Flags defined in the pcap_open() function<br/>
+<small>
+[<a class="el" href="group__remote__struct.html">Exported Structures and Definitions</a>]</small>
+</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__open__flags.html#ga9134ce51a9a6a7d497c3dee5affdc3b9">PCAP_OPENFLAG_PROMISCUOUS</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Defines if the adapter has to go in promiscuous mode. <a href="#ga9134ce51a9a6a7d497c3dee5affdc3b9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__open__flags.html#gaca53ea1423680167cf046752337b3381">PCAP_OPENFLAG_DATATX_UDP</a>&nbsp;&nbsp;&nbsp;2</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Defines if the data trasfer (in case of a remote capture) has to be done with UDP protocol. <a href="#gaca53ea1423680167cf046752337b3381"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__open__flags.html#ga1af46d0c195f9a3b66955acdd52b5375">PCAP_OPENFLAG_NOCAPTURE_RPCAP</a>&nbsp;&nbsp;&nbsp;4</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Defines if the remote probe will capture its own generated traffic. <a href="#ga1af46d0c195f9a3b66955acdd52b5375"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__open__flags.html#ga337712d5c8d26a0d984d6bb702d0118d">PCAP_OPENFLAG_NOCAPTURE_LOCAL</a>&nbsp;&nbsp;&nbsp;8</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Defines if the local adapter will capture its own generated traffic. <a href="#ga337712d5c8d26a0d984d6bb702d0118d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__open__flags.html#gae54e5c810d75f23f69a0c78ca7f882b1">PCAP_OPENFLAG_MAX_RESPONSIVENESS</a>&nbsp;&nbsp;&nbsp;16</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This flag configures the adapter for maximum responsiveness. <a href="#gae54e5c810d75f23f69a0c78ca7f882b1"></a><br/></td></tr>
+</table>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="gaca53ea1423680167cf046752337b3381"></a><!-- doxytag: member="remote&#45;ext.h::PCAP_OPENFLAG_DATATX_UDP" ref="gaca53ea1423680167cf046752337b3381" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PCAP_OPENFLAG_DATATX_UDP&nbsp;&nbsp;&nbsp;2</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Defines if the data trasfer (in case of a remote capture) has to be done with UDP protocol. </p>
+<p>If it is '1' if you want a UDP data connection, '0' if you want a TCP data connection; control connection is always TCP-based. A UDP connection is much lighter, but it does not guarantee that all the captured packets arrive to the client workstation. Moreover, it could be harmful in case of network congestion. This flag is meaningless if the source is not a remote interface. In that case, it is simply ignored. </p>
+
+<p>Definition at line <a class="el" href="remote-ext_8h_source.html#l00217">217</a> of file <a class="el" href="remote-ext_8h_source.html">remote-ext.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gae54e5c810d75f23f69a0c78ca7f882b1"></a><!-- doxytag: member="remote&#45;ext.h::PCAP_OPENFLAG_MAX_RESPONSIVENESS" ref="gae54e5c810d75f23f69a0c78ca7f882b1" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PCAP_OPENFLAG_MAX_RESPONSIVENESS&nbsp;&nbsp;&nbsp;16</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>This flag configures the adapter for maximum responsiveness. </p>
+<p>In presence of a large value for nbytes, WinPcap waits for the arrival of several packets before copying the data to the user. This guarantees a low number of system calls, i.e. lower processor usage, i.e. better performance, which is good for applications like sniffers. If the user sets the PCAP_OPENFLAG_MAX_RESPONSIVENESS flag, the capture driver will copy the packets as soon as the application is ready to receive them. This is suggested for real time applications (like, for example, a bridge) that need the best responsiveness. </p>
+
+<p>Definition at line <a class="el" href="remote-ext_8h_source.html#l00248">248</a> of file <a class="el" href="remote-ext_8h_source.html">remote-ext.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga337712d5c8d26a0d984d6bb702d0118d"></a><!-- doxytag: member="remote&#45;ext.h::PCAP_OPENFLAG_NOCAPTURE_LOCAL" ref="ga337712d5c8d26a0d984d6bb702d0118d" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PCAP_OPENFLAG_NOCAPTURE_LOCAL&nbsp;&nbsp;&nbsp;8</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Defines if the local adapter will capture its own generated traffic. </p>
+<p>This flag tells the underlying capture driver to drop the packets that were sent by itself. This is usefult when building applications like bridges, that should ignore the traffic they just sent. </p>
+
+<p>Definition at line <a class="el" href="remote-ext_8h_source.html#l00237">237</a> of file <a class="el" href="remote-ext_8h_source.html">remote-ext.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga1af46d0c195f9a3b66955acdd52b5375"></a><!-- doxytag: member="remote&#45;ext.h::PCAP_OPENFLAG_NOCAPTURE_RPCAP" ref="ga1af46d0c195f9a3b66955acdd52b5375" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PCAP_OPENFLAG_NOCAPTURE_RPCAP&nbsp;&nbsp;&nbsp;4</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Defines if the remote probe will capture its own generated traffic. </p>
+<p>In case the remote probe uses the same interface to capture traffic and to send data back to the caller, the captured traffic includes the RPCAP traffic as well. If this flag is turned on, the RPCAP traffic is excluded from the capture, so that the trace returned back to the collector is does not include this traffic. </p>
+
+<p>Definition at line <a class="el" href="remote-ext_8h_source.html#l00228">228</a> of file <a class="el" href="remote-ext_8h_source.html">remote-ext.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga9134ce51a9a6a7d497c3dee5affdc3b9"></a><!-- doxytag: member="remote&#45;ext.h::PCAP_OPENFLAG_PROMISCUOUS" ref="ga9134ce51a9a6a7d497c3dee5affdc3b9" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PCAP_OPENFLAG_PROMISCUOUS&nbsp;&nbsp;&nbsp;1</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Defines if the adapter has to go in promiscuous mode. </p>
+<p>It is '1' if you have to open the adapter in promiscuous mode, '0' otherwise. Note that even if this parameter is false, the interface could well be in promiscuous mode for some other reason (for example because another capture process with promiscuous mode enabled is currently using that interface). On on Linux systems with 2.2 or later kernels (that have the "any" device), this flag does not work on the "any" device; if an argument of "any" is supplied, the 'promisc' flag is ignored. </p>
+
+<p>Definition at line <a class="el" href="remote-ext_8h_source.html#l00203">203</a> of file <a class="el" href="remote-ext_8h_source.html">remote-ext.h</a>.</p>
+
+</div>
+</div>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/group__remote__pri__func.html b/3rdparty/winpcap/docs/html/group__remote__pri__func.html
new file mode 100644
index 00000000000..718b453b7b7
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/group__remote__pri__func.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Internal Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Internal Functions<br/>
+<small>
+[<a class="el" href="group__remote.html">Remote Capture</a>]</small>
+</h1><table border="0" cellpadding="0" cellspacing="0">
+</table>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/group__remote__pri__struct.html b/3rdparty/winpcap/docs/html/group__remote__pri__struct.html
new file mode 100644
index 00000000000..d64b2fc1e8e
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/group__remote__pri__struct.html
@@ -0,0 +1,1033 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Internal Structures and Definitions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Internal Structures and Definitions<br/>
+<small>
+[<a class="el" href="group__remote.html">Remote Capture</a>]</small>
+</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structactivehosts.html">activehosts</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Keeps a list of all the opened connections in the active mode. <a href="structactivehosts.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__header.html">rpcap_header</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Common header for all the RPCAP messages. <a href="structrpcap__header.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__findalldevs__if.html">rpcap_findalldevs_if</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Format of the message for the interface description (findalldevs command). <a href="structrpcap__findalldevs__if.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__findalldevs__ifaddr.html">rpcap_findalldevs_ifaddr</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Format of the message for the address listing (findalldevs command). <a href="structrpcap__findalldevs__ifaddr.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__openreply.html">rpcap_openreply</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Format of the message of the connection opening reply (open command). <a href="structrpcap__openreply.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__startcapreq.html">rpcap_startcapreq</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Format of the message that starts a remote capture (startcap command). <a href="structrpcap__startcapreq.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__startcapreply.html">rpcap_startcapreply</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Format of the reply message that devoted to start a remote capture (startcap reply command). <a href="structrpcap__startcapreply.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__pkthdr.html">rpcap_pkthdr</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Format of the header which encapsulates captured packets when transmitted on the network. <a href="structrpcap__pkthdr.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__filter.html">rpcap_filter</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">General header used for the <a class="el" href="group__wpcapfunc.html#gaf5f9cfe85dad0967ff607e5159b1ba61" title="Associate a filter to a capture.">pcap_setfilter()</a> command; keeps just the number of BPF instructions. <a href="structrpcap__filter.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__filterbpf__insn.html">rpcap_filterbpf_insn</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure that keeps a single BPF instuction; it is repeated 'ninsn' times according to the 'rpcap_filterbpf' header. <a href="structrpcap__filterbpf__insn.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__auth.html">rpcap_auth</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure that keeps the data required for the authentication on the remote host. <a href="structrpcap__auth.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__stats.html">rpcap_stats</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure that keeps the statistics about the number of packets captured, dropped, etc. <a href="structrpcap__stats.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__sampling.html">rpcap_sampling</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure that is needed to set sampling parameters. <a href="structrpcap__sampling.html#_details">More...</a><br/></td></tr>
+<tr><td colspan="2"><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gadd48856fd036eb39b1374e8722b83970">RPCAP_DEFAULT_NETPORT</a>&nbsp;&nbsp;&nbsp;&quot;2002&quot;</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga3faff98b6c9e4560e58beb8ca5d62473">RPCAP_DEFAULT_NETPORT_ACTIVE</a>&nbsp;&nbsp;&nbsp;&quot;2003&quot;</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga652ea27f0736f2ed16eff2f8232be733">RPCAP_DEFAULT_NETADDR</a>&nbsp;&nbsp;&nbsp;&quot;&quot;</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gadd52d73598f0b006a4634f6f40c85e3e">RPCAP_VERSION</a>&nbsp;&nbsp;&nbsp;0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gad5f148b0c94a8c6162ee79c33463ac95">RPCAP_TIMEOUT_INIT</a>&nbsp;&nbsp;&nbsp;90</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga1d5a54e68e71ec6de7e3d9d1b5dc35bc">RPCAP_TIMEOUT_RUNTIME</a>&nbsp;&nbsp;&nbsp;180</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga8f32f1a7e4afc75d85adee7aa1136e2b">RPCAP_ACTIVE_WAIT</a>&nbsp;&nbsp;&nbsp;30</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga5bac38979d12b0a8755d70981fb387af">RPCAP_SUSPEND_WRONGAUTH</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gac094e3209a4b7fc379b034d3dc37acb0">RPCAP_NETBUF_SIZE</a>&nbsp;&nbsp;&nbsp;64000</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Buffer used by socket functions to send-receive packets. In case you plan to have messages larger than this value, you have to increase it. <a href="#gac094e3209a4b7fc379b034d3dc37acb0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga9ca2e46ddec1744b0442e42fc77dbc36">RPCAP_HOSTLIST_SEP</a>&nbsp;&nbsp;&nbsp;&quot; ,;\n\r&quot;</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Separators used for the host list. <a href="#ga9ca2e46ddec1744b0442e42fc77dbc36"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gae794b40128a8f48e8aab742c499e4c5c">RPCAP_MSG_ERROR</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gac1cca8dabd5af5293a0e41515bc532a5">RPCAP_MSG_FINDALLIF_REQ</a>&nbsp;&nbsp;&nbsp;2</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gac99b71c29a3177c663b099c417d1de91">RPCAP_MSG_OPEN_REQ</a>&nbsp;&nbsp;&nbsp;3</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga082b424838496c8cc92dcadf6333b9e1">RPCAP_MSG_STARTCAP_REQ</a>&nbsp;&nbsp;&nbsp;4</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga8c77cf6f710b92b3f87257e7d03d6677">RPCAP_MSG_UPDATEFILTER_REQ</a>&nbsp;&nbsp;&nbsp;5</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gaaca8c569d09dd1c7b2a7cfebe2ed5017">RPCAP_MSG_CLOSE</a>&nbsp;&nbsp;&nbsp;6</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gaaa605dc088c22dd9064a38d16a5199b9">RPCAP_MSG_PACKET</a>&nbsp;&nbsp;&nbsp;7</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga967ed95127e15aae04df68d128b32dcd">RPCAP_MSG_AUTH_REQ</a>&nbsp;&nbsp;&nbsp;8</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga29508e4fba57e33978c73997630b8159">RPCAP_MSG_STATS_REQ</a>&nbsp;&nbsp;&nbsp;9</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gad6554d0a3e2e81d440a216e9ed207c99">RPCAP_MSG_ENDCAP_REQ</a>&nbsp;&nbsp;&nbsp;10</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga2d8c7f1e4361c748ccc051c276f5eaa9">RPCAP_MSG_SETSAMPLING_REQ</a>&nbsp;&nbsp;&nbsp;11</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gab60aca69282ead1088a4565d47bdc05e">RPCAP_MSG_FINDALLIF_REPLY</a>&nbsp;&nbsp;&nbsp;(128+RPCAP_MSG_FINDALLIF_REQ)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga753597c2ff993d12156d7922116b1835">RPCAP_MSG_OPEN_REPLY</a>&nbsp;&nbsp;&nbsp;(128+RPCAP_MSG_OPEN_REQ)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga22dcbe343e2103aef2e9856f93f40167">RPCAP_MSG_STARTCAP_REPLY</a>&nbsp;&nbsp;&nbsp;(128+RPCAP_MSG_STARTCAP_REQ)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gaeb2561c1c6c9b9c56f4ac14ab70f6c3a">RPCAP_MSG_UPDATEFILTER_REPLY</a>&nbsp;&nbsp;&nbsp;(128+RPCAP_MSG_UPDATEFILTER_REQ)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga558198e22dad94774670d4901069761b">RPCAP_MSG_AUTH_REPLY</a>&nbsp;&nbsp;&nbsp;(128+RPCAP_MSG_AUTH_REQ)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga3d52f2b6b3210dcb4f0db7bd8b46138e">RPCAP_MSG_STATS_REPLY</a>&nbsp;&nbsp;&nbsp;(128+RPCAP_MSG_STATS_REQ)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga2994f9df11cfc2b2dd0e9a9d9ac4f37b">RPCAP_MSG_ENDCAP_REPLY</a>&nbsp;&nbsp;&nbsp;(128+RPCAP_MSG_ENDCAP_REQ)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga59a57a83acc395c5e508dda7b8c33bad">RPCAP_MSG_SETSAMPLING_REPLY</a>&nbsp;&nbsp;&nbsp;(128+RPCAP_MSG_SETSAMPLING_REQ)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga3d0b7b3a3d97ebdd265ab800a004ae8c">RPCAP_STARTCAPREQ_FLAG_PROMISC</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga3f87b7e89ed61dc2c9956234399058e8">RPCAP_STARTCAPREQ_FLAG_DGRAM</a>&nbsp;&nbsp;&nbsp;2</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga0c5a71a9b6d5be2662c5a8872cf3032c">RPCAP_STARTCAPREQ_FLAG_SERVEROPEN</a>&nbsp;&nbsp;&nbsp;4</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gac22aa6103fe1490ab908a26d5c4a7c8a">RPCAP_STARTCAPREQ_FLAG_INBOUND</a>&nbsp;&nbsp;&nbsp;8</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga2b29630fe7963da543db242459c74832">RPCAP_STARTCAPREQ_FLAG_OUTBOUND</a>&nbsp;&nbsp;&nbsp;16</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gac93bee6a0991d4334eacd6e451b54240">RPCAP_UPDATEFILTER_BPF</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga281ffdbe28e312f9fe6bc22c4d14fd68">PCAP_ERR_NETW</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga43cc461cdabd8d39ca2346f10c233a1b">PCAP_ERR_INITTIMEOUT</a>&nbsp;&nbsp;&nbsp;2</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga5c8c6dd12f4fcdeaefd0f8d4a67b3075">PCAP_ERR_AUTH</a>&nbsp;&nbsp;&nbsp;3</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gadfbdeb5279422bc65233eefeca885661">PCAP_ERR_FINDALLIF</a>&nbsp;&nbsp;&nbsp;4</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga9f540070da23a5e61d0e27a61a300639">PCAP_ERR_NOREMOTEIF</a>&nbsp;&nbsp;&nbsp;5</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga3bfdce6d89b764b103404a1ec08bc4f9">PCAP_ERR_OPEN</a>&nbsp;&nbsp;&nbsp;6</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gae12279008dbc82da60f457ae639d9c98">PCAP_ERR_UPDATEFILTER</a>&nbsp;&nbsp;&nbsp;7</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gaf2e8f37c8ecf045242e00d9d138d4130">PCAP_ERR_GETSTATS</a>&nbsp;&nbsp;&nbsp;8</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga61631ebf63be764b06b1259fcded1b4d">PCAP_ERR_READEX</a>&nbsp;&nbsp;&nbsp;9</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga77b7c5dbb7399e0f73c3105c181c0eba">PCAP_ERR_HOSTNOAUTH</a>&nbsp;&nbsp;&nbsp;10</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga005853d9f448e2125b9c907cd68ae77a">PCAP_ERR_REMOTEACCEPT</a>&nbsp;&nbsp;&nbsp;11</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga2342b31cd1b83713b43e29fc1b8bbe80">PCAP_ERR_STARTCAPTURE</a>&nbsp;&nbsp;&nbsp;12</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga7237f6698352751c08de3b10ae711881">PCAP_ERR_ENDCAPTURE</a>&nbsp;&nbsp;&nbsp;13</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga9a98b752c9427a52b1902b6a4aa9845a">PCAP_ERR_RUNTIMETIMEOUT</a>&nbsp;&nbsp;&nbsp;14</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gad904f96dcd2dc7ead1f50e81d27a87ee">PCAP_ERR_SETSAMPLING</a>&nbsp;&nbsp;&nbsp;15</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gaadf8ebdb03c2852d32084792c32f5014">PCAP_ERR_WRONGMSG</a>&nbsp;&nbsp;&nbsp;16</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga27644e4198a710a3fb6763464b4cceb8">PCAP_ERR_WRONGVER</a>&nbsp;&nbsp;&nbsp;17</td></tr>
+<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gadde6aaee8457bee49c2a92621fe22b79">uint8</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Provides an 8-bits unsigned integer. <a href="#gadde6aaee8457bee49c2a92621fe22b79"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef unsigned short&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Provides a 16-bits unsigned integer. <a href="#ga05f6b0ae8f6a6e135b0e290c25fe0e4e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">uint32</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Provides a 32-bits unsigned integer. <a href="#ga1134b580f8da4de94ca6b1de4d37975e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga56f1a81c92849566ae864511088eb7e8">int32</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Provides a 32-bits integer. <a href="#ga56f1a81c92849566ae864511088eb7e8"></a><br/></td></tr>
+</table>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="ga5c8c6dd12f4fcdeaefd0f8d4a67b3075"></a><!-- doxytag: member="pcap&#45;remote.h::PCAP_ERR_AUTH" ref="ga5c8c6dd12f4fcdeaefd0f8d4a67b3075" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PCAP_ERR_AUTH&nbsp;&nbsp;&nbsp;3</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Generic authentication error </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00313">313</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga7237f6698352751c08de3b10ae711881"></a><!-- doxytag: member="pcap&#45;remote.h::PCAP_ERR_ENDCAPTURE" ref="ga7237f6698352751c08de3b10ae711881" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PCAP_ERR_ENDCAPTURE&nbsp;&nbsp;&nbsp;13</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Generic pcap_endcapture error </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00323">323</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gadfbdeb5279422bc65233eefeca885661"></a><!-- doxytag: member="pcap&#45;remote.h::PCAP_ERR_FINDALLIF" ref="gadfbdeb5279422bc65233eefeca885661" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PCAP_ERR_FINDALLIF&nbsp;&nbsp;&nbsp;4</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Generic findalldevs error </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00314">314</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaf2e8f37c8ecf045242e00d9d138d4130"></a><!-- doxytag: member="pcap&#45;remote.h::PCAP_ERR_GETSTATS" ref="gaf2e8f37c8ecf045242e00d9d138d4130" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PCAP_ERR_GETSTATS&nbsp;&nbsp;&nbsp;8</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Generic pcap_stats error </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00318">318</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga77b7c5dbb7399e0f73c3105c181c0eba"></a><!-- doxytag: member="pcap&#45;remote.h::PCAP_ERR_HOSTNOAUTH" ref="ga77b7c5dbb7399e0f73c3105c181c0eba" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PCAP_ERR_HOSTNOAUTH&nbsp;&nbsp;&nbsp;10</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>The host is not authorized to connect to this server </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00320">320</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga43cc461cdabd8d39ca2346f10c233a1b"></a><!-- doxytag: member="pcap&#45;remote.h::PCAP_ERR_INITTIMEOUT" ref="ga43cc461cdabd8d39ca2346f10c233a1b" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PCAP_ERR_INITTIMEOUT&nbsp;&nbsp;&nbsp;2</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>The RPCAP initial timeout has expired </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00312">312</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga281ffdbe28e312f9fe6bc22c4d14fd68"></a><!-- doxytag: member="pcap&#45;remote.h::PCAP_ERR_NETW" ref="ga281ffdbe28e312f9fe6bc22c4d14fd68" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PCAP_ERR_NETW&nbsp;&nbsp;&nbsp;1</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Network error </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00311">311</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga9f540070da23a5e61d0e27a61a300639"></a><!-- doxytag: member="pcap&#45;remote.h::PCAP_ERR_NOREMOTEIF" ref="ga9f540070da23a5e61d0e27a61a300639" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PCAP_ERR_NOREMOTEIF&nbsp;&nbsp;&nbsp;5</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>The findalldevs was ok, but the remote end had no interfaces to list </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00315">315</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga3bfdce6d89b764b103404a1ec08bc4f9"></a><!-- doxytag: member="pcap&#45;remote.h::PCAP_ERR_OPEN" ref="ga3bfdce6d89b764b103404a1ec08bc4f9" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PCAP_ERR_OPEN&nbsp;&nbsp;&nbsp;6</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Generic pcap_open error </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00316">316</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga61631ebf63be764b06b1259fcded1b4d"></a><!-- doxytag: member="pcap&#45;remote.h::PCAP_ERR_READEX" ref="ga61631ebf63be764b06b1259fcded1b4d" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PCAP_ERR_READEX&nbsp;&nbsp;&nbsp;9</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Generic pcap_next_ex error </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00319">319</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga005853d9f448e2125b9c907cd68ae77a"></a><!-- doxytag: member="pcap&#45;remote.h::PCAP_ERR_REMOTEACCEPT" ref="ga005853d9f448e2125b9c907cd68ae77a" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PCAP_ERR_REMOTEACCEPT&nbsp;&nbsp;&nbsp;11</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Generic pcap_remoteaccept error </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00321">321</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga9a98b752c9427a52b1902b6a4aa9845a"></a><!-- doxytag: member="pcap&#45;remote.h::PCAP_ERR_RUNTIMETIMEOUT" ref="ga9a98b752c9427a52b1902b6a4aa9845a" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PCAP_ERR_RUNTIMETIMEOUT&nbsp;&nbsp;&nbsp;14</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>The RPCAP run-time timeout has expired </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00324">324</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gad904f96dcd2dc7ead1f50e81d27a87ee"></a><!-- doxytag: member="pcap&#45;remote.h::PCAP_ERR_SETSAMPLING" ref="gad904f96dcd2dc7ead1f50e81d27a87ee" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PCAP_ERR_SETSAMPLING&nbsp;&nbsp;&nbsp;15</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Error diring the settings of sampling parameters </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00325">325</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga2342b31cd1b83713b43e29fc1b8bbe80"></a><!-- doxytag: member="pcap&#45;remote.h::PCAP_ERR_STARTCAPTURE" ref="ga2342b31cd1b83713b43e29fc1b8bbe80" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PCAP_ERR_STARTCAPTURE&nbsp;&nbsp;&nbsp;12</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Generic pcap_startcapture error </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00322">322</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gae12279008dbc82da60f457ae639d9c98"></a><!-- doxytag: member="pcap&#45;remote.h::PCAP_ERR_UPDATEFILTER" ref="gae12279008dbc82da60f457ae639d9c98" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PCAP_ERR_UPDATEFILTER&nbsp;&nbsp;&nbsp;7</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Generic updatefilter error </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00317">317</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaadf8ebdb03c2852d32084792c32f5014"></a><!-- doxytag: member="pcap&#45;remote.h::PCAP_ERR_WRONGMSG" ref="gaadf8ebdb03c2852d32084792c32f5014" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PCAP_ERR_WRONGMSG&nbsp;&nbsp;&nbsp;16</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>The other end endpoint sent a message which has not been recognized </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00326">326</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga27644e4198a710a3fb6763464b4cceb8"></a><!-- doxytag: member="pcap&#45;remote.h::PCAP_ERR_WRONGVER" ref="ga27644e4198a710a3fb6763464b4cceb8" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PCAP_ERR_WRONGVER&nbsp;&nbsp;&nbsp;17</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>The other end endpoint ahs a version number that is not compatible with our </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00327">327</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga8f32f1a7e4afc75d85adee7aa1136e2b"></a><!-- doxytag: member="pcap&#45;remote.h::RPCAP_ACTIVE_WAIT" ref="ga8f32f1a7e4afc75d85adee7aa1136e2b" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_ACTIVE_WAIT&nbsp;&nbsp;&nbsp;30</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Waiting time betweek two attempts to open a connection, in active mode (default: 30 sec) </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00092">92</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga652ea27f0736f2ed16eff2f8232be733"></a><!-- doxytag: member="pcap&#45;remote.h::RPCAP_DEFAULT_NETADDR" ref="ga652ea27f0736f2ed16eff2f8232be733" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_DEFAULT_NETADDR&nbsp;&nbsp;&nbsp;&quot;&quot;</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Default network address on which the RPCAP daemon binds to. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00088">88</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gadd48856fd036eb39b1374e8722b83970"></a><!-- doxytag: member="pcap&#45;remote.h::RPCAP_DEFAULT_NETPORT" ref="gadd48856fd036eb39b1374e8722b83970" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_DEFAULT_NETPORT&nbsp;&nbsp;&nbsp;&quot;2002&quot;</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Default port on which the RPCAP daemon is waiting for connections. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00085">85</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga3faff98b6c9e4560e58beb8ca5d62473"></a><!-- doxytag: member="pcap&#45;remote.h::RPCAP_DEFAULT_NETPORT_ACTIVE" ref="ga3faff98b6c9e4560e58beb8ca5d62473" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_DEFAULT_NETPORT_ACTIVE&nbsp;&nbsp;&nbsp;&quot;2003&quot;</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Default port on which the client workstation is waiting for connections in case of active mode. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00087">87</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga9ca2e46ddec1744b0442e42fc77dbc36"></a><!-- doxytag: member="pcap&#45;remote.h::RPCAP_HOSTLIST_SEP" ref="ga9ca2e46ddec1744b0442e42fc77dbc36" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_HOSTLIST_SEP&nbsp;&nbsp;&nbsp;&quot; ,;\n\r&quot;</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Separators used for the host list. </p>
+<p>It is used:</p>
+<ul>
+<li>by the rpcapd daemon, when you types a list of allowed connecting hosts</li>
+<li>by the rpcap in active mode, when the client waits for incoming connections from other hosts </li>
+</ul>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00109">109</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga558198e22dad94774670d4901069761b"></a><!-- doxytag: member="pcap&#45;remote.h::RPCAP_MSG_AUTH_REPLY" ref="ga558198e22dad94774670d4901069761b" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_MSG_AUTH_REPLY&nbsp;&nbsp;&nbsp;(128+RPCAP_MSG_AUTH_REQ)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Sends a message that says 'ok, authorization successful' </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00296">296</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga967ed95127e15aae04df68d128b32dcd"></a><!-- doxytag: member="pcap&#45;remote.h::RPCAP_MSG_AUTH_REQ" ref="ga967ed95127e15aae04df68d128b32dcd" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_MSG_AUTH_REQ&nbsp;&nbsp;&nbsp;8</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Message that keeps the authentication parameters </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00287">287</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaaca8c569d09dd1c7b2a7cfebe2ed5017"></a><!-- doxytag: member="pcap&#45;remote.h::RPCAP_MSG_CLOSE" ref="gaaca8c569d09dd1c7b2a7cfebe2ed5017" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_MSG_CLOSE&nbsp;&nbsp;&nbsp;6</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Close the connection with the remote peer </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00285">285</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga2994f9df11cfc2b2dd0e9a9d9ac4f37b"></a><!-- doxytag: member="pcap&#45;remote.h::RPCAP_MSG_ENDCAP_REPLY" ref="ga2994f9df11cfc2b2dd0e9a9d9ac4f37b" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_MSG_ENDCAP_REPLY&nbsp;&nbsp;&nbsp;(128+RPCAP_MSG_ENDCAP_REQ)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Confirms that the capture stopped succesfully </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00298">298</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gad6554d0a3e2e81d440a216e9ed207c99"></a><!-- doxytag: member="pcap&#45;remote.h::RPCAP_MSG_ENDCAP_REQ" ref="gad6554d0a3e2e81d440a216e9ed207c99" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_MSG_ENDCAP_REQ&nbsp;&nbsp;&nbsp;10</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Stops the current capture, keeping the device open </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00289">289</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gae794b40128a8f48e8aab742c499e4c5c"></a><!-- doxytag: member="pcap&#45;remote.h::RPCAP_MSG_ERROR" ref="gae794b40128a8f48e8aab742c499e4c5c" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_MSG_ERROR&nbsp;&nbsp;&nbsp;1</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Message that keeps an error notification </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00280">280</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gab60aca69282ead1088a4565d47bdc05e"></a><!-- doxytag: member="pcap&#45;remote.h::RPCAP_MSG_FINDALLIF_REPLY" ref="gab60aca69282ead1088a4565d47bdc05e" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_MSG_FINDALLIF_REPLY&nbsp;&nbsp;&nbsp;(128+RPCAP_MSG_FINDALLIF_REQ)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Keeps the list of all the remote interfaces </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00292">292</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gac1cca8dabd5af5293a0e41515bc532a5"></a><!-- doxytag: member="pcap&#45;remote.h::RPCAP_MSG_FINDALLIF_REQ" ref="gac1cca8dabd5af5293a0e41515bc532a5" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_MSG_FINDALLIF_REQ&nbsp;&nbsp;&nbsp;2</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Request to list all the remote interfaces </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00281">281</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga753597c2ff993d12156d7922116b1835"></a><!-- doxytag: member="pcap&#45;remote.h::RPCAP_MSG_OPEN_REPLY" ref="ga753597c2ff993d12156d7922116b1835" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_MSG_OPEN_REPLY&nbsp;&nbsp;&nbsp;(128+RPCAP_MSG_OPEN_REQ)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>The remote device has been opened correctly </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00293">293</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gac99b71c29a3177c663b099c417d1de91"></a><!-- doxytag: member="pcap&#45;remote.h::RPCAP_MSG_OPEN_REQ" ref="gac99b71c29a3177c663b099c417d1de91" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_MSG_OPEN_REQ&nbsp;&nbsp;&nbsp;3</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Request to open a remote device </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00282">282</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaaa605dc088c22dd9064a38d16a5199b9"></a><!-- doxytag: member="pcap&#45;remote.h::RPCAP_MSG_PACKET" ref="gaaa605dc088c22dd9064a38d16a5199b9" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_MSG_PACKET&nbsp;&nbsp;&nbsp;7</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>This is a 'data' message, which carries a network packet </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00286">286</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga59a57a83acc395c5e508dda7b8c33bad"></a><!-- doxytag: member="pcap&#45;remote.h::RPCAP_MSG_SETSAMPLING_REPLY" ref="ga59a57a83acc395c5e508dda7b8c33bad" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_MSG_SETSAMPLING_REPLY&nbsp;&nbsp;&nbsp;(128+RPCAP_MSG_SETSAMPLING_REQ)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Confirms that the capture stopped succesfully </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00299">299</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga2d8c7f1e4361c748ccc051c276f5eaa9"></a><!-- doxytag: member="pcap&#45;remote.h::RPCAP_MSG_SETSAMPLING_REQ" ref="ga2d8c7f1e4361c748ccc051c276f5eaa9" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_MSG_SETSAMPLING_REQ&nbsp;&nbsp;&nbsp;11</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Sset sampling parameters </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00290">290</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga22dcbe343e2103aef2e9856f93f40167"></a><!-- doxytag: member="pcap&#45;remote.h::RPCAP_MSG_STARTCAP_REPLY" ref="ga22dcbe343e2103aef2e9856f93f40167" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_MSG_STARTCAP_REPLY&nbsp;&nbsp;&nbsp;(128+RPCAP_MSG_STARTCAP_REQ)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>The capture is staarting correctly </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00294">294</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga082b424838496c8cc92dcadf6333b9e1"></a><!-- doxytag: member="pcap&#45;remote.h::RPCAP_MSG_STARTCAP_REQ" ref="ga082b424838496c8cc92dcadf6333b9e1" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_MSG_STARTCAP_REQ&nbsp;&nbsp;&nbsp;4</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Request to start a capture on a remote device </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00283">283</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga3d52f2b6b3210dcb4f0db7bd8b46138e"></a><!-- doxytag: member="pcap&#45;remote.h::RPCAP_MSG_STATS_REPLY" ref="ga3d52f2b6b3210dcb4f0db7bd8b46138e" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_MSG_STATS_REPLY&nbsp;&nbsp;&nbsp;(128+RPCAP_MSG_STATS_REQ)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Message that keeps the network statistics </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00297">297</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga29508e4fba57e33978c73997630b8159"></a><!-- doxytag: member="pcap&#45;remote.h::RPCAP_MSG_STATS_REQ" ref="ga29508e4fba57e33978c73997630b8159" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_MSG_STATS_REQ&nbsp;&nbsp;&nbsp;9</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>It requires to have network statistics </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00288">288</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaeb2561c1c6c9b9c56f4ac14ab70f6c3a"></a><!-- doxytag: member="pcap&#45;remote.h::RPCAP_MSG_UPDATEFILTER_REPLY" ref="gaeb2561c1c6c9b9c56f4ac14ab70f6c3a" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_MSG_UPDATEFILTER_REPLY&nbsp;&nbsp;&nbsp;(128+RPCAP_MSG_UPDATEFILTER_REQ)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>The filter has been applied correctly on the remote device </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00295">295</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga8c77cf6f710b92b3f87257e7d03d6677"></a><!-- doxytag: member="pcap&#45;remote.h::RPCAP_MSG_UPDATEFILTER_REQ" ref="ga8c77cf6f710b92b3f87257e7d03d6677" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_MSG_UPDATEFILTER_REQ&nbsp;&nbsp;&nbsp;5</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Send a compiled filter into the remote device </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00284">284</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gac094e3209a4b7fc379b034d3dc37acb0"></a><!-- doxytag: member="pcap&#45;remote.h::RPCAP_NETBUF_SIZE" ref="gac094e3209a4b7fc379b034d3dc37acb0" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_NETBUF_SIZE&nbsp;&nbsp;&nbsp;64000</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Buffer used by socket functions to send-receive packets. In case you plan to have messages larger than this value, you have to increase it. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00099">99</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga3f87b7e89ed61dc2c9956234399058e8"></a><!-- doxytag: member="pcap&#45;remote.h::RPCAP_STARTCAPREQ_FLAG_DGRAM" ref="ga3f87b7e89ed61dc2c9956234399058e8" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_STARTCAPREQ_FLAG_DGRAM&nbsp;&nbsp;&nbsp;2</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Use a datagram (i.e. UDP) connection for the data stream (default: use TCP) </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00302">302</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gac22aa6103fe1490ab908a26d5c4a7c8a"></a><!-- doxytag: member="pcap&#45;remote.h::RPCAP_STARTCAPREQ_FLAG_INBOUND" ref="gac22aa6103fe1490ab908a26d5c4a7c8a" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_STARTCAPREQ_FLAG_INBOUND&nbsp;&nbsp;&nbsp;8</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Capture only inbound packets (take care: the flag has no effects with promiscuous enabled) </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00304">304</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga2b29630fe7963da543db242459c74832"></a><!-- doxytag: member="pcap&#45;remote.h::RPCAP_STARTCAPREQ_FLAG_OUTBOUND" ref="ga2b29630fe7963da543db242459c74832" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_STARTCAPREQ_FLAG_OUTBOUND&nbsp;&nbsp;&nbsp;16</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Capture only outbound packets (take care: the flag has no effects with promiscuous enabled) </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00305">305</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga3d0b7b3a3d97ebdd265ab800a004ae8c"></a><!-- doxytag: member="pcap&#45;remote.h::RPCAP_STARTCAPREQ_FLAG_PROMISC" ref="ga3d0b7b3a3d97ebdd265ab800a004ae8c" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_STARTCAPREQ_FLAG_PROMISC&nbsp;&nbsp;&nbsp;1</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Enables promiscuous mode (default: disabled) </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00301">301</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga0c5a71a9b6d5be2662c5a8872cf3032c"></a><!-- doxytag: member="pcap&#45;remote.h::RPCAP_STARTCAPREQ_FLAG_SERVEROPEN" ref="ga0c5a71a9b6d5be2662c5a8872cf3032c" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_STARTCAPREQ_FLAG_SERVEROPEN&nbsp;&nbsp;&nbsp;4</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>The server has to open the data connection toward the client </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00303">303</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga5bac38979d12b0a8755d70981fb387af"></a><!-- doxytag: member="pcap&#45;remote.h::RPCAP_SUSPEND_WRONGAUTH" ref="ga5bac38979d12b0a8755d70981fb387af" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_SUSPEND_WRONGAUTH&nbsp;&nbsp;&nbsp;1</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>If the authentication is wrong, stops 1 sec before accepting a new auth message </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00093">93</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gad5f148b0c94a8c6162ee79c33463ac95"></a><!-- doxytag: member="pcap&#45;remote.h::RPCAP_TIMEOUT_INIT" ref="gad5f148b0c94a8c6162ee79c33463ac95" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_TIMEOUT_INIT&nbsp;&nbsp;&nbsp;90</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Initial timeout for RPCAP connections (default: 90 sec) </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00090">90</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga1d5a54e68e71ec6de7e3d9d1b5dc35bc"></a><!-- doxytag: member="pcap&#45;remote.h::RPCAP_TIMEOUT_RUNTIME" ref="ga1d5a54e68e71ec6de7e3d9d1b5dc35bc" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_TIMEOUT_RUNTIME&nbsp;&nbsp;&nbsp;180</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Run-time timeout for RPCAP connections (default: 3 min) </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00091">91</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gac93bee6a0991d4334eacd6e451b54240"></a><!-- doxytag: member="pcap&#45;remote.h::RPCAP_UPDATEFILTER_BPF" ref="gac93bee6a0991d4334eacd6e451b54240" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_UPDATEFILTER_BPF&nbsp;&nbsp;&nbsp;1</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>This code tells us that the filter is encoded with the BPF/NPF syntax </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00307">307</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gadd52d73598f0b006a4634f6f40c85e3e"></a><!-- doxytag: member="pcap&#45;remote.h::RPCAP_VERSION" ref="gadd52d73598f0b006a4634f6f40c85e3e" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_VERSION&nbsp;&nbsp;&nbsp;0</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Present version of the RPCAP protocol (0 = Experimental). </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00089">89</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="ga56f1a81c92849566ae864511088eb7e8"></a><!-- doxytag: member="pcap&#45;remote.h::int32" ref="ga56f1a81c92849566ae864511088eb7e8" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef int <a class="el" href="group__remote__pri__struct.html#ga56f1a81c92849566ae864511088eb7e8">int32</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Provides a 32-bits integer. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00118">118</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga05f6b0ae8f6a6e135b0e290c25fe0e4e"></a><!-- doxytag: member="pcap&#45;remote.h::uint16" ref="ga05f6b0ae8f6a6e135b0e290c25fe0e4e" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef unsigned short <a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Provides a 16-bits unsigned integer. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00116">116</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga1134b580f8da4de94ca6b1de4d37975e"></a><!-- doxytag: member="pcap&#45;remote.h::uint32" ref="ga1134b580f8da4de94ca6b1de4d37975e" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef unsigned int <a class="el" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">uint32</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Provides a 32-bits unsigned integer. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00117">117</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gadde6aaee8457bee49c2a92621fe22b79"></a><!-- doxytag: member="pcap&#45;remote.h::uint8" ref="gadde6aaee8457bee49c2a92621fe22b79" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef unsigned char <a class="el" href="group__remote__pri__struct.html#gadde6aaee8457bee49c2a92621fe22b79">uint8</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Provides an 8-bits unsigned integer. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00115">115</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/group__remote__samp__methods.html b/3rdparty/winpcap/docs/html/group__remote__samp__methods.html
new file mode 100644
index 00000000000..10037d3fa13
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/group__remote__samp__methods.html
@@ -0,0 +1,95 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Sampling methods defined in the pcap_setsampling() function</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Sampling methods defined in the pcap_setsampling() function<br/>
+<small>
+[<a class="el" href="group__remote__struct.html">Exported Structures and Definitions</a>]</small>
+</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__samp__methods.html#ga1fc3a70120a1188f5ed4cc2af0ff0671">PCAP_SAMP_NOSAMP</a>&nbsp;&nbsp;&nbsp;0</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">No sampling has to be done on the current capture. <a href="#ga1fc3a70120a1188f5ed4cc2af0ff0671"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__samp__methods.html#ga79bf88faf9851bf82ee30beb302e3b5f">PCAP_SAMP_1_EVERY_N</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">It defines that only 1 out of N packets must be returned to the user. <a href="#ga79bf88faf9851bf82ee30beb302e3b5f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__samp__methods.html#ga5a4ae1f017ece5c1d3b44c8a399d130b">PCAP_SAMP_FIRST_AFTER_N_MS</a>&nbsp;&nbsp;&nbsp;2</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">It defines that we have to return 1 packet every N milliseconds. <a href="#ga5a4ae1f017ece5c1d3b44c8a399d130b"></a><br/></td></tr>
+</table>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="ga79bf88faf9851bf82ee30beb302e3b5f"></a><!-- doxytag: member="remote&#45;ext.h::PCAP_SAMP_1_EVERY_N" ref="ga79bf88faf9851bf82ee30beb302e3b5f" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PCAP_SAMP_1_EVERY_N&nbsp;&nbsp;&nbsp;1</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>It defines that only 1 out of N packets must be returned to the user. </p>
+<p>In this case, the 'value' field of the 'pcap_samp' structure indicates the number of packets (minus 1) that must be discarded before one packet got accepted. In other words, if 'value = 10', the first packet is returned to the caller, while the following 9 are discarded. </p>
+
+<p>Definition at line <a class="el" href="remote-ext_8h_source.html#l00275">275</a> of file <a class="el" href="remote-ext_8h_source.html">remote-ext.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga5a4ae1f017ece5c1d3b44c8a399d130b"></a><!-- doxytag: member="remote&#45;ext.h::PCAP_SAMP_FIRST_AFTER_N_MS" ref="ga5a4ae1f017ece5c1d3b44c8a399d130b" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PCAP_SAMP_FIRST_AFTER_N_MS&nbsp;&nbsp;&nbsp;2</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>It defines that we have to return 1 packet every N milliseconds. </p>
+<p>In this case, the 'value' field of the 'pcap_samp' structure indicates the 'waiting time' in milliseconds before one packet got accepted. In other words, if 'value = 10', the first packet is returned to the caller; the next returned one will be the first packet that arrives when 10ms have elapsed. </p>
+
+<p>Definition at line <a class="el" href="remote-ext_8h_source.html#l00285">285</a> of file <a class="el" href="remote-ext_8h_source.html">remote-ext.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga1fc3a70120a1188f5ed4cc2af0ff0671"></a><!-- doxytag: member="remote&#45;ext.h::PCAP_SAMP_NOSAMP" ref="ga1fc3a70120a1188f5ed4cc2af0ff0671" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PCAP_SAMP_NOSAMP&nbsp;&nbsp;&nbsp;0</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>No sampling has to be done on the current capture. </p>
+<p>In this case, no sampling algorithms are applied to the current capture. </p>
+
+<p>Definition at line <a class="el" href="remote-ext_8h_source.html#l00265">265</a> of file <a class="el" href="remote-ext_8h_source.html">remote-ext.h</a>.</p>
+
+</div>
+</div>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/group__remote__source__ID.html b/3rdparty/winpcap/docs/html/group__remote__source__ID.html
new file mode 100644
index 00000000000..f42a634bf48
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/group__remote__source__ID.html
@@ -0,0 +1,95 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Identifiers related to the new source syntax</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Identifiers related to the new source syntax<br/>
+<small>
+[<a class="el" href="group__remote__struct.html">Exported Structures and Definitions</a>]</small>
+</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__source__ID.html#ga9188ad0fc0d12fc51d1e9f5e78bf9440">PCAP_SRC_FILE</a>&nbsp;&nbsp;&nbsp;2</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal representation of the type of source in use (file, remote/local interface). <a href="#ga9188ad0fc0d12fc51d1e9f5e78bf9440"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__source__ID.html#ga00c875af0185ead420787d4eaba6ff71">PCAP_SRC_IFLOCAL</a>&nbsp;&nbsp;&nbsp;3</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal representation of the type of source in use (file, remote/local interface). <a href="#ga00c875af0185ead420787d4eaba6ff71"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__source__ID.html#gae5558973e334926f6e7171e3a711e265">PCAP_SRC_IFREMOTE</a>&nbsp;&nbsp;&nbsp;4</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal representation of the type of source in use (file, remote/local interface). <a href="#gae5558973e334926f6e7171e3a711e265"></a><br/></td></tr>
+</table>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="ga9188ad0fc0d12fc51d1e9f5e78bf9440"></a><!-- doxytag: member="remote&#45;ext.h::PCAP_SRC_FILE" ref="ga9188ad0fc0d12fc51d1e9f5e78bf9440" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PCAP_SRC_FILE&nbsp;&nbsp;&nbsp;2</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Internal representation of the type of source in use (file, remote/local interface). </p>
+<p>This indicates a file, i.e. the user want to open a capture from a local file. </p>
+
+<p>Definition at line <a class="el" href="remote-ext_8h_source.html#l00093">93</a> of file <a class="el" href="remote-ext_8h_source.html">remote-ext.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga00c875af0185ead420787d4eaba6ff71"></a><!-- doxytag: member="remote&#45;ext.h::PCAP_SRC_IFLOCAL" ref="ga00c875af0185ead420787d4eaba6ff71" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PCAP_SRC_IFLOCAL&nbsp;&nbsp;&nbsp;3</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Internal representation of the type of source in use (file, remote/local interface). </p>
+<p>This indicates a local interface, i.e. the user want to open a capture from a local interface. This does not involve the RPCAP protocol. </p>
+
+<p>Definition at line <a class="el" href="remote-ext_8h_source.html#l00101">101</a> of file <a class="el" href="remote-ext_8h_source.html">remote-ext.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gae5558973e334926f6e7171e3a711e265"></a><!-- doxytag: member="remote&#45;ext.h::PCAP_SRC_IFREMOTE" ref="gae5558973e334926f6e7171e3a711e265" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PCAP_SRC_IFREMOTE&nbsp;&nbsp;&nbsp;4</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Internal representation of the type of source in use (file, remote/local interface). </p>
+<p>This indicates a remote interface, i.e. the user want to open a capture from an interface on a remote host. This does involve the RPCAP protocol. </p>
+
+<p>Definition at line <a class="el" href="remote-ext_8h_source.html#l00109">109</a> of file <a class="el" href="remote-ext_8h_source.html">remote-ext.h</a>.</p>
+
+</div>
+</div>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/group__remote__source__string.html b/3rdparty/winpcap/docs/html/group__remote__source__string.html
new file mode 100644
index 00000000000..eeee55d1bc3
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/group__remote__source__string.html
@@ -0,0 +1,112 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Strings related to the new source syntax</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Strings related to the new source syntax<br/>
+<small>
+[<a class="el" href="group__remote__struct.html">Exported Structures and Definitions</a>]</small>
+</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__source__string.html#gadb108815eb410ca0ab0b444ff2e56a26">PCAP_SRC_FILE_STRING</a>&nbsp;&nbsp;&nbsp;&quot;file://&quot;</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">String that will be used to determine the type of source in use (file, remote/local interface). <a href="#gadb108815eb410ca0ab0b444ff2e56a26"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__source__string.html#ga6d7103b8a7e1eca8c325bd8f32c361c3">PCAP_SRC_IF_STRING</a>&nbsp;&nbsp;&nbsp;&quot;rpcap://&quot;</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">String that will be used to determine the type of source in use (file, remote/local interface). <a href="#ga6d7103b8a7e1eca8c325bd8f32c361c3"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>The formats allowed by the <a class="el" href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791" title="Open a generic source in order to capture / send (WinPcap only) traffic.">pcap_open()</a> are the following:</p>
+<ul>
+<li><a href="file://path_and_filename">file://path_and_filename</a> [opens a local file]</li>
+<li>rpcap://devicename [opens the selected device devices available on the local host, without using the RPCAP protocol]</li>
+<li>rpcap://host/devicename [opens the selected device available on a remote host]</li>
+<li>rpcap://host:port/devicename [opens the selected device available on a remote host, using a non-standard port for RPCAP]</li>
+<li>adaptername [to open a local adapter; kept for compability, but it is strongly discouraged]</li>
+<li>(NULL) [to open the first local adapter; kept for compability, but it is strongly discouraged]</li>
+</ul>
+<p>The formats allowed by the <a class="el" href="group__wpcapfunc.html#ga98f36e62c95c6ad81eaa8b2bbeb8f16e" title="Create a list of network devices that can be opened with pcap_open().">pcap_findalldevs_ex()</a> are the following:</p>
+<ul>
+<li><a href="file://folder/">file://folder/</a> [lists all the files in the given folder]</li>
+<li>rpcap:// [lists all local adapters]</li>
+<li>rpcap://host:port/ [lists the devices available on a remote host]</li>
+</ul>
+<p>Referring to the 'host' and 'port' paramters, they can be either numeric or literal. Since IPv6 is fully supported, these are the allowed formats:</p>
+<ul>
+<li>host (literal): e.g. host.foo.bar</li>
+<li>host (numeric IPv4): e.g. 10.11.12.13</li>
+<li>host (numeric IPv4, IPv6 style): e.g. [10.11.12.13]</li>
+<li>host (numeric IPv6): e.g. [1:2:3::4]</li>
+<li>port: can be either numeric (e.g. '80') or literal (e.g. 'http')</li>
+</ul>
+<p>Here you find some allowed examples:</p>
+<ul>
+<li>rpcap://host.foo.bar/devicename [everything literal, no port number]</li>
+<li>rpcap://host.foo.bar:1234/devicename [everything literal, with port number]</li>
+<li>rpcap://10.11.12.13/devicename [IPv4 numeric, no port number]</li>
+<li>rpcap://10.11.12.13:1234/devicename [IPv4 numeric, with port number]</li>
+<li>rpcap://[10.11.12.13]:1234/devicename [IPv4 numeric with IPv6 format, with port number]</li>
+<li>rpcap://[1:2:3::4]/devicename [IPv6 numeric, no port number]</li>
+<li>rpcap://[1:2:3::4]:1234/devicename [IPv6 numeric, with port number]</li>
+<li>rpcap://[1:2:3::4]:http/devicename [IPv6 numeric, with literal port number] </li>
+</ul>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="gadb108815eb410ca0ab0b444ff2e56a26"></a><!-- doxytag: member="remote&#45;ext.h::PCAP_SRC_FILE_STRING" ref="gadb108815eb410ca0ab0b444ff2e56a26" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PCAP_SRC_FILE_STRING&nbsp;&nbsp;&nbsp;&quot;file://&quot;</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>String that will be used to determine the type of source in use (file, remote/local interface). </p>
+<p>This string will be prepended to the interface name in order to create a string that contains all the information required to open the source.</p>
+<p>This string indicates that the user wants to open a capture from a local file. </p>
+
+<p>Definition at line <a class="el" href="remote-ext_8h_source.html#l00164">164</a> of file <a class="el" href="remote-ext_8h_source.html">remote-ext.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga6d7103b8a7e1eca8c325bd8f32c361c3"></a><!-- doxytag: member="remote&#45;ext.h::PCAP_SRC_IF_STRING" ref="ga6d7103b8a7e1eca8c325bd8f32c361c3" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PCAP_SRC_IF_STRING&nbsp;&nbsp;&nbsp;&quot;rpcap://&quot;</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>String that will be used to determine the type of source in use (file, remote/local interface). </p>
+<p>This string will be prepended to the interface name in order to create a string that contains all the information required to open the source.</p>
+<p>This string indicates that the user wants to open a capture from a network interface. This string does not necessarily involve the use of the RPCAP protocol. If the interface required resides on the local host, the RPCAP protocol is not involved and the local functions are used. </p>
+
+<p>Definition at line <a class="el" href="remote-ext_8h_source.html#l00177">177</a> of file <a class="el" href="remote-ext_8h_source.html">remote-ext.h</a>.</p>
+
+</div>
+</div>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/group__remote__struct.html b/3rdparty/winpcap/docs/html/group__remote__struct.html
new file mode 100644
index 00000000000..c2434f9ffee
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/group__remote__struct.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Exported Structures and Definitions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Exported Structures and Definitions<br/>
+<small>
+[<a class="el" href="group__remote.html">Remote Capture</a>]</small>
+</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__rmtauth.html">pcap_rmtauth</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This structure keeps the information needed to autheticate the user on a remote machine. <a href="structpcap__rmtauth.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__samp.html">pcap_samp</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This structure defines the information related to sampling. <a href="structpcap__samp.html#_details">More...</a><br/></td></tr>
+<tr><td colspan="2"><h2>Modules</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__source__string.html">Strings related to the new source syntax</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__source__ID.html">Identifiers related to the new source syntax</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__open__flags.html">Flags defined in the pcap_open() function</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__samp__methods.html">Sampling methods defined in the pcap_setsampling() function</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__auth__methods.html">Authentication methods supported by the RPCAP protocol</a></td></tr>
+<tr><td colspan="2"><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__struct.html#gacacb155b596f7511f714de129ae32c97">PCAP_BUF_SIZE</a>&nbsp;&nbsp;&nbsp;1024</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Defines the maximum buffer size in which address, port, interface names are kept. <a href="#gacacb155b596f7511f714de129ae32c97"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__struct.html#gad71cfa3b6dd1dacb2e8d6cef4ae67723">RPCAP_HOSTLIST_SIZE</a>&nbsp;&nbsp;&nbsp;1024</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maximum lenght of an host name (needed for the RPCAP active mode). <a href="#gad71cfa3b6dd1dacb2e8d6cef4ae67723"></a><br/></td></tr>
+</table>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="gacacb155b596f7511f714de129ae32c97"></a><!-- doxytag: member="remote&#45;ext.h::PCAP_BUF_SIZE" ref="gacacb155b596f7511f714de129ae32c97" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PCAP_BUF_SIZE&nbsp;&nbsp;&nbsp;1024</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Defines the maximum buffer size in which address, port, interface names are kept. </p>
+<p>In case the adapter name or such is larger than this value, it is truncated. This is not used by the user; however it must be aware that an hostname / interface name longer than this value will be truncated. </p>
+
+<p>Definition at line <a class="el" href="remote-ext_8h_source.html#l00079">79</a> of file <a class="el" href="remote-ext_8h_source.html">remote-ext.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gad71cfa3b6dd1dacb2e8d6cef4ae67723"></a><!-- doxytag: member="remote&#45;ext.h::RPCAP_HOSTLIST_SIZE" ref="gad71cfa3b6dd1dacb2e8d6cef4ae67723" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define RPCAP_HOSTLIST_SIZE&nbsp;&nbsp;&nbsp;1024</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Maximum lenght of an host name (needed for the RPCAP active mode). </p>
+
+<p>Definition at line <a class="el" href="remote-ext_8h_source.html#l00399">399</a> of file <a class="el" href="remote-ext_8h_source.html">remote-ext.h</a>.</p>
+
+</div>
+</div>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/group__remotefunc.html b/3rdparty/winpcap/docs/html/group__remotefunc.html
new file mode 100644
index 00000000000..ef0aa260937
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/group__remotefunc.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Exported Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Exported Functions<br/>
+<small>
+[<a class="el" href="group__remote.html">Remote Capture</a>]</small>
+</h1><table border="0" cellpadding="0" cellspacing="0">
+</table>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/group__wpcap.html b/3rdparty/winpcap/docs/html/group__wpcap.html
new file mode 100644
index 00000000000..012fdd7a543
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/group__wpcap.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: WinPcap user&#39;s manual</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>WinPcap user's manual</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Modules</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcap__def.html">Definitions</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html">Exported functions</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__language.html">Filtering expression syntax</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapsamps.html">Using WinPcap in your programs</a></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta name="GENERATOR" content="Microsoft FrontPage 6.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<title></title>
+</head>
+
+<body>
+<p>This section contains the user manual of <code><font face="Courier New">wpcap.dll</font></code>, the
+dynamic library that contains the public WinPcap API.
+<font face="Times New Roman">wpcap.dll </font>exports a set of
+system-independent functions for packet capture and network analysis. These
+functions can be used to:</p>
+<ul>
+ <li>obtain the list of the available network adapters
+ <li>retrieve various information about an adapter, like the description and the list of addresses</li>
+ <li>sniff the packets using one of the network interface cards of the PC</li>
+ <li>send packets to the network
+ <li>efficiently save packets to disk and load them with an interface similar to the one of
+ live capture</li>
+ <li>create packet filters using a high level language and apply them to the captured
+ packets</li>
+</ul>
+<p>wpcap.dll is compatible with libpcap, the well known packet capture library
+for Unix. This compatibility means that one can develop portable network tools
+that will run on the Win32 OS family and on all of the major Unix flavors.</p>
+<p>Several portions of the manual present in this section derive directly from the man pages of tcpdump and libpcap, maintained by the tcpdump.org developers. Therefore, if you
+are looking for updated docs, you can consult the web site <a href="http://www.tcpdump.org">www.tcpdump.org</a>.</p>
+<h2>Note</h2>
+<p>Some functions are marked <i>deprecated</i>
+or <i>discouraged</i>. The meanings of these labels are:</p>
+<ul>
+ <li><i>discouraged</i>: the use of another function with similar purpose is
+ suggested, however this one is still valid.</li>
+ <li><i>deprecated</i>: the function is present only for portability and
+ backward compatibility. It should be avoided, and it is strongly suggested
+ to use another equivalent function instead.<br>
+ </li>
+</ul>
+<p>
+</body>
+
+</html>
+ </div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/group__wpcap__def.html b/3rdparty/winpcap/docs/html/group__wpcap__def.html
new file mode 100644
index 00000000000..bcacddd9842
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/group__wpcap__def.html
@@ -0,0 +1,279 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Definitions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Definitions<br/>
+<small>
+[<a class="el" href="group__wpcap.html">WinPcap user's manual</a>]</small>
+</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__file__header.html">pcap_file_header</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Header of a libpcap dump file. <a href="structpcap__file__header.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__pkthdr.html">pcap_pkthdr</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Header of a packet in the dump file. <a href="structpcap__pkthdr.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__stat.html">pcap_stat</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure that keeps statistical values on an interface. <a href="structpcap__stat.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__if.html">pcap_if</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Item in a list of interfaces, used by <a class="el" href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d" title="Construct a list of network devices that can be opened with pcap_open_live().">pcap_findalldevs()</a>. <a href="structpcap__if.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__addr.html">pcap_addr</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Representation of an interface address, used by <a class="el" href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d" title="Construct a list of network devices that can be opened with pcap_open_live().">pcap_findalldevs()</a>. <a href="structpcap__addr.html#_details">More...</a><br/></td></tr>
+<tr><td colspan="2"><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcap__def.html#gaac031371d41e21ff96e80409e05a7ddb">PCAP_VERSION_MAJOR</a>&nbsp;&nbsp;&nbsp;2</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Major libpcap dump file version. <a href="#gaac031371d41e21ff96e80409e05a7ddb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcap__def.html#ga9c200b070c9f626d38184588b16849c2">PCAP_VERSION_MINOR</a>&nbsp;&nbsp;&nbsp;4</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Minor libpcap dump file version. <a href="#ga9c200b070c9f626d38184588b16849c2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcap__def.html#gacd448353957d92c98fccc29e1fc8d927">PCAP_ERRBUF_SIZE</a>&nbsp;&nbsp;&nbsp;256</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Size to use when allocating the buffer that contains the libpcap errors. <a href="#gacd448353957d92c98fccc29e1fc8d927"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcap__def.html#ga43a6601bfd438efc02b0ba71c5439647">PCAP_IF_LOOPBACK</a>&nbsp;&nbsp;&nbsp;0x00000001</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">interface is loopback <a href="#ga43a6601bfd438efc02b0ba71c5439647"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcap__def.html#gac93c0a6ad1d2a3143b1115bdab3ac04d">MODE_CAPT</a>&nbsp;&nbsp;&nbsp;0</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Capture mode, to be used when calling <a class="el" href="group__wpcapfunc.html#gaef07ef49d3c75644f3fd34518e2fe720" title="Set the working mode of the interface p to mode.">pcap_setmode()</a>. <a href="#gac93c0a6ad1d2a3143b1115bdab3ac04d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcap__def.html#ga503326906a62e96c147ae6af31fb5659">MODE_STAT</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Statistical mode, to be used when calling <a class="el" href="group__wpcapfunc.html#gaef07ef49d3c75644f3fd34518e2fe720" title="Set the working mode of the interface p to mode.">pcap_setmode()</a>. <a href="#ga503326906a62e96c147ae6af31fb5659"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcap__def.html#ga759c6336c1d9abb462d9248c5ca5c437">bpf_int32</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">32-bit integer <a href="#ga759c6336c1d9abb462d9248c5ca5c437"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef u_int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482">bpf_u_int32</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">32-bit unsigned integer <a href="#ga37fdbc8313e90fb2041203a2e40cd482"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct pcap&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Descriptor of an open capture instance. This structure is <b>opaque</b> to the user, that handles its content through the functions provided by wpcap.dll. <a href="#ga4711d025f83503ce692efa5e45ec60a7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct pcap_dumper&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcap__def.html#gab8c7858aa3a7e3158d9d58cb113a2ae8">pcap_dumper_t</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">libpcap savefile descriptor. <a href="#gab8c7858aa3a7e3158d9d58cb113a2ae8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structpcap__if.html">pcap_if</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcap__def.html#ga3a6e7cbf8d9752da3add4676c7cd4c58">pcap_if_t</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Item in a list of interfaces, see <a class="el" href="structpcap__if.html" title="Item in a list of interfaces, used by pcap_findalldevs().">pcap_if</a>. <a href="#ga3a6e7cbf8d9752da3add4676c7cd4c58"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structpcap__addr.html">pcap_addr</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcap__def.html#gad5c2e491e2ca9d8eefe4217021c99bdc">pcap_addr_t</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Representation of an interface address, see <a class="el" href="structpcap__addr.html" title="Representation of an interface address, used by pcap_findalldevs().">pcap_addr</a>. <a href="#gad5c2e491e2ca9d8eefe4217021c99bdc"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Definitions for wpcap.dll </p>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="gac93c0a6ad1d2a3143b1115bdab3ac04d"></a><!-- doxytag: member="incs/pcap.h::MODE_CAPT" ref="gac93c0a6ad1d2a3143b1115bdab3ac04d" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define MODE_CAPT&nbsp;&nbsp;&nbsp;0</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Capture mode, to be used when calling <a class="el" href="group__wpcapfunc.html#gaef07ef49d3c75644f3fd34518e2fe720" title="Set the working mode of the interface p to mode.">pcap_setmode()</a>. </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00172">172</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga503326906a62e96c147ae6af31fb5659"></a><!-- doxytag: member="incs/pcap.h::MODE_STAT" ref="ga503326906a62e96c147ae6af31fb5659" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define MODE_STAT&nbsp;&nbsp;&nbsp;1</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Statistical mode, to be used when calling <a class="el" href="group__wpcapfunc.html#gaef07ef49d3c75644f3fd34518e2fe720" title="Set the working mode of the interface p to mode.">pcap_setmode()</a>. </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00173">173</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gacd448353957d92c98fccc29e1fc8d927"></a><!-- doxytag: member="incs/pcap.h::PCAP_ERRBUF_SIZE" ref="gacd448353957d92c98fccc29e1fc8d927" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PCAP_ERRBUF_SIZE&nbsp;&nbsp;&nbsp;256</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Size to use when allocating the buffer that contains the libpcap errors. </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00059">59</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga43a6601bfd438efc02b0ba71c5439647"></a><!-- doxytag: member="incs/pcap.h::PCAP_IF_LOOPBACK" ref="ga43a6601bfd438efc02b0ba71c5439647" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PCAP_IF_LOOPBACK&nbsp;&nbsp;&nbsp;0x00000001</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>interface is loopback </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00156">156</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaac031371d41e21ff96e80409e05a7ddb"></a><!-- doxytag: member="incs/pcap.h::PCAP_VERSION_MAJOR" ref="gaac031371d41e21ff96e80409e05a7ddb" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PCAP_VERSION_MAJOR&nbsp;&nbsp;&nbsp;2</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Major libpcap dump file version. </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00056">56</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga9c200b070c9f626d38184588b16849c2"></a><!-- doxytag: member="incs/pcap.h::PCAP_VERSION_MINOR" ref="ga9c200b070c9f626d38184588b16849c2" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PCAP_VERSION_MINOR&nbsp;&nbsp;&nbsp;4</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Minor libpcap dump file version. </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00057">57</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="ga759c6336c1d9abb462d9248c5ca5c437"></a><!-- doxytag: member="incs/pcap.h::bpf_int32" ref="ga759c6336c1d9abb462d9248c5ca5c437" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef int <a class="el" href="group__wpcap__def.html#ga759c6336c1d9abb462d9248c5ca5c437">bpf_int32</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>32-bit integer </p>
+<p>Compatibility for systems that have a bpf.h that predates the bpf typedefs for 64-bit support. </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00066">66</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga37fdbc8313e90fb2041203a2e40cd482"></a><!-- doxytag: member="incs/pcap.h::bpf_u_int32" ref="ga37fdbc8313e90fb2041203a2e40cd482" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef u_int <a class="el" href="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482">bpf_u_int32</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>32-bit unsigned integer </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00067">67</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gad5c2e491e2ca9d8eefe4217021c99bdc"></a><!-- doxytag: member="incs/pcap.h::pcap_addr_t" ref="gad5c2e491e2ca9d8eefe4217021c99bdc" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef struct <a class="el" href="structpcap__addr.html">pcap_addr</a> <a class="el" href="structpcap__addr.html">pcap_addr_t</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Representation of an interface address, see <a class="el" href="structpcap__addr.html" title="Representation of an interface address, used by pcap_findalldevs().">pcap_addr</a>. </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00073">73</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gab8c7858aa3a7e3158d9d58cb113a2ae8"></a><!-- doxytag: member="incs/pcap.h::pcap_dumper_t" ref="gab8c7858aa3a7e3158d9d58cb113a2ae8" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef struct pcap_dumper <a class="el" href="group__wpcap__def.html#gab8c7858aa3a7e3158d9d58cb113a2ae8">pcap_dumper_t</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>libpcap savefile descriptor. </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00071">71</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga3a6e7cbf8d9752da3add4676c7cd4c58"></a><!-- doxytag: member="incs/pcap.h::pcap_if_t" ref="ga3a6e7cbf8d9752da3add4676c7cd4c58" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef struct <a class="el" href="structpcap__if.html">pcap_if</a> <a class="el" href="structpcap__if.html">pcap_if_t</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Item in a list of interfaces, see <a class="el" href="structpcap__if.html" title="Item in a list of interfaces, used by pcap_findalldevs().">pcap_if</a>. </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00072">72</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga4711d025f83503ce692efa5e45ec60a7"></a><!-- doxytag: member="incs/pcap.h::pcap_t" ref="ga4711d025f83503ce692efa5e45ec60a7" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef struct pcap <a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Descriptor of an open capture instance. This structure is <b>opaque</b> to the user, that handles its content through the functions provided by wpcap.dll. </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00070">70</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+
+</div>
+</div>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/group__wpcap__tut.html b/3rdparty/winpcap/docs/html/group__wpcap__tut.html
new file mode 100644
index 00000000000..0d214d8df15
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/group__wpcap__tut.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: WinPcap tutorial: a step by step guide to using WinPcap</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>WinPcap tutorial: a step by step guide to using WinPcap</h1><table border="0" cellpadding="0" cellspacing="0">
+</table>
+<p>This section shows how to use the features of the WinPcap API. It is organized as a tutorial, subdivided into a set of lessons that will introduce the reader, in a step-by-step fashion, to program development using WinPcap, from the basic functions (obtaining the adapter list, starting a capture, etc.) to the most advanced ones (handling send queues and gathering statistics about network traffic).</p>
+<p>Several code snippets, as well as simple but complete programs are provided as a reference: all of the source code contains links to the rest of the manual, making it is possible to click on functions and data structures to jump to the corresponding documentation.</p>
+<p>The samples are written in plain C, so a basic knowledge of C programming is required. Also, since this is a tutorial about a library dealing with "raw" networking packets, good knowledge of networks and network protocols is assumed.</p>
+<p><a class="el" href="group__wpcap__tut1.html">Next &gt;&gt;&gt;</a> </p>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/group__wpcap__tut1.html b/3rdparty/winpcap/docs/html/group__wpcap__tut1.html
new file mode 100644
index 00000000000..3c14d337163
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/group__wpcap__tut1.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Obtaining the device list</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Obtaining the device list</h1><table border="0" cellpadding="0" cellspacing="0">
+</table>
+<p>Typically, the first thing that a WinPcap-based application does is get a list of attached network adapters. Both libpcap and WinPcap provide the <a class="el" href="group__wpcapfunc.html#ga98f36e62c95c6ad81eaa8b2bbeb8f16e" title="Create a list of network devices that can be opened with pcap_open().">pcap_findalldevs_ex()</a> function for this purpose: this function returns a linked list of <a class="el" href="structpcap__if.html" title="Item in a list of interfaces, used by pcap_findalldevs().">pcap_if</a> structures, each of which contains comprehensive information about an attached adapter. In particular, the fields <em>name</em> and <em>description</em> contain the name and a human readable description, respectively, of the corresponding device.</p>
+<p>The following code retrieves the adapter list and shows it on the screen, printing an error if no adapters are found.</p>
+<div class="fragment"><pre class="fragment"><span class="preprocessor">#include &quot;pcap.h&quot;</span>
+
+main()
+{
+ <a class="code" href="structpcap__if.html" title="Item in a list of interfaces, used by pcap_findalldevs().">pcap_if_t</a> *alldevs;
+ <a class="code" href="structpcap__if.html" title="Item in a list of interfaces, used by pcap_findalldevs().">pcap_if_t</a> *d;
+ <span class="keywordtype">int</span> i=0;
+ <span class="keywordtype">char</span> errbuf[<a class="code" href="group__wpcap__def.html#gacd448353957d92c98fccc29e1fc8d927" title="Size to use when allocating the buffer that contains the libpcap errors.">PCAP_ERRBUF_SIZE</a>];
+
+ <span class="comment">/* Retrieve the device list from the local machine */</span>
+ <span class="keywordflow">if</span> (<a class="code" href="group__wpcapfunc.html#ga98f36e62c95c6ad81eaa8b2bbeb8f16e" title="Create a list of network devices that can be opened with pcap_open().">pcap_findalldevs_ex</a>(<a class="code" href="group__remote__source__string.html#ga6d7103b8a7e1eca8c325bd8f32c361c3" title="String that will be used to determine the type of source in use (file, remote/local...">PCAP_SRC_IF_STRING</a>, NULL <span class="comment">/* auth is not needed */</span>, &amp;alldevs, errbuf) == -1)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;Error in pcap_findalldevs_ex: %s\n&quot;</span>, errbuf);
+ exit(1);
+ }
+
+ <span class="comment">/* Print the list */</span>
+ <span class="keywordflow">for</span>(d= alldevs; d != NULL; d= d-&gt;<a class="code" href="structpcap__if.html#a81508e6e4e41ca4235c8d6b51913c536" title="if not NULL, a pointer to the next element in the list; NULL for the last element...">next</a>)
+ {
+ printf(<span class="stringliteral">&quot;%d. %s&quot;</span>, ++i, d-&gt;<a class="code" href="structpcap__if.html#a5ac083a645d964373f022d03df4849c8" title="a pointer to a string giving a name for the device to pass to pcap_open_live()">name</a>);
+ <span class="keywordflow">if</span> (d-&gt;<a class="code" href="structpcap__if.html#a8444d6e0dfe2bbab0b5e7b24308f1559" title="if not NULL, a pointer to a string giving a human-readable description of the device...">description</a>)
+ printf(<span class="stringliteral">&quot; (%s)\n&quot;</span>, d-&gt;<a class="code" href="structpcap__if.html#a8444d6e0dfe2bbab0b5e7b24308f1559" title="if not NULL, a pointer to a string giving a human-readable description of the device...">description</a>);
+ <span class="keywordflow">else</span>
+ printf(<span class="stringliteral">&quot; (No description available)\n&quot;</span>);
+ }
+
+ <span class="keywordflow">if</span> (i == 0)
+ {
+ printf(<span class="stringliteral">&quot;\nNo interfaces found! Make sure WinPcap is installed.\n&quot;</span>);
+ <span class="keywordflow">return</span>;
+ }
+
+ <span class="comment">/* We don&apos;t need any more the device list. Free it */</span>
+ <a class="code" href="group__wpcapfunc.html#ga346b4b0b7fd1cda4abb9a39f767dbeb1" title="Free an interface list returned by pcap_findalldevs().">pcap_freealldevs</a>(alldevs);
+}
+</pre></div><p>Some comments about this code.</p>
+<p>First of all, <a class="el" href="group__wpcapfunc.html#ga98f36e62c95c6ad81eaa8b2bbeb8f16e" title="Create a list of network devices that can be opened with pcap_open().">pcap_findalldevs_ex()</a>, like other libpcap functions, has an <em>errbuf</em> parameter. This parameter points to a string filled by libpcap with a description of the error if something goes wrong.</p>
+<p>Second, remember that not all the OSes supported by libpcap provide a description of the network interfaces, therefore if we want to write a portable application, we must consider the case in which <em>description</em> is null: we print the string "No description available" in that situation.</p>
+<p>Note finally that we free the list with <a class="el" href="group__wpcapfunc.html#ga346b4b0b7fd1cda4abb9a39f767dbeb1" title="Free an interface list returned by pcap_findalldevs().">pcap_freealldevs()</a> once when we have finished with it.</p>
+<p>Let's try to compile and run the code of this first sample. In order to compile it under Unix or Cygwin, simply type:</p>
+<pre>
+ gcc -o testprog testprog.c -lpcap
+</pre><p>On Windows, you will need to create a project, following the instructions in the <a class="el" href="group__wpcapsamps.html">Using WinPcap in your programs</a> section of this manual. However, we suggest that you use the WinPcap developer's pack (available at the WinPcap website, <a href="http://www.winpcap.org">http://www.winpcap.org</a> ), since it provides many examples already configured as projects including all the code presented in this tutorial and the <em>includes</em> and <em>libraries</em> needed to compile and run the examples.</p>
+<p>Assuming we have compiled the program, let's try to run it. On a particular WinXP workstation, the result we optained is</p>
+<pre>
+ 1. \Device\NPF_{4E273621-5161-46C8-895A-48D0E52A0B83} (Realtek RTL8029(AS) Ethernet Adapter)
+ 2. \Device\NPF_{5D24AE04-C486-4A96-83FB-8B5EC6C7F430} (3Com EtherLink PCI)
+</pre><p>As you can see, the name of the network adapters (that will be passed to libpcap when opening the devices) under Windows are quite unreadable, so the parenthetical descriptions can be very helpful.</p>
+<p><a class="el" href="group__wpcap__tut.html">&lt;&lt;&lt; Previous</a> <a class="el" href="group__wpcap__tut2.html">Next &gt;&gt;&gt;</a> </p>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/group__wpcap__tut2.html b/3rdparty/winpcap/docs/html/group__wpcap__tut2.html
new file mode 100644
index 00000000000..910e2df65a2
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/group__wpcap__tut2.html
@@ -0,0 +1,216 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Obtaining advanced information about installed devices</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Obtaining advanced information about installed devices</h1><table border="0" cellpadding="0" cellspacing="0">
+</table>
+<p>Lesson 1 (<a class="el" href="group__wpcap__tut1.html">Obtaining the device list</a>) demonstrated how to get basic information (i.e. device name and description) about available adapters. Actually, WinPcap provides also other advanced information. In particular, every <a class="el" href="structpcap__if.html" title="Item in a list of interfaces, used by pcap_findalldevs().">pcap_if</a> structure returned by <a class="el" href="group__wpcapfunc.html#ga98f36e62c95c6ad81eaa8b2bbeb8f16e" title="Create a list of network devices that can be opened with pcap_open().">pcap_findalldevs_ex()</a> contains also a list of <a class="el" href="structpcap__addr.html" title="Representation of an interface address, used by pcap_findalldevs().">pcap_addr</a> structures, with:</p>
+<ul>
+<li>a list of addresses for that interface.</li>
+<li>a list of netmasks (each of which corresponds to an entry in the addresses list).</li>
+<li>a list of broadcast addresses (each of which corresponds to an entry in the addresses list).</li>
+<li>a list of destination addresses (each of which corresponds to an entry in the addresses list).</li>
+</ul>
+<p>Additionally, <a class="el" href="group__wpcapfunc.html#ga98f36e62c95c6ad81eaa8b2bbeb8f16e" title="Create a list of network devices that can be opened with pcap_open().">pcap_findalldevs_ex()</a> can also return remote adapters and a list of pcap files that are located in a given local folder.</p>
+<p>The following sample provides an ifprint() function that prints the complete contents of a <a class="el" href="structpcap__if.html" title="Item in a list of interfaces, used by pcap_findalldevs().">pcap_if</a> structure. It is invoked by the program for every entry returned by <a class="el" href="group__wpcapfunc.html#ga98f36e62c95c6ad81eaa8b2bbeb8f16e" title="Create a list of network devices that can be opened with pcap_open().">pcap_findalldevs_ex()</a>.</p>
+<div class="fragment"><pre class="fragment"><span class="comment">/*</span>
+<span class="comment"> * Copyright (c) 1999 - 2005 NetGroup, Politecnico di Torino (Italy)</span>
+<span class="comment"> * Copyright (c) 2005 - 2006 CACE Technologies, Davis (California)</span>
+<span class="comment"> * All rights reserved.</span>
+<span class="comment"> *</span>
+<span class="comment"> * Redistribution and use in source and binary forms, with or without</span>
+<span class="comment"> * modification, are permitted provided that the following conditions</span>
+<span class="comment"> * are met:</span>
+<span class="comment"> *</span>
+<span class="comment"> * 1. Redistributions of source code must retain the above copyright</span>
+<span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
+<span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright</span>
+<span class="comment"> * notice, this list of conditions and the following disclaimer in the</span>
+<span class="comment"> * documentation and/or other materials provided with the distribution.</span>
+<span class="comment"> * 3. Neither the name of the Politecnico di Torino, CACE Technologies </span>
+<span class="comment"> * nor the names of its contributors may be used to endorse or promote </span>
+<span class="comment"> * products derived from this software without specific prior written </span>
+<span class="comment"> * permission.</span>
+<span class="comment"> *</span>
+<span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
+<span class="comment"> * &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
+<span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
+<span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
+<span class="comment"> * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
+<span class="comment"> * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
+<span class="comment"> * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
+<span class="comment"> * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
+<span class="comment"> * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
+<span class="comment"> * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
+<span class="comment"> * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
+<span class="comment"> *</span>
+<span class="comment"> */</span>
+
+<span class="preprocessor">#include &lt;stdio.h&gt;</span>
+
+<span class="preprocessor">#include &quot;pcap.h&quot;</span>
+
+<span class="preprocessor">#ifndef WIN32</span>
+<span class="preprocessor"></span><span class="preprocessor"> #include &lt;sys/socket.h&gt;</span>
+<span class="preprocessor"> #include &lt;netinet/in.h&gt;</span>
+<span class="preprocessor">#else</span>
+<span class="preprocessor"></span><span class="preprocessor"> #include &lt;winsock.h&gt;</span>
+<span class="preprocessor">#endif</span>
+<span class="preprocessor"></span>
+
+<span class="comment">// Function prototypes</span>
+<span class="keywordtype">void</span> ifprint(<a class="code" href="structpcap__if.html" title="Item in a list of interfaces, used by pcap_findalldevs().">pcap_if_t</a> *d);
+<span class="keywordtype">char</span> *iptos(u_long in);
+<span class="keywordtype">char</span>* ip6tos(<span class="keyword">struct</span> sockaddr *sockaddr, <span class="keywordtype">char</span> *address, <span class="keywordtype">int</span> addrlen);
+
+
+<span class="keywordtype">int</span> main()
+{
+ <a class="code" href="structpcap__if.html" title="Item in a list of interfaces, used by pcap_findalldevs().">pcap_if_t</a> *alldevs;
+ <a class="code" href="structpcap__if.html" title="Item in a list of interfaces, used by pcap_findalldevs().">pcap_if_t</a> *d;
+ <span class="keywordtype">char</span> errbuf[<a class="code" href="group__wpcap__def.html#gacd448353957d92c98fccc29e1fc8d927" title="Size to use when allocating the buffer that contains the libpcap errors.">PCAP_ERRBUF_SIZE</a>+1];
+ <span class="keywordtype">char</span> source[<a class="code" href="group__wpcap__def.html#gacd448353957d92c98fccc29e1fc8d927" title="Size to use when allocating the buffer that contains the libpcap errors.">PCAP_ERRBUF_SIZE</a>+1];
+
+ printf(<span class="stringliteral">&quot;Enter the device you want to list:\n&quot;</span>
+ <span class="stringliteral">&quot;rpcap:// ==&gt; lists interfaces in the local machine\n&quot;</span>
+ <span class="stringliteral">&quot;rpcap://hostname:port ==&gt; lists interfaces in a remote machine\n&quot;</span>
+ <span class="stringliteral">&quot; (rpcapd daemon must be up and running\n&quot;</span>
+ <span class="stringliteral">&quot; and it must accept &apos;null&apos; authentication)\n&quot;</span>
+ <span class="stringliteral">&quot;file://foldername ==&gt; lists all pcap files in the give folder\n\n&quot;</span>
+ <span class="stringliteral">&quot;Enter your choice: &quot;</span>);
+
+ fgets(source, <a class="code" href="group__wpcap__def.html#gacd448353957d92c98fccc29e1fc8d927" title="Size to use when allocating the buffer that contains the libpcap errors.">PCAP_ERRBUF_SIZE</a>, stdin);
+ source[<a class="code" href="group__wpcap__def.html#gacd448353957d92c98fccc29e1fc8d927" title="Size to use when allocating the buffer that contains the libpcap errors.">PCAP_ERRBUF_SIZE</a>] = <span class="charliteral">&apos;\0&apos;</span>;
+
+ <span class="comment">/* Retrieve the interfaces list */</span>
+ <span class="keywordflow">if</span> (<a class="code" href="group__wpcapfunc.html#ga98f36e62c95c6ad81eaa8b2bbeb8f16e" title="Create a list of network devices that can be opened with pcap_open().">pcap_findalldevs_ex</a>(source, NULL, &amp;alldevs, errbuf) == -1)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;Error in pcap_findalldevs: %s\n&quot;</span>,errbuf);
+ exit(1);
+ }
+
+ <span class="comment">/* Scan the list printing every entry */</span>
+ <span class="keywordflow">for</span>(d=alldevs;d;d=d-&gt;<a class="code" href="structpcap__if.html#a81508e6e4e41ca4235c8d6b51913c536" title="if not NULL, a pointer to the next element in the list; NULL for the last element...">next</a>)
+ {
+ ifprint(d);
+ }
+
+ <a class="code" href="group__wpcapfunc.html#ga346b4b0b7fd1cda4abb9a39f767dbeb1" title="Free an interface list returned by pcap_findalldevs().">pcap_freealldevs</a>(alldevs);
+
+ <span class="keywordflow">return</span> 1;
+}
+
+
+
+<span class="comment">/* Print all the available information on the given interface */</span>
+<span class="keywordtype">void</span> ifprint(<a class="code" href="structpcap__if.html" title="Item in a list of interfaces, used by pcap_findalldevs().">pcap_if_t</a> *d)
+{
+ <a class="code" href="structpcap__addr.html" title="Representation of an interface address, used by pcap_findalldevs().">pcap_addr_t</a> *a;
+ <span class="keywordtype">char</span> ip6str[128];
+
+ <span class="comment">/* Name */</span>
+ printf(<span class="stringliteral">&quot;%s\n&quot;</span>,d-&gt;<a class="code" href="structpcap__if.html#a5ac083a645d964373f022d03df4849c8" title="a pointer to a string giving a name for the device to pass to pcap_open_live()">name</a>);
+
+ <span class="comment">/* Description */</span>
+ <span class="keywordflow">if</span> (d-&gt;<a class="code" href="structpcap__if.html#a8444d6e0dfe2bbab0b5e7b24308f1559" title="if not NULL, a pointer to a string giving a human-readable description of the device...">description</a>)
+ printf(<span class="stringliteral">&quot;\tDescription: %s\n&quot;</span>,d-&gt;<a class="code" href="structpcap__if.html#a8444d6e0dfe2bbab0b5e7b24308f1559" title="if not NULL, a pointer to a string giving a human-readable description of the device...">description</a>);
+
+ <span class="comment">/* Loopback Address*/</span>
+ printf(<span class="stringliteral">&quot;\tLoopback: %s\n&quot;</span>,(d-&gt;<a class="code" href="structpcap__if.html#a304e038dd1326c14b31a206cbad18756" title="PCAP_IF_ interface flags. Currently the only possible flag is PCAP_IF_LOOPBACK, that...">flags</a> &amp; <a class="code" href="group__wpcap__def.html#ga43a6601bfd438efc02b0ba71c5439647" title="interface is loopback">PCAP_IF_LOOPBACK</a>)?<span class="stringliteral">&quot;yes&quot;</span>:<span class="stringliteral">&quot;no&quot;</span>);
+
+ <span class="comment">/* IP addresses */</span>
+ <span class="keywordflow">for</span>(a=d-&gt;<a class="code" href="structpcap__if.html#a3910004677550db6d9b09792ba3e2cca" title="a pointer to the first element of a list of addresses for the interface">addresses</a>;a;a=a-&gt;<a class="code" href="structpcap__addr.html#ab151e8e96bdb23ae8dd8d644de561999" title="if not NULL, a pointer to the next element in the list; NULL for the last element...">next</a>) {
+ printf(<span class="stringliteral">&quot;\tAddress Family: #%d\n&quot;</span>,a-&gt;<a class="code" href="structpcap__addr.html#a4863f5b8767cd19fe6ea4db75456e5df" title="a pointer to a struct sockaddr containing an address">addr</a>-&gt;sa_family);
+
+ <span class="keywordflow">switch</span>(a-&gt;<a class="code" href="structpcap__addr.html#a4863f5b8767cd19fe6ea4db75456e5df" title="a pointer to a struct sockaddr containing an address">addr</a>-&gt;sa_family)
+ {
+ <span class="keywordflow">case</span> AF_INET:
+ printf(<span class="stringliteral">&quot;\tAddress Family Name: AF_INET\n&quot;</span>);
+ <span class="keywordflow">if</span> (a-&gt;<a class="code" href="structpcap__addr.html#a4863f5b8767cd19fe6ea4db75456e5df" title="a pointer to a struct sockaddr containing an address">addr</a>)
+ printf(<span class="stringliteral">&quot;\tAddress: %s\n&quot;</span>,iptos(((<span class="keyword">struct</span> sockaddr_in *)a-&gt;<a class="code" href="structpcap__addr.html#a4863f5b8767cd19fe6ea4db75456e5df" title="a pointer to a struct sockaddr containing an address">addr</a>)-&gt;sin_addr.s_addr));
+ <span class="keywordflow">if</span> (a-&gt;<a class="code" href="structpcap__addr.html#ac43963e42e4d901e55e433ab9c3ea686" title="if not NULL, a pointer to a struct sockaddr that contains the netmask corresponding...">netmask</a>)
+ printf(<span class="stringliteral">&quot;\tNetmask: %s\n&quot;</span>,iptos(((<span class="keyword">struct</span> sockaddr_in *)a-&gt;<a class="code" href="structpcap__addr.html#ac43963e42e4d901e55e433ab9c3ea686" title="if not NULL, a pointer to a struct sockaddr that contains the netmask corresponding...">netmask</a>)-&gt;sin_addr.s_addr));
+ <span class="keywordflow">if</span> (a-&gt;<a class="code" href="structpcap__addr.html#a0077647e1560caa72d457120b36c248c" title="if not NULL, a pointer to a struct sockaddr that contains the broadcast address corre­...">broadaddr</a>)
+ printf(<span class="stringliteral">&quot;\tBroadcast Address: %s\n&quot;</span>,iptos(((<span class="keyword">struct</span> sockaddr_in *)a-&gt;<a class="code" href="structpcap__addr.html#a0077647e1560caa72d457120b36c248c" title="if not NULL, a pointer to a struct sockaddr that contains the broadcast address corre­...">broadaddr</a>)-&gt;sin_addr.s_addr));
+ <span class="keywordflow">if</span> (a-&gt;<a class="code" href="structpcap__addr.html#a4a32e00e83d4b1b582ba9cef24a5d62a" title="if not NULL, a pointer to a struct sockaddr that contains the destination address...">dstaddr</a>)
+ printf(<span class="stringliteral">&quot;\tDestination Address: %s\n&quot;</span>,iptos(((<span class="keyword">struct</span> sockaddr_in *)a-&gt;<a class="code" href="structpcap__addr.html#a4a32e00e83d4b1b582ba9cef24a5d62a" title="if not NULL, a pointer to a struct sockaddr that contains the destination address...">dstaddr</a>)-&gt;sin_addr.s_addr));
+ <span class="keywordflow">break</span>;
+
+ <span class="keywordflow">case</span> AF_INET6:
+ printf(<span class="stringliteral">&quot;\tAddress Family Name: AF_INET6\n&quot;</span>);
+ <span class="keywordflow">if</span> (a-&gt;<a class="code" href="structpcap__addr.html#a4863f5b8767cd19fe6ea4db75456e5df" title="a pointer to a struct sockaddr containing an address">addr</a>)
+ printf(<span class="stringliteral">&quot;\tAddress: %s\n&quot;</span>, ip6tos(a-&gt;<a class="code" href="structpcap__addr.html#a4863f5b8767cd19fe6ea4db75456e5df" title="a pointer to a struct sockaddr containing an address">addr</a>, ip6str, <span class="keyword">sizeof</span>(ip6str)));
+ <span class="keywordflow">break</span>;
+
+ <span class="keywordflow">default</span>:
+ printf(<span class="stringliteral">&quot;\tAddress Family Name: Unknown\n&quot;</span>);
+ <span class="keywordflow">break</span>;
+ }
+ }
+ printf(<span class="stringliteral">&quot;\n&quot;</span>);
+}
+
+
+
+<span class="comment">/* From tcptraceroute, convert a numeric IP address to a string */</span>
+<span class="preprocessor">#define IPTOSBUFFERS 12</span>
+<span class="preprocessor"></span><span class="keywordtype">char</span> *iptos(u_long in)
+{
+ <span class="keyword">static</span> <span class="keywordtype">char</span> output[IPTOSBUFFERS][3*4+3+1];
+ <span class="keyword">static</span> <span class="keywordtype">short</span> which;
+ u_char *p;
+
+ p = (u_char *)&amp;in;
+ which = (which + 1 == IPTOSBUFFERS ? 0 : which + 1);
+ _snprintf_s(output[which], <span class="keyword">sizeof</span>(output[which]), <span class="keyword">sizeof</span>(output[which]),<span class="stringliteral">&quot;%d.%d.%d.%d&quot;</span>, p[0], p[1], p[2], p[3]);
+ <span class="keywordflow">return</span> output[which];
+}
+
+<span class="keywordtype">char</span>* ip6tos(<span class="keyword">struct</span> sockaddr *sockaddr, <span class="keywordtype">char</span> *address, <span class="keywordtype">int</span> addrlen)
+{
+ socklen_t sockaddrlen;
+
+<span class="preprocessor"> #ifdef WIN32</span>
+<span class="preprocessor"></span> sockaddrlen = <span class="keyword">sizeof</span>(<span class="keyword">struct </span>sockaddr_in6);
+<span class="preprocessor"> #else</span>
+<span class="preprocessor"></span> sockaddrlen = <span class="keyword">sizeof</span>(<span class="keyword">struct </span>sockaddr_storage);
+<span class="preprocessor"> #endif</span>
+<span class="preprocessor"></span>
+
+ <span class="keywordflow">if</span>(getnameinfo(sockaddr,
+ sockaddrlen,
+ address,
+ addrlen,
+ NULL,
+ 0,
+ NI_NUMERICHOST) != 0) address = NULL;
+
+ <span class="keywordflow">return</span> address;
+}
+
+
+</pre></div><p><a class="el" href="group__wpcap__tut1.html">&lt;&lt;&lt; Previous</a> <a class="el" href="group__wpcap__tut3.html">Next &gt;&gt;&gt;</a> </p>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/group__wpcap__tut3.html b/3rdparty/winpcap/docs/html/group__wpcap__tut3.html
new file mode 100644
index 00000000000..fd99206d400
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/group__wpcap__tut3.html
@@ -0,0 +1,140 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Opening an adapter and capturing the packets</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Opening an adapter and capturing the packets</h1><table border="0" cellpadding="0" cellspacing="0">
+</table>
+<p>Now that we've seen how to obtain an adapter to play with, let's start the real job, opening an adapter and capturing some traffic. In this lesson we'll write a program that prints some information about each packet flowing through the adapter.</p>
+<p>The function that opens a capture device is <a class="el" href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791" title="Open a generic source in order to capture / send (WinPcap only) traffic.">pcap_open()</a>. The parameters, <em>snaplen</em>, <em>flags</em> and <em>to_ms</em> deserve some explanation.</p>
+<p><em>snaplen</em> specifies the portion of the packet to capture. On some OSes (like xBSD and Win32), the packet driver can be configured to capture only the initial part of any packet: this decreases the amount of data to copy to the application and therefore improves the efficiency of the capture. In this case we use the value 65536 which is higher than the greatest MTU that we could encounter. In this manner we ensure that the application will always receive the whole packet.</p>
+<p><em>flags:</em> the most important flag is the one that indicates if the adapter will be put in promiscuous mode. In normal operation, an adapter only captures packets from the network that are destined to it; the packets exchanged by other hosts are therefore ignored. Instead, when the adapter is in promiscuous mode it captures all packets whether they are destined to it or not. This means that on shared media (like non-switched Ethernet), WinPcap will be able to capture the packets of other hosts. Promiscuous mode is the default for most capture applications, so we enable it in the following example.</p>
+<p><em>to_ms</em> specifies the read timeout, in milliseconds. A read on the adapter (for example, with <a class="el" href="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c" title="Collect a group of packets.">pcap_dispatch()</a> or <a class="el" href="group__wpcapfunc.html#ga439439c2eae61161dc1efb1e03a81133" title="Read a packet from an interface or from an offline capture.">pcap_next_ex()</a>) will always return after <em>to_ms</em> milliseconds, even if no packets are available from the network. <em>to_ms</em> also defines the interval between statistical reports if the adapter is in statistical mode (see the lesson "\ref wpcap_tut9" for information about statistical mode). Setting <em>to_ms</em> to 0 means no timeout, a read on the adapter never returns if no packets arrive. A -1 timeout on the other side causes a read on the adapter to always return immediately.</p>
+<div class="fragment"><pre class="fragment"><span class="preprocessor">#include &quot;pcap.h&quot;</span>
+
+<span class="comment">/* prototype of the packet handler */</span>
+<span class="keywordtype">void</span> packet_handler(u_char *param, <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structpcap__pkthdr.html" title="Header of a packet in the dump file.">pcap_pkthdr</a> *header, <span class="keyword">const</span> u_char *pkt_data);
+
+<span class="keywordtype">int</span> main()
+{
+<a class="code" href="structpcap__if.html" title="Item in a list of interfaces, used by pcap_findalldevs().">pcap_if_t</a> *alldevs;
+<a class="code" href="structpcap__if.html" title="Item in a list of interfaces, used by pcap_findalldevs().">pcap_if_t</a> *d;
+<span class="keywordtype">int</span> inum;
+<span class="keywordtype">int</span> i=0;
+<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *adhandle;
+<span class="keywordtype">char</span> errbuf[<a class="code" href="group__wpcap__def.html#gacd448353957d92c98fccc29e1fc8d927" title="Size to use when allocating the buffer that contains the libpcap errors.">PCAP_ERRBUF_SIZE</a>];
+
+ <span class="comment">/* Retrieve the device list on the local machine */</span>
+ <span class="keywordflow">if</span> (<a class="code" href="group__wpcapfunc.html#ga98f36e62c95c6ad81eaa8b2bbeb8f16e" title="Create a list of network devices that can be opened with pcap_open().">pcap_findalldevs_ex</a>(<a class="code" href="group__remote__source__string.html#ga6d7103b8a7e1eca8c325bd8f32c361c3" title="String that will be used to determine the type of source in use (file, remote/local...">PCAP_SRC_IF_STRING</a>, NULL, &amp;alldevs, errbuf) == -1)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;Error in pcap_findalldevs: %s\n&quot;</span>, errbuf);
+ exit(1);
+ }
+
+ <span class="comment">/* Print the list */</span>
+ <span class="keywordflow">for</span>(d=alldevs; d; d=d-&gt;<a class="code" href="structpcap__if.html#a81508e6e4e41ca4235c8d6b51913c536" title="if not NULL, a pointer to the next element in the list; NULL for the last element...">next</a>)
+ {
+ printf(<span class="stringliteral">&quot;%d. %s&quot;</span>, ++i, d-&gt;<a class="code" href="structpcap__if.html#a5ac083a645d964373f022d03df4849c8" title="a pointer to a string giving a name for the device to pass to pcap_open_live()">name</a>);
+ <span class="keywordflow">if</span> (d-&gt;<a class="code" href="structpcap__if.html#a8444d6e0dfe2bbab0b5e7b24308f1559" title="if not NULL, a pointer to a string giving a human-readable description of the device...">description</a>)
+ printf(<span class="stringliteral">&quot; (%s)\n&quot;</span>, d-&gt;<a class="code" href="structpcap__if.html#a8444d6e0dfe2bbab0b5e7b24308f1559" title="if not NULL, a pointer to a string giving a human-readable description of the device...">description</a>);
+ <span class="keywordflow">else</span>
+ printf(<span class="stringliteral">&quot; (No description available)\n&quot;</span>);
+ }
+
+ <span class="keywordflow">if</span>(i==0)
+ {
+ printf(<span class="stringliteral">&quot;\nNo interfaces found! Make sure WinPcap is installed.\n&quot;</span>);
+ <span class="keywordflow">return</span> -1;
+ }
+
+ printf(<span class="stringliteral">&quot;Enter the interface number (1-%d):&quot;</span>,i);
+ scanf_s(<span class="stringliteral">&quot;%d&quot;</span>, &amp;inum);
+
+ <span class="keywordflow">if</span>(inum &lt; 1 || inum &gt; i)
+ {
+ printf(<span class="stringliteral">&quot;\nInterface number out of range.\n&quot;</span>);
+ <span class="comment">/* Free the device list */</span>
+ <a class="code" href="group__wpcapfunc.html#ga346b4b0b7fd1cda4abb9a39f767dbeb1" title="Free an interface list returned by pcap_findalldevs().">pcap_freealldevs</a>(alldevs);
+ <span class="keywordflow">return</span> -1;
+ }
+
+ <span class="comment">/* Jump to the selected adapter */</span>
+ <span class="keywordflow">for</span>(d=alldevs, i=0; i&lt; inum-1 ;d=d-&gt;<a class="code" href="structpcap__if.html#a81508e6e4e41ca4235c8d6b51913c536" title="if not NULL, a pointer to the next element in the list; NULL for the last element...">next</a>, i++);
+
+ <span class="comment">/* Open the device */</span>
+ <span class="keywordflow">if</span> ( (adhandle= <a class="code" href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791" title="Open a generic source in order to capture / send (WinPcap only) traffic.">pcap_open</a>(d-&gt;<a class="code" href="structpcap__if.html#a5ac083a645d964373f022d03df4849c8" title="a pointer to a string giving a name for the device to pass to pcap_open_live()">name</a>, <span class="comment">// name of the device</span>
+ 65536, <span class="comment">// portion of the packet to capture</span>
+ <span class="comment">// 65536 guarantees that the whole packet will be captured on all the link layers</span>
+ <a class="code" href="group__remote__open__flags.html#ga9134ce51a9a6a7d497c3dee5affdc3b9" title="Defines if the adapter has to go in promiscuous mode.">PCAP_OPENFLAG_PROMISCUOUS</a>, <span class="comment">// promiscuous mode</span>
+ 1000, <span class="comment">// read timeout</span>
+ NULL, <span class="comment">// authentication on the remote machine</span>
+ errbuf <span class="comment">// error buffer</span>
+ ) ) == NULL)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;\nUnable to open the adapter. %s is not supported by WinPcap\n&quot;</span>, d-&gt;<a class="code" href="structpcap__if.html#a5ac083a645d964373f022d03df4849c8" title="a pointer to a string giving a name for the device to pass to pcap_open_live()">name</a>);
+ <span class="comment">/* Free the device list */</span>
+ <a class="code" href="group__wpcapfunc.html#ga346b4b0b7fd1cda4abb9a39f767dbeb1" title="Free an interface list returned by pcap_findalldevs().">pcap_freealldevs</a>(alldevs);
+ <span class="keywordflow">return</span> -1;
+ }
+
+ printf(<span class="stringliteral">&quot;\nlistening on %s...\n&quot;</span>, d-&gt;<a class="code" href="structpcap__if.html#a8444d6e0dfe2bbab0b5e7b24308f1559" title="if not NULL, a pointer to a string giving a human-readable description of the device...">description</a>);
+
+ <span class="comment">/* At this point, we don&apos;t need any more the device list. Free it */</span>
+ <a class="code" href="group__wpcapfunc.html#ga346b4b0b7fd1cda4abb9a39f767dbeb1" title="Free an interface list returned by pcap_findalldevs().">pcap_freealldevs</a>(alldevs);
+
+ <span class="comment">/* start the capture */</span>
+ <a class="code" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de" title="Collect a group of packets.">pcap_loop</a>(adhandle, 0, packet_handler, NULL);
+
+ <span class="keywordflow">return</span> 0;
+}
+
+
+<span class="comment">/* Callback function invoked by libpcap for every incoming packet */</span>
+<span class="keywordtype">void</span> packet_handler(u_char *param, <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structpcap__pkthdr.html" title="Header of a packet in the dump file.">pcap_pkthdr</a> *header, <span class="keyword">const</span> u_char *pkt_data)
+{
+ <span class="keyword">struct </span>tm ltime;
+ <span class="keywordtype">char</span> timestr[16];
+ time_t local_tv_sec;
+
+ <span class="comment">/*</span>
+<span class="comment"> * unused variables</span>
+<span class="comment"> */</span>
+ (VOID)(param);
+ (VOID)(pkt_data);
+
+ <span class="comment">/* convert the timestamp to readable format */</span>
+ local_tv_sec = header-&gt;<a class="code" href="structpcap__pkthdr.html#a21be78b2818c91cb205885b8a6f5aed8" title="time stamp">ts</a>.tv_sec;
+ localtime_s(&amp;ltime, &amp;local_tv_sec);
+ strftime( timestr, <span class="keyword">sizeof</span> timestr, <span class="stringliteral">&quot;%H:%M:%S&quot;</span>, &amp;ltime);
+
+ printf(<span class="stringliteral">&quot;%s,%.6d len:%d\n&quot;</span>, timestr, header-&gt;<a class="code" href="structpcap__pkthdr.html#a21be78b2818c91cb205885b8a6f5aed8" title="time stamp">ts</a>.tv_usec, header-&gt;<a class="code" href="structpcap__pkthdr.html#a728f264db4f5cc304742565a2bcdbeea" title="length this packet (off wire)">len</a>);
+
+}
+</pre></div><p>Once the adapter is opened, the capture can be started with <a class="el" href="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c" title="Collect a group of packets.">pcap_dispatch()</a> or <a class="el" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de" title="Collect a group of packets.">pcap_loop()</a>. These two functions are very similar, the difference is that pcap_ dispatch() returns (although not guaranteed) when the timeout expires while <a class="el" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de" title="Collect a group of packets.">pcap_loop()</a> doesn't return until <em>cnt</em> packets have been captured, so it can block for an arbitrary period on an under-utilized network. <a class="el" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de" title="Collect a group of packets.">pcap_loop()</a> is enough for the purpose of this sample, while <a class="el" href="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c" title="Collect a group of packets.">pcap_dispatch()</a> is normally used in a more complex program.</p>
+<p>Both of these functions have a <em>callback</em> parameter, <em>packet_handler</em>, pointing to a function that will receive the packets. This function is invoked by libpcap for every new packet coming from the network and receives a generic status (corresponding to the <em>user</em> parameter of <a class="el" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de" title="Collect a group of packets.">pcap_loop()</a> and <a class="el" href="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c" title="Collect a group of packets.">pcap_dispatch()</a>), a header with some information on the packet like the timestamp and the length and the actual data of the packet including all the protocol headers. Note that the frame CRC is normally not present, because it is removed by the network adapter after frame validation. Note also that most adapters discard packets with wrong CRCs, therefore WinPcap is normally not able to capture them.</p>
+<p>The above example extracts the timestamp and the length of every packet from the <a class="el" href="structpcap__pkthdr.html" title="Header of a packet in the dump file.">pcap_pkthdr</a> header and prints them on the screen.</p>
+<p>Please note that there may be a drawback using <a class="el" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de" title="Collect a group of packets.">pcap_loop()</a> mainly related to the fact that the handler is called by the packet capture driver; therefore the user application does not have direct control over it. Another approach (and to have more readable programs) is to use the <a class="el" href="group__wpcapfunc.html#ga439439c2eae61161dc1efb1e03a81133" title="Read a packet from an interface or from an offline capture.">pcap_next_ex()</a> function, which is presented in the next example (<a class="el" href="group__wpcap__tut4.html">Capturing the packets without the callback</a>).</p>
+<p><a class="el" href="group__wpcap__tut2.html">&lt;&lt;&lt; Previous</a> <a class="el" href="group__wpcap__tut4.html">Next &gt;&gt;&gt;</a> </p>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/group__wpcap__tut4.html b/3rdparty/winpcap/docs/html/group__wpcap__tut4.html
new file mode 100644
index 00000000000..ef5ef03f3af
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/group__wpcap__tut4.html
@@ -0,0 +1,137 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Capturing the packets without the callback</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Capturing the packets without the callback</h1><table border="0" cellpadding="0" cellspacing="0">
+</table>
+<p>The example program in this lesson behaves exactly like the previous program (<a class="el" href="group__wpcap__tut3.html">Opening an adapter and capturing the packets</a>), but it uses <a class="el" href="group__wpcapfunc.html#ga439439c2eae61161dc1efb1e03a81133" title="Read a packet from an interface or from an offline capture.">pcap_next_ex()</a> instead of <a class="el" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de" title="Collect a group of packets.">pcap_loop()</a>.</p>
+<p>The callback-based capture mechanism of <a class="el" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de" title="Collect a group of packets.">pcap_loop()</a> is elegant and it could be a good choice in some situations. However, handling a callback is sometimes not practical -- it often makes the program more complex especially in situations with multithreaded applications or C++ classes.</p>
+<p>In these cases, <a class="el" href="group__wpcapfunc.html#ga439439c2eae61161dc1efb1e03a81133" title="Read a packet from an interface or from an offline capture.">pcap_next_ex()</a> retrievs a packet with a direct call -- using <a class="el" href="group__wpcapfunc.html#ga439439c2eae61161dc1efb1e03a81133" title="Read a packet from an interface or from an offline capture.">pcap_next_ex()</a> packets are received only when the programmer wants them.</p>
+<p>The parameters of this function are the same as a capture callback -- it takes an adapter descriptor and a couple of pointers that will be initialized and returned to the user (one to a <a class="el" href="structpcap__pkthdr.html" title="Header of a packet in the dump file.">pcap_pkthdr</a> structure and another to a buffer with the packet data).</p>
+<p>In the following program, we recycle the callback code of the previous lesson's example and move it inside main() right after the call to <a class="el" href="group__wpcapfunc.html#ga439439c2eae61161dc1efb1e03a81133" title="Read a packet from an interface or from an offline capture.">pcap_next_ex()</a>.</p>
+<div class="fragment"><pre class="fragment"><span class="preprocessor">#include &quot;pcap.h&quot;</span>
+
+
+<span class="keywordtype">int</span> main()
+{
+<a class="code" href="structpcap__if.html" title="Item in a list of interfaces, used by pcap_findalldevs().">pcap_if_t</a> *alldevs;
+<a class="code" href="structpcap__if.html" title="Item in a list of interfaces, used by pcap_findalldevs().">pcap_if_t</a> *d;
+<span class="keywordtype">int</span> inum;
+<span class="keywordtype">int</span> i=0;
+<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *adhandle;
+<span class="keywordtype">int</span> res;
+<span class="keywordtype">char</span> errbuf[<a class="code" href="group__wpcap__def.html#gacd448353957d92c98fccc29e1fc8d927" title="Size to use when allocating the buffer that contains the libpcap errors.">PCAP_ERRBUF_SIZE</a>];
+<span class="keyword">struct </span>tm ltime;
+<span class="keywordtype">char</span> timestr[16];
+<span class="keyword">struct </span><a class="code" href="structpcap__pkthdr.html" title="Header of a packet in the dump file.">pcap_pkthdr</a> *header;
+<span class="keyword">const</span> u_char *pkt_data;
+time_t local_tv_sec;
+
+
+ <span class="comment">/* Retrieve the device list on the local machine */</span>
+ <span class="keywordflow">if</span> (<a class="code" href="group__wpcapfunc.html#ga98f36e62c95c6ad81eaa8b2bbeb8f16e" title="Create a list of network devices that can be opened with pcap_open().">pcap_findalldevs_ex</a>(<a class="code" href="group__remote__source__string.html#ga6d7103b8a7e1eca8c325bd8f32c361c3" title="String that will be used to determine the type of source in use (file, remote/local...">PCAP_SRC_IF_STRING</a>, NULL, &amp;alldevs, errbuf) == -1)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;Error in pcap_findalldevs: %s\n&quot;</span>, errbuf);
+ exit(1);
+ }
+
+ <span class="comment">/* Print the list */</span>
+ <span class="keywordflow">for</span>(d=alldevs; d; d=d-&gt;<a class="code" href="structpcap__if.html#a81508e6e4e41ca4235c8d6b51913c536" title="if not NULL, a pointer to the next element in the list; NULL for the last element...">next</a>)
+ {
+ printf(<span class="stringliteral">&quot;%d. %s&quot;</span>, ++i, d-&gt;<a class="code" href="structpcap__if.html#a5ac083a645d964373f022d03df4849c8" title="a pointer to a string giving a name for the device to pass to pcap_open_live()">name</a>);
+ <span class="keywordflow">if</span> (d-&gt;<a class="code" href="structpcap__if.html#a8444d6e0dfe2bbab0b5e7b24308f1559" title="if not NULL, a pointer to a string giving a human-readable description of the device...">description</a>)
+ printf(<span class="stringliteral">&quot; (%s)\n&quot;</span>, d-&gt;<a class="code" href="structpcap__if.html#a8444d6e0dfe2bbab0b5e7b24308f1559" title="if not NULL, a pointer to a string giving a human-readable description of the device...">description</a>);
+ <span class="keywordflow">else</span>
+ printf(<span class="stringliteral">&quot; (No description available)\n&quot;</span>);
+ }
+
+ <span class="keywordflow">if</span>(i==0)
+ {
+ printf(<span class="stringliteral">&quot;\nNo interfaces found! Make sure WinPcap is installed.\n&quot;</span>);
+ <span class="keywordflow">return</span> -1;
+ }
+
+ printf(<span class="stringliteral">&quot;Enter the interface number (1-%d):&quot;</span>,i);
+ scanf_s(<span class="stringliteral">&quot;%d&quot;</span>, &amp;inum);
+
+ <span class="keywordflow">if</span>(inum &lt; 1 || inum &gt; i)
+ {
+ printf(<span class="stringliteral">&quot;\nInterface number out of range.\n&quot;</span>);
+ <span class="comment">/* Free the device list */</span>
+ <a class="code" href="group__wpcapfunc.html#ga346b4b0b7fd1cda4abb9a39f767dbeb1" title="Free an interface list returned by pcap_findalldevs().">pcap_freealldevs</a>(alldevs);
+ <span class="keywordflow">return</span> -1;
+ }
+
+ <span class="comment">/* Jump to the selected adapter */</span>
+ <span class="keywordflow">for</span>(d=alldevs, i=0; i&lt; inum-1 ;d=d-&gt;<a class="code" href="structpcap__if.html#a81508e6e4e41ca4235c8d6b51913c536" title="if not NULL, a pointer to the next element in the list; NULL for the last element...">next</a>, i++);
+
+ <span class="comment">/* Open the device */</span>
+ <span class="keywordflow">if</span> ( (adhandle= <a class="code" href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791" title="Open a generic source in order to capture / send (WinPcap only) traffic.">pcap_open</a>(d-&gt;<a class="code" href="structpcap__if.html#a5ac083a645d964373f022d03df4849c8" title="a pointer to a string giving a name for the device to pass to pcap_open_live()">name</a>, <span class="comment">// name of the device</span>
+ 65536, <span class="comment">// portion of the packet to capture. </span>
+ <span class="comment">// 65536 guarantees that the whole packet will be captured on all the link layers</span>
+ <a class="code" href="group__remote__open__flags.html#ga9134ce51a9a6a7d497c3dee5affdc3b9" title="Defines if the adapter has to go in promiscuous mode.">PCAP_OPENFLAG_PROMISCUOUS</a>, <span class="comment">// promiscuous mode</span>
+ 1000, <span class="comment">// read timeout</span>
+ NULL, <span class="comment">// authentication on the remote machine</span>
+ errbuf <span class="comment">// error buffer</span>
+ ) ) == NULL)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;\nUnable to open the adapter. %s is not supported by WinPcap\n&quot;</span>, d-&gt;<a class="code" href="structpcap__if.html#a5ac083a645d964373f022d03df4849c8" title="a pointer to a string giving a name for the device to pass to pcap_open_live()">name</a>);
+ <span class="comment">/* Free the device list */</span>
+ <a class="code" href="group__wpcapfunc.html#ga346b4b0b7fd1cda4abb9a39f767dbeb1" title="Free an interface list returned by pcap_findalldevs().">pcap_freealldevs</a>(alldevs);
+ <span class="keywordflow">return</span> -1;
+ }
+
+ printf(<span class="stringliteral">&quot;\nlistening on %s...\n&quot;</span>, d-&gt;<a class="code" href="structpcap__if.html#a8444d6e0dfe2bbab0b5e7b24308f1559" title="if not NULL, a pointer to a string giving a human-readable description of the device...">description</a>);
+
+ <span class="comment">/* At this point, we don&apos;t need any more the device list. Free it */</span>
+ <a class="code" href="group__wpcapfunc.html#ga346b4b0b7fd1cda4abb9a39f767dbeb1" title="Free an interface list returned by pcap_findalldevs().">pcap_freealldevs</a>(alldevs);
+
+ <span class="comment">/* Retrieve the packets */</span>
+ <span class="keywordflow">while</span>((res = <a class="code" href="group__wpcapfunc.html#ga439439c2eae61161dc1efb1e03a81133" title="Read a packet from an interface or from an offline capture.">pcap_next_ex</a>( adhandle, &amp;header, &amp;pkt_data)) &gt;= 0){
+
+ <span class="keywordflow">if</span>(res == 0)
+ <span class="comment">/* Timeout elapsed */</span>
+ <span class="keywordflow">continue</span>;
+
+ <span class="comment">/* convert the timestamp to readable format */</span>
+ local_tv_sec = header-&gt;<a class="code" href="structpcap__pkthdr.html#a21be78b2818c91cb205885b8a6f5aed8" title="time stamp">ts</a>.tv_sec;
+ localtime_s(&amp;ltime, &amp;local_tv_sec);
+ strftime( timestr, <span class="keyword">sizeof</span> timestr, <span class="stringliteral">&quot;%H:%M:%S&quot;</span>, &amp;ltime);
+
+ printf(<span class="stringliteral">&quot;%s,%.6d len:%d\n&quot;</span>, timestr, header-&gt;<a class="code" href="structpcap__pkthdr.html#a21be78b2818c91cb205885b8a6f5aed8" title="time stamp">ts</a>.tv_usec, header-&gt;<a class="code" href="structpcap__pkthdr.html#a728f264db4f5cc304742565a2bcdbeea" title="length this packet (off wire)">len</a>);
+ }
+
+ <span class="keywordflow">if</span>(res == -1){
+ printf(<span class="stringliteral">&quot;Error reading the packets: %s\n&quot;</span>, <a class="code" href="group__wpcapfunc.html#ga81305cb154e4497e95bbb9b708631a3a" title="return the error text pertaining to the last pcap library error.">pcap_geterr</a>(adhandle));
+ <span class="keywordflow">return</span> -1;
+ }
+
+ <span class="keywordflow">return</span> 0;
+}
+</pre></div><p>Why do we use <a class="el" href="group__wpcapfunc.html#ga439439c2eae61161dc1efb1e03a81133" title="Read a packet from an interface or from an offline capture.">pcap_next_ex()</a> instead of the old <a class="el" href="group__wpcapfunc.html#gadf60257f650aaf869671e0a163611fc3" title="Return the next available packet.">pcap_next()</a>? Because <a class="el" href="group__wpcapfunc.html#gadf60257f650aaf869671e0a163611fc3" title="Return the next available packet.">pcap_next()</a> has some drawbacks. First of all, it is inefficient because it hides the callback method but still relies on <a class="el" href="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c" title="Collect a group of packets.">pcap_dispatch()</a>. Second, it is not able to detect EOF, so it's not very useful when gathering packets from a file.</p>
+<p>Notice also that <a class="el" href="group__wpcapfunc.html#ga439439c2eae61161dc1efb1e03a81133" title="Read a packet from an interface or from an offline capture.">pcap_next_ex()</a> returns different values for success, timeout elapsed, error and EOF conditions.</p>
+<p><a class="el" href="group__wpcap__tut3.html">&lt;&lt;&lt; Previous</a> <a class="el" href="group__wpcap__tut5.html">Next &gt;&gt;&gt;</a> </p>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/group__wpcap__tut5.html b/3rdparty/winpcap/docs/html/group__wpcap__tut5.html
new file mode 100644
index 00000000000..1c535e499f7
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/group__wpcap__tut5.html
@@ -0,0 +1,62 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Filtering the traffic</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Filtering the traffic</h1><table border="0" cellpadding="0" cellspacing="0">
+</table>
+<p>One of the most powerful features offered by WinPcap (and by libpcap as well) is the filtering engine. It provides a very efficient way to receive subsets of the network traffic, and is (usually) integrated with the capture mechanism provided by WinPcap. The functions used to filter packets are <a class="el" href="group__wpcapfunc.html#ga363bdc6f6b39b4979ddcf15ecb830c5c" title="Compile a packet filter, converting an high level filtering expression (see Filtering...">pcap_compile()</a> and <a class="el" href="group__wpcapfunc.html#gaf5f9cfe85dad0967ff607e5159b1ba61" title="Associate a filter to a capture.">pcap_setfilter()</a>.</p>
+<p><a class="el" href="group__wpcapfunc.html#ga363bdc6f6b39b4979ddcf15ecb830c5c" title="Compile a packet filter, converting an high level filtering expression (see Filtering...">pcap_compile()</a> takes a string containing a high-level Boolean (filter) expression and produces a low-level byte code that can be interpreted by the fileter engine in the packet driver. The syntax of the boolean expression can be found in the <a class="el" href="group__language.html">Filtering expression syntax</a> section of this documentation.</p>
+<p><a class="el" href="group__wpcapfunc.html#gaf5f9cfe85dad0967ff607e5159b1ba61" title="Associate a filter to a capture.">pcap_setfilter()</a> associates a filter with a capture session in the kernel driver. Once <a class="el" href="group__wpcapfunc.html#gaf5f9cfe85dad0967ff607e5159b1ba61" title="Associate a filter to a capture.">pcap_setfilter()</a> is called, the associated filter will be applied to all the packets coming from the network, and all the conformant packets (i.e., packets for which the Boolean expression evaluates to true) will be actually copied to the application.</p>
+<p>The following code shows how to compile and set a filter. Note that we must retrieve the netmask from the <a class="el" href="structpcap__if.html" title="Item in a list of interfaces, used by pcap_findalldevs().">pcap_if</a> structure that describes the adapter, because some filters created by <a class="el" href="group__wpcapfunc.html#ga363bdc6f6b39b4979ddcf15ecb830c5c" title="Compile a packet filter, converting an high level filtering expression (see Filtering...">pcap_compile()</a> require it.</p>
+<p>The filter passed to <a class="el" href="group__wpcapfunc.html#ga363bdc6f6b39b4979ddcf15ecb830c5c" title="Compile a packet filter, converting an high level filtering expression (see Filtering...">pcap_compile()</a> in this code snippet is "ip and tcp", which means to "keep only the packets that are both IPv4 and TCP and deliver them to the application".</p>
+<div class="fragment"><pre class="fragment"> <span class="keywordflow">if</span> (d-&gt;<a class="code" href="structpcap__if.html#a3910004677550db6d9b09792ba3e2cca" title="a pointer to the first element of a list of addresses for the interface">addresses</a> != NULL)
+ <span class="comment">/* Retrieve the mask of the first address of the interface */</span>
+ netmask=((<span class="keyword">struct </span>sockaddr_in *)(d-&gt;<a class="code" href="structpcap__if.html#a3910004677550db6d9b09792ba3e2cca" title="a pointer to the first element of a list of addresses for the interface">addresses</a>-&gt;<a class="code" href="structpcap__addr.html#ac43963e42e4d901e55e433ab9c3ea686" title="if not NULL, a pointer to a struct sockaddr that contains the netmask corresponding...">netmask</a>))-&gt;sin_addr.S_un.S_addr;
+ <span class="keywordflow">else</span>
+ <span class="comment">/* If the interface is without an address we suppose to be in a C class network */</span>
+ netmask=0xffffff;
+
+
+compile the filter
+ if (<a class="code" href="group__wpcapfunc.html#ga363bdc6f6b39b4979ddcf15ecb830c5c" title="Compile a packet filter, converting an high level filtering expression (see Filtering...">pcap_compile</a>(adhandle, &amp;fcode, <span class="stringliteral">&quot;ip and tcp&quot;</span>, 1, netmask) &lt; 0)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;\nUnable to compile the packet filter. Check the syntax.\n&quot;</span>);
+ <span class="comment">/* Free the device list */</span>
+ <a class="code" href="group__wpcapfunc.html#ga346b4b0b7fd1cda4abb9a39f767dbeb1" title="Free an interface list returned by pcap_findalldevs().">pcap_freealldevs</a>(alldevs);
+ <span class="keywordflow">return</span> -1;
+ }
+
+<span class="keyword">set</span> the filter
+ <span class="keywordflow">if</span> (<a class="code" href="group__wpcapfunc.html#gaf5f9cfe85dad0967ff607e5159b1ba61" title="Associate a filter to a capture.">pcap_setfilter</a>(adhandle, &amp;fcode) &lt; 0)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;\nError setting the filter.\n&quot;</span>);
+ <span class="comment">/* Free the device list */</span>
+ <a class="code" href="group__wpcapfunc.html#ga346b4b0b7fd1cda4abb9a39f767dbeb1" title="Free an interface list returned by pcap_findalldevs().">pcap_freealldevs</a>(alldevs);
+ <span class="keywordflow">return</span> -1;
+ }
+</pre></div><p>If you want to see some code that uses the filtering functions shown in this lesson, look at the example presented in the next Lesson, <a class="el" href="group__wpcap__tut6.html">Interpreting the packets</a>.</p>
+<p><a class="el" href="group__wpcap__tut4.html">&lt;&lt;&lt; Previous</a> <a class="el" href="group__wpcap__tut6.html">Next &gt;&gt;&gt;</a> </p>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/group__wpcap__tut6.html b/3rdparty/winpcap/docs/html/group__wpcap__tut6.html
new file mode 100644
index 00000000000..91a7f9382f2
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/group__wpcap__tut6.html
@@ -0,0 +1,279 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Interpreting the packets</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Interpreting the packets</h1><table border="0" cellpadding="0" cellspacing="0">
+</table>
+<p>Now that we are able to capture and filter network traffic, we want to put our knowledge to work with a simple "real world" application.</p>
+<p>In this lesson we will take code from the previous lessons and use these pieces to build a more useful program. the main purpose of the current program is to show how the protocol headers of a captured packet can be parsed and interpreted. The resulting application, called UDPdump, prints a summary of the UDP traffic on our network.</p>
+<p>We have chosen to parse and display the UDP protocol because it is more accessible than other protocols such as TCP and consequently is an excellent initial example. Let's look at the code:</p>
+<div class="fragment"><pre class="fragment"><span class="comment">/*</span>
+<span class="comment"> * Copyright (c) 1999 - 2005 NetGroup, Politecnico di Torino (Italy)</span>
+<span class="comment"> * Copyright (c) 2005 - 2006 CACE Technologies, Davis (California)</span>
+<span class="comment"> * All rights reserved.</span>
+<span class="comment"> *</span>
+<span class="comment"> * Redistribution and use in source and binary forms, with or without</span>
+<span class="comment"> * modification, are permitted provided that the following conditions</span>
+<span class="comment"> * are met:</span>
+<span class="comment"> *</span>
+<span class="comment"> * 1. Redistributions of source code must retain the above copyright</span>
+<span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
+<span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright</span>
+<span class="comment"> * notice, this list of conditions and the following disclaimer in the</span>
+<span class="comment"> * documentation and/or other materials provided with the distribution.</span>
+<span class="comment"> * 3. Neither the name of the Politecnico di Torino, CACE Technologies </span>
+<span class="comment"> * nor the names of its contributors may be used to endorse or promote </span>
+<span class="comment"> * products derived from this software without specific prior written </span>
+<span class="comment"> * permission.</span>
+<span class="comment"> *</span>
+<span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
+<span class="comment"> * &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
+<span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
+<span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
+<span class="comment"> * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
+<span class="comment"> * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
+<span class="comment"> * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
+<span class="comment"> * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
+<span class="comment"> * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
+<span class="comment"> * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
+<span class="comment"> * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
+<span class="comment"> *</span>
+<span class="comment"> */</span>
+
+<span class="preprocessor">#include &quot;pcap.h&quot;</span>
+
+<span class="comment">/* 4 bytes IP address */</span>
+<span class="keyword">typedef</span> <span class="keyword">struct </span>ip_address{
+ u_char byte1;
+ u_char byte2;
+ u_char byte3;
+ u_char byte4;
+}ip_address;
+
+<span class="comment">/* IPv4 header */</span>
+<span class="keyword">typedef</span> <span class="keyword">struct </span>ip_header{
+ u_char ver_ihl; <span class="comment">// Version (4 bits) + Internet header length (4 bits)</span>
+ u_char tos; <span class="comment">// Type of service </span>
+ u_short tlen; <span class="comment">// Total length </span>
+ u_short identification; <span class="comment">// Identification</span>
+ u_short flags_fo; <span class="comment">// Flags (3 bits) + Fragment offset (13 bits)</span>
+ u_char ttl; <span class="comment">// Time to live</span>
+ u_char proto; <span class="comment">// Protocol</span>
+ u_short crc; <span class="comment">// Header checksum</span>
+ ip_address saddr; <span class="comment">// Source address</span>
+ ip_address daddr; <span class="comment">// Destination address</span>
+ u_int op_pad; <span class="comment">// Option + Padding</span>
+}ip_header;
+
+<span class="comment">/* UDP header*/</span>
+<span class="keyword">typedef</span> <span class="keyword">struct </span>udp_header{
+ u_short sport; <span class="comment">// Source port</span>
+ u_short dport; <span class="comment">// Destination port</span>
+ u_short len; <span class="comment">// Datagram length</span>
+ u_short crc; <span class="comment">// Checksum</span>
+}udp_header;
+
+<span class="comment">/* prototype of the packet handler */</span>
+<span class="keywordtype">void</span> packet_handler(u_char *param, <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structpcap__pkthdr.html" title="Header of a packet in the dump file.">pcap_pkthdr</a> *header, <span class="keyword">const</span> u_char *pkt_data);
+
+
+<span class="keywordtype">int</span> main()
+{
+<a class="code" href="structpcap__if.html" title="Item in a list of interfaces, used by pcap_findalldevs().">pcap_if_t</a> *alldevs;
+<a class="code" href="structpcap__if.html" title="Item in a list of interfaces, used by pcap_findalldevs().">pcap_if_t</a> *d;
+<span class="keywordtype">int</span> inum;
+<span class="keywordtype">int</span> i=0;
+<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *adhandle;
+<span class="keywordtype">char</span> errbuf[<a class="code" href="group__wpcap__def.html#gacd448353957d92c98fccc29e1fc8d927" title="Size to use when allocating the buffer that contains the libpcap errors.">PCAP_ERRBUF_SIZE</a>];
+u_int netmask;
+<span class="keywordtype">char</span> packet_filter[] = <span class="stringliteral">&quot;ip and udp&quot;</span>;
+<span class="keyword">struct </span>bpf_program fcode;
+
+ <span class="comment">/* Retrieve the device list */</span>
+ <span class="keywordflow">if</span> (<a class="code" href="group__wpcapfunc.html#ga98f36e62c95c6ad81eaa8b2bbeb8f16e" title="Create a list of network devices that can be opened with pcap_open().">pcap_findalldevs_ex</a>(<a class="code" href="group__remote__source__string.html#ga6d7103b8a7e1eca8c325bd8f32c361c3" title="String that will be used to determine the type of source in use (file, remote/local...">PCAP_SRC_IF_STRING</a>, NULL, &amp;alldevs, errbuf) == -1)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;Error in pcap_findalldevs: %s\n&quot;</span>, errbuf);
+ exit(1);
+ }
+
+ <span class="comment">/* Print the list */</span>
+ <span class="keywordflow">for</span>(d=alldevs; d; d=d-&gt;<a class="code" href="structpcap__if.html#a81508e6e4e41ca4235c8d6b51913c536" title="if not NULL, a pointer to the next element in the list; NULL for the last element...">next</a>)
+ {
+ printf(<span class="stringliteral">&quot;%d. %s&quot;</span>, ++i, d-&gt;<a class="code" href="structpcap__if.html#a5ac083a645d964373f022d03df4849c8" title="a pointer to a string giving a name for the device to pass to pcap_open_live()">name</a>);
+ <span class="keywordflow">if</span> (d-&gt;<a class="code" href="structpcap__if.html#a8444d6e0dfe2bbab0b5e7b24308f1559" title="if not NULL, a pointer to a string giving a human-readable description of the device...">description</a>)
+ printf(<span class="stringliteral">&quot; (%s)\n&quot;</span>, d-&gt;<a class="code" href="structpcap__if.html#a8444d6e0dfe2bbab0b5e7b24308f1559" title="if not NULL, a pointer to a string giving a human-readable description of the device...">description</a>);
+ <span class="keywordflow">else</span>
+ printf(<span class="stringliteral">&quot; (No description available)\n&quot;</span>);
+ }
+
+ <span class="keywordflow">if</span>(i==0)
+ {
+ printf(<span class="stringliteral">&quot;\nNo interfaces found! Make sure WinPcap is installed.\n&quot;</span>);
+ <span class="keywordflow">return</span> -1;
+ }
+
+ printf(<span class="stringliteral">&quot;Enter the interface number (1-%d):&quot;</span>,i);
+ scanf_s(<span class="stringliteral">&quot;%d&quot;</span>, &amp;inum);
+
+ <span class="keywordflow">if</span>(inum &lt; 1 || inum &gt; i)
+ {
+ printf(<span class="stringliteral">&quot;\nInterface number out of range.\n&quot;</span>);
+ <span class="comment">/* Free the device list */</span>
+ <a class="code" href="group__wpcapfunc.html#ga346b4b0b7fd1cda4abb9a39f767dbeb1" title="Free an interface list returned by pcap_findalldevs().">pcap_freealldevs</a>(alldevs);
+ <span class="keywordflow">return</span> -1;
+ }
+
+ <span class="comment">/* Jump to the selected adapter */</span>
+ <span class="keywordflow">for</span>(d=alldevs, i=0; i&lt; inum-1 ;d=d-&gt;<a class="code" href="structpcap__if.html#a81508e6e4e41ca4235c8d6b51913c536" title="if not NULL, a pointer to the next element in the list; NULL for the last element...">next</a>, i++);
+
+ <span class="comment">/* Open the adapter */</span>
+ <span class="keywordflow">if</span> ( (adhandle= <a class="code" href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791" title="Open a generic source in order to capture / send (WinPcap only) traffic.">pcap_open</a>(d-&gt;<a class="code" href="structpcap__if.html#a5ac083a645d964373f022d03df4849c8" title="a pointer to a string giving a name for the device to pass to pcap_open_live()">name</a>, <span class="comment">// name of the device</span>
+ 65536, <span class="comment">// portion of the packet to capture. </span>
+ <span class="comment">// 65536 grants that the whole packet will be captured on all the MACs.</span>
+ <a class="code" href="group__remote__open__flags.html#ga9134ce51a9a6a7d497c3dee5affdc3b9" title="Defines if the adapter has to go in promiscuous mode.">PCAP_OPENFLAG_PROMISCUOUS</a>, <span class="comment">// promiscuous mode</span>
+ 1000, <span class="comment">// read timeout</span>
+ NULL, <span class="comment">// remote authentication</span>
+ errbuf <span class="comment">// error buffer</span>
+ ) ) == NULL)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;\nUnable to open the adapter. %s is not supported by WinPcap\n&quot;</span>);
+ <span class="comment">/* Free the device list */</span>
+ <a class="code" href="group__wpcapfunc.html#ga346b4b0b7fd1cda4abb9a39f767dbeb1" title="Free an interface list returned by pcap_findalldevs().">pcap_freealldevs</a>(alldevs);
+ <span class="keywordflow">return</span> -1;
+ }
+
+ <span class="comment">/* Check the link layer. We support only Ethernet for simplicity. */</span>
+ <span class="keywordflow">if</span>(<a class="code" href="group__wpcapfunc.html#ga64c019f851f7da6892d51cca15f12ace" title="Return the link layer of an adapter.">pcap_datalink</a>(adhandle) != DLT_EN10MB)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;\nThis program works only on Ethernet networks.\n&quot;</span>);
+ <span class="comment">/* Free the device list */</span>
+ <a class="code" href="group__wpcapfunc.html#ga346b4b0b7fd1cda4abb9a39f767dbeb1" title="Free an interface list returned by pcap_findalldevs().">pcap_freealldevs</a>(alldevs);
+ <span class="keywordflow">return</span> -1;
+ }
+
+ <span class="keywordflow">if</span>(d-&gt;<a class="code" href="structpcap__if.html#a3910004677550db6d9b09792ba3e2cca" title="a pointer to the first element of a list of addresses for the interface">addresses</a> != NULL)
+ <span class="comment">/* Retrieve the mask of the first address of the interface */</span>
+ netmask=((<span class="keyword">struct </span>sockaddr_in *)(d-&gt;<a class="code" href="structpcap__if.html#a3910004677550db6d9b09792ba3e2cca" title="a pointer to the first element of a list of addresses for the interface">addresses</a>-&gt;<a class="code" href="structpcap__addr.html#ac43963e42e4d901e55e433ab9c3ea686" title="if not NULL, a pointer to a struct sockaddr that contains the netmask corresponding...">netmask</a>))-&gt;sin_addr.S_un.S_addr;
+ <span class="keywordflow">else</span>
+ <span class="comment">/* If the interface is without addresses we suppose to be in a C class network */</span>
+ netmask=0xffffff;
+
+
+ <span class="comment">//compile the filter</span>
+ if (<a class="code" href="group__wpcapfunc.html#ga363bdc6f6b39b4979ddcf15ecb830c5c" title="Compile a packet filter, converting an high level filtering expression (see Filtering...">pcap_compile</a>(adhandle, &amp;fcode, packet_filter, 1, netmask) &lt;0 )
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;\nUnable to compile the packet filter. Check the syntax.\n&quot;</span>);
+ <span class="comment">/* Free the device list */</span>
+ <a class="code" href="group__wpcapfunc.html#ga346b4b0b7fd1cda4abb9a39f767dbeb1" title="Free an interface list returned by pcap_findalldevs().">pcap_freealldevs</a>(alldevs);
+ <span class="keywordflow">return</span> -1;
+ }
+
+ <span class="comment">//set the filter</span>
+ <span class="keywordflow">if</span> (<a class="code" href="group__wpcapfunc.html#gaf5f9cfe85dad0967ff607e5159b1ba61" title="Associate a filter to a capture.">pcap_setfilter</a>(adhandle, &amp;fcode)&lt;0)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;\nError setting the filter.\n&quot;</span>);
+ <span class="comment">/* Free the device list */</span>
+ <a class="code" href="group__wpcapfunc.html#ga346b4b0b7fd1cda4abb9a39f767dbeb1" title="Free an interface list returned by pcap_findalldevs().">pcap_freealldevs</a>(alldevs);
+ <span class="keywordflow">return</span> -1;
+ }
+
+ printf(<span class="stringliteral">&quot;\nlistening on %s...\n&quot;</span>, d-&gt;<a class="code" href="structpcap__if.html#a8444d6e0dfe2bbab0b5e7b24308f1559" title="if not NULL, a pointer to a string giving a human-readable description of the device...">description</a>);
+
+ <span class="comment">/* At this point, we don&apos;t need any more the device list. Free it */</span>
+ <a class="code" href="group__wpcapfunc.html#ga346b4b0b7fd1cda4abb9a39f767dbeb1" title="Free an interface list returned by pcap_findalldevs().">pcap_freealldevs</a>(alldevs);
+
+ <span class="comment">/* start the capture */</span>
+ <a class="code" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de" title="Collect a group of packets.">pcap_loop</a>(adhandle, 0, packet_handler, NULL);
+
+ <span class="keywordflow">return</span> 0;
+}
+
+<span class="comment">/* Callback function invoked by libpcap for every incoming packet */</span>
+<span class="keywordtype">void</span> packet_handler(u_char *param, <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structpcap__pkthdr.html" title="Header of a packet in the dump file.">pcap_pkthdr</a> *header, <span class="keyword">const</span> u_char *pkt_data)
+{
+ <span class="keyword">struct </span>tm ltime;
+ <span class="keywordtype">char</span> timestr[16];
+ ip_header *ih;
+ udp_header *uh;
+ u_int ip_len;
+ u_short sport,dport;
+ time_t local_tv_sec;
+
+ <span class="comment">/*</span>
+<span class="comment"> * Unused variable</span>
+<span class="comment"> */</span>
+ (VOID)(param);
+
+ <span class="comment">/* convert the timestamp to readable format */</span>
+ local_tv_sec = header-&gt;<a class="code" href="structpcap__pkthdr.html#a21be78b2818c91cb205885b8a6f5aed8" title="time stamp">ts</a>.tv_sec;
+ localtime_s(&amp;ltime, &amp;local_tv_sec);
+ strftime( timestr, <span class="keyword">sizeof</span> timestr, <span class="stringliteral">&quot;%H:%M:%S&quot;</span>, &amp;ltime);
+
+ <span class="comment">/* print timestamp and length of the packet */</span>
+ printf(<span class="stringliteral">&quot;%s.%.6d len:%d &quot;</span>, timestr, header-&gt;<a class="code" href="structpcap__pkthdr.html#a21be78b2818c91cb205885b8a6f5aed8" title="time stamp">ts</a>.tv_usec, header-&gt;<a class="code" href="structpcap__pkthdr.html#a728f264db4f5cc304742565a2bcdbeea" title="length this packet (off wire)">len</a>);
+
+ <span class="comment">/* retireve the position of the ip header */</span>
+ ih = (ip_header *) (pkt_data +
+ 14); <span class="comment">//length of ethernet header</span>
+
+ <span class="comment">/* retireve the position of the udp header */</span>
+ ip_len = (ih-&gt;ver_ihl &amp; 0xf) * 4;
+ uh = (udp_header *) ((u_char*)ih + ip_len);
+
+ <span class="comment">/* convert from network byte order to host byte order */</span>
+ sport = ntohs( uh-&gt;sport );
+ dport = ntohs( uh-&gt;dport );
+
+ <span class="comment">/* print ip addresses and udp ports */</span>
+ printf(<span class="stringliteral">&quot;%d.%d.%d.%d.%d -&gt; %d.%d.%d.%d.%d\n&quot;</span>,
+ ih-&gt;saddr.byte1,
+ ih-&gt;saddr.byte2,
+ ih-&gt;saddr.byte3,
+ ih-&gt;saddr.byte4,
+ sport,
+ ih-&gt;daddr.byte1,
+ ih-&gt;daddr.byte2,
+ ih-&gt;daddr.byte3,
+ ih-&gt;daddr.byte4,
+ dport);
+}
+</pre></div><p>First of all, we set the filter to "ip and udp". In this way we are sure that packet_handler() will receive only UDP packets over IPv4: this simplifies the parsing and increases the efficiency of the program.</p>
+<p>We have also created a couple of structs that describe the IP and UDP headers. These structs are used by packet_handler() to properly locate the various header fields.</p>
+<p>packet_handler(), although limited to a single protocol dissector (UDP over IPv4), shows how complex "sniffers" like tcpdump/WinDump decode the network traffic. Since we aren't interested in the MAC header, we skip it. For simplicity and before starting the capture, we check the MAC layer with <a class="el" href="group__wpcapfunc.html#ga64c019f851f7da6892d51cca15f12ace" title="Return the link layer of an adapter.">pcap_datalink()</a> to make sure that we are dealing with an Ethernet network. This way we can be sure that the MAC header is exactly 14 bytes.</p>
+<p>The IP header is located just after the MAC header. We will extract the IP source and destination addresses from the IP header.</p>
+<p>Reaching the UDP header is a bit more complicated, because the IP header doesn't have a fixed length. Therefore, we use the IP header's length field to know its size. Once we know the location of the UDP header, we extract the source and destination ports.</p>
+<p>The extracted values are printed on the screen, and the result is something like:</p>
+<p><code> 1. \Device\Packet_{A7FD048A-5D4B-478E-B3C1-34401AC3B72F} (Xircom t 10/100 Adapter) <br/>
+ Enter the interface number (1-2):1<br/>
+</code></p>
+<p><code>listening on Xircom CardBus Ethernet 10/100 Adapter... <br/>
+ 16:13:15.312784 len:87 130.192.31.67.2682 -&gt; 130.192.3.21.53 <br/>
+ 16:13:15.314796 len:137 130.192.3.21.53 -&gt; 130.192.31.67.2682 <br/>
+ 16:13:15.322101 len:78 130.192.31.67.2683 -&gt; 130.192.3.21.53 <br/>
+ </code></p>
+<p>Each of the final 3 lines represents a different packet.</p>
+<p><a class="el" href="group__wpcap__tut5.html">&lt;&lt;&lt; Previous</a> <a class="el" href="group__wpcap__tut7.html">Next &gt;&gt;&gt;</a> </p>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/group__wpcap__tut7.html b/3rdparty/winpcap/docs/html/group__wpcap__tut7.html
new file mode 100644
index 00000000000..0e89203d0cd
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/group__wpcap__tut7.html
@@ -0,0 +1,438 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Handling offline dump files</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Handling offline dump files</h1><table border="0" cellpadding="0" cellspacing="0">
+</table>
+<p>In this lession we are going to learn how to handle packet capture to a file (dump to file). WinPcap offers a wide range of functions to save the network traffic to a file and to read the content of dumps -- this lesson will teach how to use all of these functions. We'll see also how to use the kernel dump feature of WinPcap to obtain high-performance dumps (<b>NOTE:</b> At the moment, due to some problems with the new kernel buffer, this feature has been disabled).</p>
+<p>The format for dump files is the libpcap one. This format contains the data of the captured packets in binary form and is a standard used by many network tools including WinDump, Ethereal and Snort.</p>
+<p><b>Saving packets to a dump file</b></p>
+<p>First of all, let's see how to write packets in libpcap format.</p>
+<p>The following example captures the packets from the selected interface and saves them on a file whose name is provided by the user.</p>
+<div class="fragment"><pre class="fragment"><span class="preprocessor">#include &quot;pcap.h&quot;</span>
+
+<span class="comment">/* prototype of the packet handler */</span>
+<span class="keywordtype">void</span> packet_handler(u_char *param, <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structpcap__pkthdr.html" title="Header of a packet in the dump file.">pcap_pkthdr</a> *header, <span class="keyword">const</span> u_char *pkt_data);
+
+<span class="keywordtype">int</span> main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv)
+{
+<a class="code" href="structpcap__if.html" title="Item in a list of interfaces, used by pcap_findalldevs().">pcap_if_t</a> *alldevs;
+<a class="code" href="structpcap__if.html" title="Item in a list of interfaces, used by pcap_findalldevs().">pcap_if_t</a> *d;
+<span class="keywordtype">int</span> inum;
+<span class="keywordtype">int</span> i=0;
+<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *adhandle;
+<span class="keywordtype">char</span> errbuf[<a class="code" href="group__wpcap__def.html#gacd448353957d92c98fccc29e1fc8d927" title="Size to use when allocating the buffer that contains the libpcap errors.">PCAP_ERRBUF_SIZE</a>];
+<a class="code" href="group__wpcap__def.html#gab8c7858aa3a7e3158d9d58cb113a2ae8" title="libpcap savefile descriptor.">pcap_dumper_t</a> *dumpfile;
+
+
+
+ <span class="comment">/* Check command line */</span>
+ <span class="keywordflow">if</span>(argc != 2)
+ {
+ printf(<span class="stringliteral">&quot;usage: %s filename&quot;</span>, argv[0]);
+ <span class="keywordflow">return</span> -1;
+ }
+
+ <span class="comment">/* Retrieve the device list on the local machine */</span>
+ <span class="keywordflow">if</span> (<a class="code" href="group__wpcapfunc.html#ga98f36e62c95c6ad81eaa8b2bbeb8f16e" title="Create a list of network devices that can be opened with pcap_open().">pcap_findalldevs_ex</a>(<a class="code" href="group__remote__source__string.html#ga6d7103b8a7e1eca8c325bd8f32c361c3" title="String that will be used to determine the type of source in use (file, remote/local...">PCAP_SRC_IF_STRING</a>, NULL, &amp;alldevs, errbuf) == -1)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;Error in pcap_findalldevs: %s\n&quot;</span>, errbuf);
+ exit(1);
+ }
+
+ <span class="comment">/* Print the list */</span>
+ <span class="keywordflow">for</span>(d=alldevs; d; d=d-&gt;<a class="code" href="structpcap__if.html#a81508e6e4e41ca4235c8d6b51913c536" title="if not NULL, a pointer to the next element in the list; NULL for the last element...">next</a>)
+ {
+ printf(<span class="stringliteral">&quot;%d. %s&quot;</span>, ++i, d-&gt;<a class="code" href="structpcap__if.html#a5ac083a645d964373f022d03df4849c8" title="a pointer to a string giving a name for the device to pass to pcap_open_live()">name</a>);
+ <span class="keywordflow">if</span> (d-&gt;<a class="code" href="structpcap__if.html#a8444d6e0dfe2bbab0b5e7b24308f1559" title="if not NULL, a pointer to a string giving a human-readable description of the device...">description</a>)
+ printf(<span class="stringliteral">&quot; (%s)\n&quot;</span>, d-&gt;<a class="code" href="structpcap__if.html#a8444d6e0dfe2bbab0b5e7b24308f1559" title="if not NULL, a pointer to a string giving a human-readable description of the device...">description</a>);
+ <span class="keywordflow">else</span>
+ printf(<span class="stringliteral">&quot; (No description available)\n&quot;</span>);
+ }
+
+ <span class="keywordflow">if</span>(i==0)
+ {
+ printf(<span class="stringliteral">&quot;\nNo interfaces found! Make sure WinPcap is installed.\n&quot;</span>);
+ <span class="keywordflow">return</span> -1;
+ }
+
+ printf(<span class="stringliteral">&quot;Enter the interface number (1-%d):&quot;</span>,i);
+ scanf_s(<span class="stringliteral">&quot;%d&quot;</span>, &amp;inum);
+
+ <span class="keywordflow">if</span>(inum &lt; 1 || inum &gt; i)
+ {
+ printf(<span class="stringliteral">&quot;\nInterface number out of range.\n&quot;</span>);
+ <span class="comment">/* Free the device list */</span>
+ <a class="code" href="group__wpcapfunc.html#ga346b4b0b7fd1cda4abb9a39f767dbeb1" title="Free an interface list returned by pcap_findalldevs().">pcap_freealldevs</a>(alldevs);
+ <span class="keywordflow">return</span> -1;
+ }
+
+ <span class="comment">/* Jump to the selected adapter */</span>
+ <span class="keywordflow">for</span>(d=alldevs, i=0; i&lt; inum-1 ;d=d-&gt;<a class="code" href="structpcap__if.html#a81508e6e4e41ca4235c8d6b51913c536" title="if not NULL, a pointer to the next element in the list; NULL for the last element...">next</a>, i++);
+
+
+ <span class="comment">/* Open the device */</span>
+ <span class="keywordflow">if</span> ( (adhandle= <a class="code" href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791" title="Open a generic source in order to capture / send (WinPcap only) traffic.">pcap_open</a>(d-&gt;<a class="code" href="structpcap__if.html#a5ac083a645d964373f022d03df4849c8" title="a pointer to a string giving a name for the device to pass to pcap_open_live()">name</a>, <span class="comment">// name of the device</span>
+ 65536, <span class="comment">// portion of the packet to capture</span>
+ <span class="comment">// 65536 guarantees that the whole packet will be captured on all the link layers</span>
+ <a class="code" href="group__remote__open__flags.html#ga9134ce51a9a6a7d497c3dee5affdc3b9" title="Defines if the adapter has to go in promiscuous mode.">PCAP_OPENFLAG_PROMISCUOUS</a>, <span class="comment">// promiscuous mode</span>
+ 1000, <span class="comment">// read timeout</span>
+ NULL, <span class="comment">// authentication on the remote machine</span>
+ errbuf <span class="comment">// error buffer</span>
+ ) ) == NULL)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;\nUnable to open the adapter. %s is not supported by WinPcap\n&quot;</span>, d-&gt;<a class="code" href="structpcap__if.html#a5ac083a645d964373f022d03df4849c8" title="a pointer to a string giving a name for the device to pass to pcap_open_live()">name</a>);
+ <span class="comment">/* Free the device list */</span>
+ <a class="code" href="group__wpcapfunc.html#ga346b4b0b7fd1cda4abb9a39f767dbeb1" title="Free an interface list returned by pcap_findalldevs().">pcap_freealldevs</a>(alldevs);
+ <span class="keywordflow">return</span> -1;
+ }
+
+ <span class="comment">/* Open the dump file */</span>
+ dumpfile = <a class="code" href="group__wpcapfunc.html#ga9506c33d580fdb5e5c288dba0f8a085c" title="Open a file to write packets.">pcap_dump_open</a>(adhandle, argv[1]);
+
+ <span class="keywordflow">if</span>(dumpfile==NULL)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;\nError opening output file\n&quot;</span>);
+ <span class="keywordflow">return</span> -1;
+ }
+
+ printf(<span class="stringliteral">&quot;\nlistening on %s... Press Ctrl+C to stop...\n&quot;</span>, d-&gt;<a class="code" href="structpcap__if.html#a8444d6e0dfe2bbab0b5e7b24308f1559" title="if not NULL, a pointer to a string giving a human-readable description of the device...">description</a>);
+
+ <span class="comment">/* At this point, we no longer need the device list. Free it */</span>
+ <a class="code" href="group__wpcapfunc.html#ga346b4b0b7fd1cda4abb9a39f767dbeb1" title="Free an interface list returned by pcap_findalldevs().">pcap_freealldevs</a>(alldevs);
+
+ <span class="comment">/* start the capture */</span>
+ <a class="code" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de" title="Collect a group of packets.">pcap_loop</a>(adhandle, 0, packet_handler, (<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *)dumpfile);
+
+ <span class="keywordflow">return</span> 0;
+}
+
+<span class="comment">/* Callback function invoked by libpcap for every incoming packet */</span>
+<span class="keywordtype">void</span> packet_handler(u_char *dumpfile, <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structpcap__pkthdr.html" title="Header of a packet in the dump file.">pcap_pkthdr</a> *header, <span class="keyword">const</span> u_char *pkt_data)
+{
+ <span class="comment">/* save the packet on the dump file */</span>
+ <a class="code" href="group__wpcapfunc.html#ga659439bf5aa3988b5a92d31990fbf437" title="Save a packet to disk.">pcap_dump</a>(dumpfile, header, pkt_data);
+}
+</pre></div><p>As you can see, the structure of the program is very similar to the ones we have seen in the previous lessons. The differences are:</p>
+<ul>
+<li>a call to <a class="el" href="group__wpcapfunc.html#ga9506c33d580fdb5e5c288dba0f8a085c" title="Open a file to write packets.">pcap_dump_open()</a> is issued once the interface is opened. This call opens a dump file and associates it with the interface.</li>
+<li>the packets are written to this file with a <a class="el" href="group__wpcapfunc.html#ga659439bf5aa3988b5a92d31990fbf437" title="Save a packet to disk.">pcap_dump()</a> from the packet_handler() callback. The parameters of <a class="el" href="group__wpcapfunc.html#ga659439bf5aa3988b5a92d31990fbf437" title="Save a packet to disk.">pcap_dump()</a> are in 1-1 correspondence with the parameters of <a class="el" href="group__wpcapfunc.html#gabcba231c099919ecd9300d7160b19878" title="Prototype of the callback function that receives the packets.">pcap_handler()</a>.</li>
+</ul>
+<p><b>Reading packets from a dump file</b></p>
+<p>Now that we have a dump file available, we can try to read its content. The following code opens a WinPcap/libpcap dump file and displays every packet contained in the file. The file is opened with <a class="el" href="group__wpcapfunc.html#ga91078168a13de8848df2b7b83d1f5b69" title="Open a savefile in the tcpdump/libpcap format to read packets.">pcap_open_offline()</a>, then the usual <a class="el" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de" title="Collect a group of packets.">pcap_loop()</a> is used to sequence through the packets. As you can see, reading packets from an offline capture is nearly identical to receiving them from a physical interface.</p>
+<p>This example introduces another function: pcap_createsrcsrc(). This function is required to create a source string that begins with a marker used to tell WinPcap the type of the source, e.g. "rpcap://" if we are going to open an adapter, or "file://" if we are going to open a file. This step is not required when <a class="el" href="group__wpcapfunc.html#ga98f36e62c95c6ad81eaa8b2bbeb8f16e" title="Create a list of network devices that can be opened with pcap_open().">pcap_findalldevs_ex()</a> is used (the returned values already contain these strings). However, it is required in this example because the name of the file is read from the user input.</p>
+<div class="fragment"><pre class="fragment"><span class="preprocessor">#include &lt;stdio.h&gt;</span>
+<span class="preprocessor">#include &lt;pcap.h&gt;</span>
+
+<span class="preprocessor">#define LINE_LEN 16</span>
+<span class="preprocessor"></span>
+<span class="keywordtype">void</span> dispatcher_handler(u_char *, <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structpcap__pkthdr.html" title="Header of a packet in the dump file.">pcap_pkthdr</a> *, <span class="keyword">const</span> u_char *);
+
+<span class="keywordtype">int</span> main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv)
+{
+<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *fp;
+<span class="keywordtype">char</span> errbuf[<a class="code" href="group__wpcap__def.html#gacd448353957d92c98fccc29e1fc8d927" title="Size to use when allocating the buffer that contains the libpcap errors.">PCAP_ERRBUF_SIZE</a>];
+<span class="keywordtype">char</span> source[<a class="code" href="group__remote__struct.html#gacacb155b596f7511f714de129ae32c97" title="Defines the maximum buffer size in which address, port, interface names are kept...">PCAP_BUF_SIZE</a>];
+
+ <span class="keywordflow">if</span>(argc != 2){
+
+ printf(<span class="stringliteral">&quot;usage: %s filename&quot;</span>, argv[0]);
+ <span class="keywordflow">return</span> -1;
+
+ }
+
+ <span class="comment">/* Create the source string according to the new WinPcap syntax */</span>
+ <span class="keywordflow">if</span> ( <a class="code" href="group__wpcapfunc.html#gaa3111e10f930a9772a32a922b26948b0" title="Accept a set of strings (host name, port, ...), and it returns the complete source...">pcap_createsrcstr</a>( source, <span class="comment">// variable that will keep the source string</span>
+ <a class="code" href="group__remote__source__ID.html#ga9188ad0fc0d12fc51d1e9f5e78bf9440" title="Internal representation of the type of source in use (file, remote/local interface)...">PCAP_SRC_FILE</a>, <span class="comment">// we want to open a file</span>
+ NULL, <span class="comment">// remote host</span>
+ NULL, <span class="comment">// port on the remote host</span>
+ argv[1], <span class="comment">// name of the file we want to open</span>
+ errbuf <span class="comment">// error buffer</span>
+ ) != 0)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;\nError creating a source string\n&quot;</span>);
+ <span class="keywordflow">return</span> -1;
+ }
+
+ <span class="comment">/* Open the capture file */</span>
+ <span class="keywordflow">if</span> ( (fp= <a class="code" href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791" title="Open a generic source in order to capture / send (WinPcap only) traffic.">pcap_open</a>(source, <span class="comment">// name of the device</span>
+ 65536, <span class="comment">// portion of the packet to capture</span>
+ <span class="comment">// 65536 guarantees that the whole packet will be captured on all the link layers</span>
+ <a class="code" href="group__remote__open__flags.html#ga9134ce51a9a6a7d497c3dee5affdc3b9" title="Defines if the adapter has to go in promiscuous mode.">PCAP_OPENFLAG_PROMISCUOUS</a>, <span class="comment">// promiscuous mode</span>
+ 1000, <span class="comment">// read timeout</span>
+ NULL, <span class="comment">// authentication on the remote machine</span>
+ errbuf <span class="comment">// error buffer</span>
+ ) ) == NULL)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;\nUnable to open the file %s.\n&quot;</span>, source);
+ <span class="keywordflow">return</span> -1;
+ }
+
+ <span class="comment">// read and dispatch packets until EOF is reached</span>
+ <a class="code" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de" title="Collect a group of packets.">pcap_loop</a>(fp, 0, dispatcher_handler, NULL);
+
+ <span class="keywordflow">return</span> 0;
+}
+
+
+
+<span class="keywordtype">void</span> dispatcher_handler(u_char *temp1,
+ <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structpcap__pkthdr.html" title="Header of a packet in the dump file.">pcap_pkthdr</a> *header, <span class="keyword">const</span> u_char *pkt_data)
+{
+ u_int i=0;
+
+ <span class="comment">/*</span>
+<span class="comment"> * Unused variable</span>
+<span class="comment"> */</span>
+ (VOID)temp1;
+
+ <span class="comment">/* print pkt timestamp and pkt len */</span>
+ printf(<span class="stringliteral">&quot;%ld:%ld (%ld)\n&quot;</span>, header-&gt;<a class="code" href="structpcap__pkthdr.html#a21be78b2818c91cb205885b8a6f5aed8" title="time stamp">ts</a>.tv_sec, header-&gt;<a class="code" href="structpcap__pkthdr.html#a21be78b2818c91cb205885b8a6f5aed8" title="time stamp">ts</a>.tv_usec, header-&gt;<a class="code" href="structpcap__pkthdr.html#a728f264db4f5cc304742565a2bcdbeea" title="length this packet (off wire)">len</a>);
+
+ <span class="comment">/* Print the packet */</span>
+ <span class="keywordflow">for</span> (i=1; (i &lt; header-&gt;<a class="code" href="structpcap__pkthdr.html#aac5771ed2efd92508bb4fe650f2ce7d7" title="length of portion present">caplen</a> + 1 ) ; i++)
+ {
+ printf(<span class="stringliteral">&quot;%.2x &quot;</span>, pkt_data[i-1]);
+ <span class="keywordflow">if</span> ( (i % LINE_LEN) == 0) printf(<span class="stringliteral">&quot;\n&quot;</span>);
+ }
+
+ printf(<span class="stringliteral">&quot;\n\n&quot;</span>);
+
+}
+</pre></div><p>The following example has the same purpose of the last one, but <a class="el" href="group__wpcapfunc.html#ga439439c2eae61161dc1efb1e03a81133" title="Read a packet from an interface or from an offline capture.">pcap_next_ex()</a> is used instead of the <a class="el" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de" title="Collect a group of packets.">pcap_loop()</a> callback method.</p>
+<div class="fragment"><pre class="fragment"><span class="preprocessor">#include &lt;stdio.h&gt;</span>
+<span class="preprocessor">#include &lt;pcap.h&gt;</span>
+
+<span class="preprocessor">#define LINE_LEN 16</span>
+<span class="preprocessor"></span>
+<span class="keywordtype">int</span> main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv)
+{
+<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *fp;
+<span class="keywordtype">char</span> errbuf[<a class="code" href="group__wpcap__def.html#gacd448353957d92c98fccc29e1fc8d927" title="Size to use when allocating the buffer that contains the libpcap errors.">PCAP_ERRBUF_SIZE</a>];
+<span class="keywordtype">char</span> source[<a class="code" href="group__remote__struct.html#gacacb155b596f7511f714de129ae32c97" title="Defines the maximum buffer size in which address, port, interface names are kept...">PCAP_BUF_SIZE</a>];
+<span class="keyword">struct </span><a class="code" href="structpcap__pkthdr.html" title="Header of a packet in the dump file.">pcap_pkthdr</a> *header;
+<span class="keyword">const</span> u_char *pkt_data;
+u_int i=0;
+<span class="keywordtype">int</span> res;
+
+ <span class="keywordflow">if</span>(argc != 2)
+ {
+ printf(<span class="stringliteral">&quot;usage: %s filename&quot;</span>, argv[0]);
+ <span class="keywordflow">return</span> -1;
+ }
+
+ <span class="comment">/* Create the source string according to the new WinPcap syntax */</span>
+ <span class="keywordflow">if</span> ( <a class="code" href="group__wpcapfunc.html#gaa3111e10f930a9772a32a922b26948b0" title="Accept a set of strings (host name, port, ...), and it returns the complete source...">pcap_createsrcstr</a>( source, <span class="comment">// variable that will keep the source string</span>
+ <a class="code" href="group__remote__source__ID.html#ga9188ad0fc0d12fc51d1e9f5e78bf9440" title="Internal representation of the type of source in use (file, remote/local interface)...">PCAP_SRC_FILE</a>, <span class="comment">// we want to open a file</span>
+ NULL, <span class="comment">// remote host</span>
+ NULL, <span class="comment">// port on the remote host</span>
+ argv[1], <span class="comment">// name of the file we want to open</span>
+ errbuf <span class="comment">// error buffer</span>
+ ) != 0)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;\nError creating a source string\n&quot;</span>);
+ <span class="keywordflow">return</span> -1;
+ }
+
+ <span class="comment">/* Open the capture file */</span>
+ <span class="keywordflow">if</span> ( (fp= <a class="code" href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791" title="Open a generic source in order to capture / send (WinPcap only) traffic.">pcap_open</a>(source, <span class="comment">// name of the device</span>
+ 65536, <span class="comment">// portion of the packet to capture</span>
+ <span class="comment">// 65536 guarantees that the whole packet will be captured on all the link layers</span>
+ <a class="code" href="group__remote__open__flags.html#ga9134ce51a9a6a7d497c3dee5affdc3b9" title="Defines if the adapter has to go in promiscuous mode.">PCAP_OPENFLAG_PROMISCUOUS</a>, <span class="comment">// promiscuous mode</span>
+ 1000, <span class="comment">// read timeout</span>
+ NULL, <span class="comment">// authentication on the remote machine</span>
+ errbuf <span class="comment">// error buffer</span>
+ ) ) == NULL)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;\nUnable to open the file %s.\n&quot;</span>, source);
+ <span class="keywordflow">return</span> -1;
+ }
+
+ <span class="comment">/* Retrieve the packets from the file */</span>
+ <span class="keywordflow">while</span>((res = <a class="code" href="group__wpcapfunc.html#ga439439c2eae61161dc1efb1e03a81133" title="Read a packet from an interface or from an offline capture.">pcap_next_ex</a>( fp, &amp;header, &amp;pkt_data)) &gt;= 0)
+ {
+ <span class="comment">/* print pkt timestamp and pkt len */</span>
+ printf(<span class="stringliteral">&quot;%ld:%ld (%ld)\n&quot;</span>, header-&gt;<a class="code" href="structpcap__pkthdr.html#a21be78b2818c91cb205885b8a6f5aed8" title="time stamp">ts</a>.tv_sec, header-&gt;<a class="code" href="structpcap__pkthdr.html#a21be78b2818c91cb205885b8a6f5aed8" title="time stamp">ts</a>.tv_usec, header-&gt;<a class="code" href="structpcap__pkthdr.html#a728f264db4f5cc304742565a2bcdbeea" title="length this packet (off wire)">len</a>);
+
+ <span class="comment">/* Print the packet */</span>
+ <span class="keywordflow">for</span> (i=1; (i &lt; header-&gt;<a class="code" href="structpcap__pkthdr.html#aac5771ed2efd92508bb4fe650f2ce7d7" title="length of portion present">caplen</a> + 1 ) ; i++)
+ {
+ printf(<span class="stringliteral">&quot;%.2x &quot;</span>, pkt_data[i-1]);
+ <span class="keywordflow">if</span> ( (i % LINE_LEN) == 0) printf(<span class="stringliteral">&quot;\n&quot;</span>);
+ }
+
+ printf(<span class="stringliteral">&quot;\n\n&quot;</span>);
+ }
+
+
+ <span class="keywordflow">if</span> (res == -1)
+ {
+ printf(<span class="stringliteral">&quot;Error reading the packets: %s\n&quot;</span>, <a class="code" href="group__wpcapfunc.html#ga81305cb154e4497e95bbb9b708631a3a" title="return the error text pertaining to the last pcap library error.">pcap_geterr</a>(fp));
+ }
+
+ <span class="keywordflow">return</span> 0;
+}
+
+</pre></div><p><b>Writing packets to a dump file with pcap_live_dump</b></p>
+<p><b>NOTE:</b> At the moment, due to some problems with the new kernel buffer, this feature has been disabled.</p>
+<p>Recent versions of WinPcap provide a further way to save network traffic to disk, the <a class="el" href="group__wpcapfunc.html#gaedef54159d918b22a7de8e75b8a3ef4d" title="Save a capture to file.">pcap_live_dump()</a> function. <a class="el" href="group__wpcapfunc.html#gaedef54159d918b22a7de8e75b8a3ef4d" title="Save a capture to file.">pcap_live_dump()</a> takes three parameters: a file name, the maximum size (in bytes) that this file is allowed to reach and the maximum amount of packets that the file is allowed to contain. Zero means no limit for both these values. Notice that the program can set a filter (with <a class="el" href="group__wpcapfunc.html#gaf5f9cfe85dad0967ff607e5159b1ba61" title="Associate a filter to a capture.">pcap_setfilter()</a>, see the tutorial <a class="el" href="group__wpcap__tut5.html">Filtering the traffic</a>) before calling <a class="el" href="group__wpcapfunc.html#gaedef54159d918b22a7de8e75b8a3ef4d" title="Save a capture to file.">pcap_live_dump()</a> to define the subset of the traffic that will be saved.</p>
+<p><a class="el" href="group__wpcapfunc.html#gaedef54159d918b22a7de8e75b8a3ef4d" title="Save a capture to file.">pcap_live_dump()</a> is non-blocking, therefore it starts the dump and returns immediately: The dump process goes on asynchronously until the maximum file size or the maximum amount of packets has been reached.</p>
+<p>The application can wait or check the end of the dump with <a class="el" href="group__wpcapfunc.html#gafe8a334f3a7ae2dc7f52e96523da39be" title="Return the status of the kernel dump process, i.e. tells if one of the limits defined...">pcap_live_dump_ended()</a>. <b>Beware</b> that if the <em>sync</em> parameter is nonzero, this function will block your application forever if the limits are both 0.</p>
+<div class="fragment"><pre class="fragment"><span class="comment">/*</span>
+<span class="comment"> * Copyright (c) 1999 - 2005 NetGroup, Politecnico di Torino (Italy)</span>
+<span class="comment"> * Copyright (c) 2005 - 2006 CACE Technologies, Davis (California)</span>
+<span class="comment"> * All rights reserved.</span>
+<span class="comment"> *</span>
+<span class="comment"> * Redistribution and use in source and binary forms, with or without</span>
+<span class="comment"> * modification, are permitted provided that the following conditions</span>
+<span class="comment"> * are met:</span>
+<span class="comment"> *</span>
+<span class="comment"> * 1. Redistributions of source code must retain the above copyright</span>
+<span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
+<span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright</span>
+<span class="comment"> * notice, this list of conditions and the following disclaimer in the</span>
+<span class="comment"> * documentation and/or other materials provided with the distribution.</span>
+<span class="comment"> * 3. Neither the name of the Politecnico di Torino, CACE Technologies </span>
+<span class="comment"> * nor the names of its contributors may be used to endorse or promote </span>
+<span class="comment"> * products derived from this software without specific prior written </span>
+<span class="comment"> * permission.</span>
+<span class="comment"> *</span>
+<span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
+<span class="comment"> * &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
+<span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
+<span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
+<span class="comment"> * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
+<span class="comment"> * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
+<span class="comment"> * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
+<span class="comment"> * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
+<span class="comment"> * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
+<span class="comment"> * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
+<span class="comment"> * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
+<span class="comment"> *</span>
+<span class="comment"> */</span>
+
+<span class="preprocessor">#include &lt;stdlib.h&gt;</span>
+<span class="preprocessor">#include &lt;stdio.h&gt;</span>
+
+<span class="preprocessor">#include &lt;pcap.h&gt;</span>
+
+<span class="preprocessor">#error At the moment the kernel dump feature is not supported in the driver</span>
+<span class="preprocessor"></span>
+main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv) {
+
+ <a class="code" href="structpcap__if.html" title="Item in a list of interfaces, used by pcap_findalldevs().">pcap_if_t</a> *alldevs, *d;
+ <a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *fp;
+ u_int inum, i=0;
+ <span class="keywordtype">char</span> errbuf[<a class="code" href="group__wpcap__def.html#gacd448353957d92c98fccc29e1fc8d927" title="Size to use when allocating the buffer that contains the libpcap errors.">PCAP_ERRBUF_SIZE</a>];
+
+ printf(<span class="stringliteral">&quot;kdump: saves the network traffic to file using WinPcap kernel-level dump faeature.\n&quot;</span>);
+ printf(<span class="stringliteral">&quot;\t Usage: %s [adapter] | dump_file_name max_size max_packs\n&quot;</span>, argv[0]);
+ printf(<span class="stringliteral">&quot;\t Where: max_size is the maximum size that the dump file will reach (0 means no limit)\n&quot;</span>);
+ printf(<span class="stringliteral">&quot;\t Where: max_packs is the maximum number of packets that will be saved (0 means no limit)\n\n&quot;</span>);
+
+
+ <span class="keywordflow">if</span>(argc &lt; 5){
+
+ <span class="comment">/* The user didn&apos;t provide a packet source: Retrieve the device list */</span>
+ <span class="keywordflow">if</span> (<a class="code" href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d" title="Construct a list of network devices that can be opened with pcap_open_live().">pcap_findalldevs</a>(&amp;alldevs, errbuf) == -1)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;Error in pcap_findalldevs: %s\n&quot;</span>, errbuf);
+ exit(1);
+ }
+
+ <span class="comment">/* Print the list */</span>
+ <span class="keywordflow">for</span>(d=alldevs; d; d=d-&gt;<a class="code" href="structpcap__if.html#a81508e6e4e41ca4235c8d6b51913c536" title="if not NULL, a pointer to the next element in the list; NULL for the last element...">next</a>)
+ {
+ printf(<span class="stringliteral">&quot;%d. %s&quot;</span>, ++i, d-&gt;<a class="code" href="structpcap__if.html#a5ac083a645d964373f022d03df4849c8" title="a pointer to a string giving a name for the device to pass to pcap_open_live()">name</a>);
+ <span class="keywordflow">if</span> (d-&gt;<a class="code" href="structpcap__if.html#a8444d6e0dfe2bbab0b5e7b24308f1559" title="if not NULL, a pointer to a string giving a human-readable description of the device...">description</a>)
+ printf(<span class="stringliteral">&quot; (%s)\n&quot;</span>, d-&gt;<a class="code" href="structpcap__if.html#a8444d6e0dfe2bbab0b5e7b24308f1559" title="if not NULL, a pointer to a string giving a human-readable description of the device...">description</a>);
+ <span class="keywordflow">else</span>
+ printf(<span class="stringliteral">&quot; (No description available)\n&quot;</span>);
+ }
+
+ <span class="keywordflow">if</span>(i==0)
+ {
+ printf(<span class="stringliteral">&quot;\nNo interfaces found! Make sure WinPcap is installed.\n&quot;</span>);
+ <span class="keywordflow">return</span> -1;
+ }
+
+ printf(<span class="stringliteral">&quot;Enter the interface number (1-%d):&quot;</span>,i);
+ scanf(<span class="stringliteral">&quot;%d&quot;</span>, &amp;inum);
+
+ <span class="keywordflow">if</span>(inum &lt; 1 || inum &gt; i)
+ {
+ printf(<span class="stringliteral">&quot;\nInterface number out of range.\n&quot;</span>);
+ <span class="comment">/* Free the device list */</span>
+ <span class="keywordflow">return</span> -1;
+ }
+
+ <span class="comment">/* Jump to the selected adapter */</span>
+ <span class="keywordflow">for</span>(d=alldevs, i=0; i&lt; inum-1 ;d=d-&gt;<a class="code" href="structpcap__if.html#a81508e6e4e41ca4235c8d6b51913c536" title="if not NULL, a pointer to the next element in the list; NULL for the last element...">next</a>, i++);
+
+ <span class="comment">/* Open the device */</span>
+ <span class="keywordflow">if</span> ( (fp = <a class="code" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live</a>(d-&gt;<a class="code" href="structpcap__if.html#a5ac083a645d964373f022d03df4849c8" title="a pointer to a string giving a name for the device to pass to pcap_open_live()">name</a>, 100, 1, 20, errbuf) ) == NULL)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;\nError opening adapter\n&quot;</span>);
+ <span class="keywordflow">return</span> -1;
+ }
+
+ <span class="comment">/* Free the device list */</span>
+ <a class="code" href="group__wpcapfunc.html#ga346b4b0b7fd1cda4abb9a39f767dbeb1" title="Free an interface list returned by pcap_findalldevs().">pcap_freealldevs</a>(alldevs);
+
+ <span class="comment">/* Start the dump */</span>
+ <span class="keywordflow">if</span>(<a class="code" href="group__wpcapfunc.html#gaedef54159d918b22a7de8e75b8a3ef4d" title="Save a capture to file.">pcap_live_dump</a>(fp, argv[1], atoi(argv[2]), atoi(argv[3]))==-1){
+ printf(<span class="stringliteral">&quot;Unable to start the dump, %s\n&quot;</span>, <a class="code" href="group__wpcapfunc.html#ga81305cb154e4497e95bbb9b708631a3a" title="return the error text pertaining to the last pcap library error.">pcap_geterr</a>(fp));
+ <span class="keywordflow">return</span> -1;
+ }
+ }
+ <span class="keywordflow">else</span>{
+
+ <span class="comment">/* Open the device */</span>
+ <span class="keywordflow">if</span> ( (fp= <a class="code" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live</a>(argv[1], 100, 1, 20, errbuf) ) == NULL)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;\nError opening adapter\n&quot;</span>);
+ <span class="keywordflow">return</span> -1;
+ }
+
+ <span class="comment">/* Start the dump */</span>
+ <span class="keywordflow">if</span>(<a class="code" href="group__wpcapfunc.html#gaedef54159d918b22a7de8e75b8a3ef4d" title="Save a capture to file.">pcap_live_dump</a>(fp, argv[0], atoi(argv[1]), atoi(argv[2]))==-1){
+ printf(<span class="stringliteral">&quot;Unable to start the dump, %s\n&quot;</span>, <a class="code" href="group__wpcapfunc.html#ga81305cb154e4497e95bbb9b708631a3a" title="return the error text pertaining to the last pcap library error.">pcap_geterr</a>(fp));
+ <span class="keywordflow">return</span> -1;
+ }
+ }
+
+ <span class="comment">/* Wait until the dump finishes, i.e. when max_size or max_packs is reached*/</span>
+ <a class="code" href="group__wpcapfunc.html#gafe8a334f3a7ae2dc7f52e96523da39be" title="Return the status of the kernel dump process, i.e. tells if one of the limits defined...">pcap_live_dump_ended</a>(fp, TRUE);
+
+ <span class="comment">/* Close the adapter, so that the file is correctly flushed */</span>
+ <a class="code" href="group__wpcapfunc.html#gaa45a5e1a4ba9925bb3586dcbeec78560" title="close the files associated with p and deallocates resources.">pcap_close</a>(fp);
+
+ <span class="keywordflow">return</span> 0;
+}
+</pre></div><p>The difference between <a class="el" href="group__wpcapfunc.html#gaedef54159d918b22a7de8e75b8a3ef4d" title="Save a capture to file.">pcap_live_dump()</a> and <a class="el" href="group__wpcapfunc.html#ga659439bf5aa3988b5a92d31990fbf437" title="Save a packet to disk.">pcap_dump()</a>, apart from the possibility to set limits, is performance. <a class="el" href="group__wpcapfunc.html#gaedef54159d918b22a7de8e75b8a3ef4d" title="Save a capture to file.">pcap_live_dump()</a> exploits the ability of the WinPcap NPF driver (see <a class="el" href="group__NPF.html">NPF driver internals manual</a>) to write dumps from kernel level, minimizing the number of context switches and memory copies.</p>
+<p>Obviously, since this feature is currently not available on other operating systems, <a class="el" href="group__wpcapfunc.html#gaedef54159d918b22a7de8e75b8a3ef4d" title="Save a capture to file.">pcap_live_dump()</a> is WinPcap specific and is present only under Win32.</p>
+<p><a class="el" href="group__wpcap__tut6.html">&lt;&lt;&lt; Previous</a> <a class="el" href="group__wpcap__tut8.html">Next &gt;&gt;&gt;</a> </p>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/group__wpcap__tut8.html b/3rdparty/winpcap/docs/html/group__wpcap__tut8.html
new file mode 100644
index 00000000000..7d0320bb3dc
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/group__wpcap__tut8.html
@@ -0,0 +1,292 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Sending Packets</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Sending Packets</h1><table border="0" cellpadding="0" cellspacing="0">
+</table>
+<p>Although the name <em>WinPcap</em> indicates clearly that the purpose of the library is packet capture, other useful features for raw networking are provided. Among them, the user can find a complete set of functions to send packets.</p>
+<p>Note that the original libpcap library at the moment doesn't provide any way to send packets, therefore all the functions shown here are WinPcap extensions and will not work under Unix.</p>
+<p><b>Sending a single packet with <a class="el" href="group__wpcapfunc.html#ga51dbda0f1ab9da2cfe49d657486d50b2" title="Send a raw packet.">pcap_sendpacket()</a></b></p>
+<p>The simplest way to send a packet is shown in the following code snippet. After opening an adapter, <a class="el" href="group__wpcapfunc.html#ga51dbda0f1ab9da2cfe49d657486d50b2" title="Send a raw packet.">pcap_sendpacket()</a> is called to send a hand-crafted packet. <a class="el" href="group__wpcapfunc.html#ga51dbda0f1ab9da2cfe49d657486d50b2" title="Send a raw packet.">pcap_sendpacket()</a> takes as arguments a buffer containing the data to send, the length of the buffer and the adapter that will send it. Notice that the buffer is sent to the net as is, without any manipulation. This means that the application has to create the correct protocol headers in order to send something meaningful.</p>
+<div class="fragment"><pre class="fragment"><span class="preprocessor">#include &lt;stdlib.h&gt;</span>
+<span class="preprocessor">#include &lt;stdio.h&gt;</span>
+
+<span class="preprocessor">#include &lt;pcap.h&gt;</span>
+
+
+<span class="keywordtype">void</span> main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv)
+{
+<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *fp;
+<span class="keywordtype">char</span> errbuf[<a class="code" href="group__wpcap__def.html#gacd448353957d92c98fccc29e1fc8d927" title="Size to use when allocating the buffer that contains the libpcap errors.">PCAP_ERRBUF_SIZE</a>];
+u_char packet[100];
+<span class="keywordtype">int</span> i;
+
+ <span class="comment">/* Check the validity of the command line */</span>
+ <span class="keywordflow">if</span> (argc != 2)
+ {
+ printf(<span class="stringliteral">&quot;usage: %s interface (e.g. &apos;rpcap://eth0&apos;)&quot;</span>, argv[0]);
+ <span class="keywordflow">return</span>;
+ }
+
+ <span class="comment">/* Open the output device */</span>
+ <span class="keywordflow">if</span> ( (fp= <a class="code" href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791" title="Open a generic source in order to capture / send (WinPcap only) traffic.">pcap_open</a>(argv[1], <span class="comment">// name of the device</span>
+ 100, <span class="comment">// portion of the packet to capture (only the first 100 bytes)</span>
+ <a class="code" href="group__remote__open__flags.html#ga9134ce51a9a6a7d497c3dee5affdc3b9" title="Defines if the adapter has to go in promiscuous mode.">PCAP_OPENFLAG_PROMISCUOUS</a>, <span class="comment">// promiscuous mode</span>
+ 1000, <span class="comment">// read timeout</span>
+ NULL, <span class="comment">// authentication on the remote machine</span>
+ errbuf <span class="comment">// error buffer</span>
+ ) ) == NULL)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;\nUnable to open the adapter. %s is not supported by WinPcap\n&quot;</span>, argv[1]);
+ <span class="keywordflow">return</span>;
+ }
+
+ <span class="comment">/* Supposing to be on ethernet, set mac destination to 1:1:1:1:1:1 */</span>
+ packet[0]=1;
+ packet[1]=1;
+ packet[2]=1;
+ packet[3]=1;
+ packet[4]=1;
+ packet[5]=1;
+
+ <span class="comment">/* set mac source to 2:2:2:2:2:2 */</span>
+ packet[6]=2;
+ packet[7]=2;
+ packet[8]=2;
+ packet[9]=2;
+ packet[10]=2;
+ packet[11]=2;
+
+ <span class="comment">/* Fill the rest of the packet */</span>
+ <span class="keywordflow">for</span>(i=12;i&lt;100;i++)
+ {
+ packet[i]=(u_char)i;
+ }
+
+ <span class="comment">/* Send down the packet */</span>
+ <span class="keywordflow">if</span> (<a class="code" href="group__wpcapfunc.html#ga51dbda0f1ab9da2cfe49d657486d50b2" title="Send a raw packet.">pcap_sendpacket</a>(fp, packet, 100 <span class="comment">/* size */</span>) != 0)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;\nError sending the packet: %s\n&quot;</span>, <a class="code" href="group__wpcapfunc.html#ga81305cb154e4497e95bbb9b708631a3a" title="return the error text pertaining to the last pcap library error.">pcap_geterr</a>(fp));
+ <span class="keywordflow">return</span>;
+ }
+
+ <span class="keywordflow">return</span>;
+}
+</pre></div><p><b>Send queues</b></p>
+<p>While <a class="el" href="group__wpcapfunc.html#ga51dbda0f1ab9da2cfe49d657486d50b2" title="Send a raw packet.">pcap_sendpacket()</a> offers a simple and immediate way to send a single packet, <b> send queues </b> provides an advanced, powerful and optimized mechanism to send a collection of packets. A send queue is a container for a variable number of packets that will be sent to the network. It has a size, that represents the maximum amount of bytes it can store.</p>
+<p>A send queue is created calling the <a class="el" href="group__wpcapfunc.html#gab940e69631b7cc7f2232a69ea02b86d9" title="Allocate a send queue.">pcap_sendqueue_alloc()</a> function, specifying the size of the new send queue.</p>
+<p>Once the send queue is created, <a class="el" href="group__wpcapfunc.html#ga4c57ea320d71dbfe55c5665af9db1297" title="Add a packet to a send queue.">pcap_sendqueue_queue()</a> can be used to add a packet to the send queue. This function takes a <a class="el" href="structpcap__pkthdr.html" title="Header of a packet in the dump file.">pcap_pkthdr</a> with the timestamp and the length and a buffer with the data of the packet. These parameters are the same as those received by <a class="el" href="group__wpcapfunc.html#ga439439c2eae61161dc1efb1e03a81133" title="Read a packet from an interface or from an offline capture.">pcap_next_ex()</a> and <a class="el" href="group__wpcapfunc.html#gabcba231c099919ecd9300d7160b19878" title="Prototype of the callback function that receives the packets.">pcap_handler()</a>, therefore queuing a packet that was just captured or read from a file is a matter of passing these parameters to <a class="el" href="group__wpcapfunc.html#ga4c57ea320d71dbfe55c5665af9db1297" title="Add a packet to a send queue.">pcap_sendqueue_queue()</a>.</p>
+<p>To transmit a send queue, WinPcap provides the <a class="el" href="group__wpcapfunc.html#gaa4d55eb047a1cccc0e28397ce04ee097" title="Send a queue of raw packets to the network.">pcap_sendqueue_transmit()</a> function. Note the third parameter: if nonzero, the send will be <em>synchronized</em>, i.e. the relative timestamps of the packets will be respected. This operation requires a remarkable amount of CPU, because the synchronization takes place in the kernel driver using "busy wait" loops. Although this operation is quite CPU intensive, it often results in very high precision packet transmissions (often around few microseconds or less).</p>
+<p>Note that transmitting a send queue with <a class="el" href="group__wpcapfunc.html#gaa4d55eb047a1cccc0e28397ce04ee097" title="Send a queue of raw packets to the network.">pcap_sendqueue_transmit()</a> is much more efficient than performing a series of <a class="el" href="group__wpcapfunc.html#ga51dbda0f1ab9da2cfe49d657486d50b2" title="Send a raw packet.">pcap_sendpacket()</a>, because the send queue is buffered at kernel level drastically decreasing the number of context switches.</p>
+<p>When a queue is no longer needed, it can be deleted with <a class="el" href="group__wpcapfunc.html#ga72624f7a9932cc2124abf661001e0aa4" title="Destroy a send queue.">pcap_sendqueue_destroy()</a> that frees all the buffers associated with the send queue.</p>
+<p>The next program shows how to use send queues. It opens a capture file with <a class="el" href="group__wpcapfunc.html#ga91078168a13de8848df2b7b83d1f5b69" title="Open a savefile in the tcpdump/libpcap format to read packets.">pcap_open_offline()</a>, then it moves the packets from the file to a properly allocated send queue. At his point it transmits the queue, synchronizing it if requested by the user.</p>
+<p>Note that the link-layer of the dumpfile is compared with the one of the interface that will send the packets using <a class="el" href="group__wpcapfunc.html#ga64c019f851f7da6892d51cca15f12ace" title="Return the link layer of an adapter.">pcap_datalink()</a>, and a warning is printed if they are different -- it is important that the capture-file link-layer be the same as the adapter's link layer for otherwise the tranmission is pointless.</p>
+<div class="fragment"><pre class="fragment"><span class="comment">/*</span>
+<span class="comment"> * Copyright (c) 1999 - 2005 NetGroup, Politecnico di Torino (Italy)</span>
+<span class="comment"> * Copyright (c) 2005 - 2006 CACE Technologies, Davis (California)</span>
+<span class="comment"> * All rights reserved.</span>
+<span class="comment"> *</span>
+<span class="comment"> * Redistribution and use in source and binary forms, with or without</span>
+<span class="comment"> * modification, are permitted provided that the following conditions</span>
+<span class="comment"> * are met:</span>
+<span class="comment"> *</span>
+<span class="comment"> * 1. Redistributions of source code must retain the above copyright</span>
+<span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
+<span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright</span>
+<span class="comment"> * notice, this list of conditions and the following disclaimer in the</span>
+<span class="comment"> * documentation and/or other materials provided with the distribution.</span>
+<span class="comment"> * 3. Neither the name of the Politecnico di Torino, CACE Technologies </span>
+<span class="comment"> * nor the names of its contributors may be used to endorse or promote </span>
+<span class="comment"> * products derived from this software without specific prior written </span>
+<span class="comment"> * permission.</span>
+<span class="comment"> *</span>
+<span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
+<span class="comment"> * &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
+<span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
+<span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
+<span class="comment"> * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
+<span class="comment"> * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
+<span class="comment"> * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
+<span class="comment"> * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
+<span class="comment"> * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
+<span class="comment"> * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
+<span class="comment"> * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
+<span class="comment"> *</span>
+<span class="comment"> */</span>
+
+<span class="preprocessor">#include &lt;stdlib.h&gt;</span>
+<span class="preprocessor">#include &lt;stdio.h&gt;</span>
+
+<span class="preprocessor">#include &lt;pcap.h&gt;</span>
+
+<span class="keywordtype">void</span> usage();
+
+<span class="keywordtype">void</span> main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv)
+{
+ <a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *indesc,*outdesc;
+ <span class="keywordtype">char</span> errbuf[<a class="code" href="group__wpcap__def.html#gacd448353957d92c98fccc29e1fc8d927" title="Size to use when allocating the buffer that contains the libpcap errors.">PCAP_ERRBUF_SIZE</a>];
+ <span class="keywordtype">char</span> source[<a class="code" href="group__remote__struct.html#gacacb155b596f7511f714de129ae32c97" title="Defines the maximum buffer size in which address, port, interface names are kept...">PCAP_BUF_SIZE</a>];
+ FILE *capfile;
+ <span class="keywordtype">int</span> <a class="code" href="structpcap__pkthdr.html#aac5771ed2efd92508bb4fe650f2ce7d7" title="length of portion present">caplen</a>, sync;
+ u_int res;
+ <a class="code" href="structpcap__send__queue.html" title="A queue of raw packets that will be sent to the network with pcap_sendqueue_transmit()...">pcap_send_queue</a> *squeue;
+ <span class="keyword">struct </span><a class="code" href="structpcap__pkthdr.html" title="Header of a packet in the dump file.">pcap_pkthdr</a> *pktheader;
+ u_char *pktdata;
+ <span class="keywordtype">float</span> cpu_time;
+ u_int npacks = 0;
+ errno_t fopen_error;
+
+ <span class="comment">/* Check the validity of the command line */</span>
+ <span class="keywordflow">if</span> (argc &lt;= 2 || argc &gt;= 5)
+ {
+ usage();
+ <span class="keywordflow">return</span>;
+ }
+
+ <span class="comment">/* Retrieve the length of the capture file */</span>
+ fopen_error = fopen_s(&amp;capfile, argv[1],<span class="stringliteral">&quot;rb&quot;</span>);
+ <span class="keywordflow">if</span>(fopen_error != 0){
+ printf(<span class="stringliteral">&quot;Error opening the file, errno %d.\n&quot;</span>, fopen_error);
+ <span class="keywordflow">return</span>;
+ }
+
+ fseek(capfile , 0, SEEK_END);
+ caplen= ftell(capfile)- <span class="keyword">sizeof</span>(<span class="keyword">struct </span><a class="code" href="structpcap__file__header.html" title="Header of a libpcap dump file.">pcap_file_header</a>);
+ fclose(capfile);
+
+ <span class="comment">/* Chek if the timestamps must be respected */</span>
+ <span class="keywordflow">if</span>(argc == 4 &amp;&amp; argv[3][0] == <span class="charliteral">&apos;s&apos;</span>)
+ sync = TRUE;
+ <span class="keywordflow">else</span>
+ sync = FALSE;
+
+ <span class="comment">/* Open the capture */</span>
+ <span class="comment">/* Create the source string according to the new WinPcap syntax */</span>
+ <span class="keywordflow">if</span> ( <a class="code" href="group__wpcapfunc.html#gaa3111e10f930a9772a32a922b26948b0" title="Accept a set of strings (host name, port, ...), and it returns the complete source...">pcap_createsrcstr</a>( source, <span class="comment">// variable that will keep the source string</span>
+ <a class="code" href="group__remote__source__ID.html#ga9188ad0fc0d12fc51d1e9f5e78bf9440" title="Internal representation of the type of source in use (file, remote/local interface)...">PCAP_SRC_FILE</a>, <span class="comment">// we want to open a file</span>
+ NULL, <span class="comment">// remote host</span>
+ NULL, <span class="comment">// port on the remote host</span>
+ argv[1], <span class="comment">// name of the file we want to open</span>
+ errbuf <span class="comment">// error buffer</span>
+ ) != 0)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;\nError creating a source string\n&quot;</span>);
+ <span class="keywordflow">return</span>;
+ }
+
+ <span class="comment">/* Open the capture file */</span>
+ <span class="keywordflow">if</span> ( (indesc= <a class="code" href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791" title="Open a generic source in order to capture / send (WinPcap only) traffic.">pcap_open</a>(source, 65536, <a class="code" href="group__remote__open__flags.html#ga9134ce51a9a6a7d497c3dee5affdc3b9" title="Defines if the adapter has to go in promiscuous mode.">PCAP_OPENFLAG_PROMISCUOUS</a>, 1000, NULL, errbuf) ) == NULL)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;\nUnable to open the file %s.\n&quot;</span>, source);
+ <span class="keywordflow">return</span>;
+ }
+
+ <span class="comment">/* Open the output adapter */</span>
+ <span class="keywordflow">if</span> ( (outdesc= <a class="code" href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791" title="Open a generic source in order to capture / send (WinPcap only) traffic.">pcap_open</a>(argv[2], 100, <a class="code" href="group__remote__open__flags.html#ga9134ce51a9a6a7d497c3dee5affdc3b9" title="Defines if the adapter has to go in promiscuous mode.">PCAP_OPENFLAG_PROMISCUOUS</a>, 1000, NULL, errbuf) ) == NULL)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;\nUnable to open adapter %s.\n&quot;</span>, source);
+ <span class="keywordflow">return</span>;
+ }
+
+ <span class="comment">/* Check the MAC type */</span>
+ <span class="keywordflow">if</span> (<a class="code" href="group__wpcapfunc.html#ga64c019f851f7da6892d51cca15f12ace" title="Return the link layer of an adapter.">pcap_datalink</a>(indesc) != <a class="code" href="group__wpcapfunc.html#ga64c019f851f7da6892d51cca15f12ace" title="Return the link layer of an adapter.">pcap_datalink</a>(outdesc))
+ {
+ printf(<span class="stringliteral">&quot;Warning: the datalink of the capture differs from the one of the selected interface.\n&quot;</span>);
+ printf(<span class="stringliteral">&quot;Press a key to continue, or CTRL+C to stop.\n&quot;</span>);
+ getchar();
+ }
+
+ <span class="comment">/* Allocate a send queue */</span>
+ squeue = <a class="code" href="group__wpcapfunc.html#gab940e69631b7cc7f2232a69ea02b86d9" title="Allocate a send queue.">pcap_sendqueue_alloc</a>(caplen);
+
+ <span class="comment">/* Fill the queue with the packets from the file */</span>
+ <span class="keywordflow">while</span> ((res = <a class="code" href="group__wpcapfunc.html#ga439439c2eae61161dc1efb1e03a81133" title="Read a packet from an interface or from an offline capture.">pcap_next_ex</a>( indesc, &amp;pktheader, &amp;pktdata)) == 1)
+ {
+ <span class="keywordflow">if</span> (<a class="code" href="group__wpcapfunc.html#ga4c57ea320d71dbfe55c5665af9db1297" title="Add a packet to a send queue.">pcap_sendqueue_queue</a>(squeue, pktheader, pktdata) == -1)
+ {
+ printf(<span class="stringliteral">&quot;Warning: packet buffer too small, not all the packets will be sent.\n&quot;</span>);
+ <span class="keywordflow">break</span>;
+ }
+
+ npacks++;
+ }
+
+ <span class="keywordflow">if</span> (res == -1)
+ {
+ printf(<span class="stringliteral">&quot;Corrupted input file.\n&quot;</span>);
+ <a class="code" href="group__wpcapfunc.html#ga72624f7a9932cc2124abf661001e0aa4" title="Destroy a send queue.">pcap_sendqueue_destroy</a>(squeue);
+ <span class="keywordflow">return</span>;
+ }
+
+ <span class="comment">/* Transmit the queue */</span>
+
+ cpu_time = (float)clock ();
+
+ <span class="keywordflow">if</span> ((res = <a class="code" href="group__wpcapfunc.html#gaa4d55eb047a1cccc0e28397ce04ee097" title="Send a queue of raw packets to the network.">pcap_sendqueue_transmit</a>(outdesc, squeue, sync)) &lt; squeue-&gt;<a class="code" href="structpcap__send__queue.html#ab4853420730b2b590cd3ad0e72fa80ca" title="Current size of the queue, in bytes.">len</a>)
+ {
+ printf(<span class="stringliteral">&quot;An error occurred sending the packets: %s. Only %d bytes were sent\n&quot;</span>, <a class="code" href="group__wpcapfunc.html#ga81305cb154e4497e95bbb9b708631a3a" title="return the error text pertaining to the last pcap library error.">pcap_geterr</a>(outdesc), res);
+ }
+
+ cpu_time = (clock() - cpu_time)/CLK_TCK;
+
+ printf (<span class="stringliteral">&quot;\n\nElapsed time: %5.3f\n&quot;</span>, cpu_time);
+ printf (<span class="stringliteral">&quot;\nTotal packets generated = %d&quot;</span>, npacks);
+ printf (<span class="stringliteral">&quot;\nAverage packets per second = %d&quot;</span>, (<span class="keywordtype">int</span>)((<span class="keywordtype">double</span>)npacks/cpu_time));
+ printf (<span class="stringliteral">&quot;\n&quot;</span>);
+
+ <span class="comment">/* free the send queue */</span>
+ <a class="code" href="group__wpcapfunc.html#ga72624f7a9932cc2124abf661001e0aa4" title="Destroy a send queue.">pcap_sendqueue_destroy</a>(squeue);
+
+ <span class="comment">/* Close the input file */</span>
+ <a class="code" href="group__wpcapfunc.html#gaa45a5e1a4ba9925bb3586dcbeec78560" title="close the files associated with p and deallocates resources.">pcap_close</a>(indesc);
+
+ <span class="comment">/* </span>
+<span class="comment"> * lose the output adapter </span>
+<span class="comment"> * IMPORTANT: remember to close the adapter, otherwise there will be no guarantee that all the </span>
+<span class="comment"> * packets will be sent!</span>
+<span class="comment"> */</span>
+ <a class="code" href="group__wpcapfunc.html#gaa45a5e1a4ba9925bb3586dcbeec78560" title="close the files associated with p and deallocates resources.">pcap_close</a>(outdesc);
+
+
+ <span class="keywordflow">return</span>;
+}
+
+
+<span class="keywordtype">void</span> usage()
+{
+
+ printf(<span class="stringliteral">&quot;\nSendcap, sends a libpcap/tcpdump capture file to the net. Copyright (C) 2002 Loris Degioanni.\n&quot;</span>);
+ printf(<span class="stringliteral">&quot;\nUsage:\n&quot;</span>);
+ printf(<span class="stringliteral">&quot;\t sendcap file_name adapter [s]\n&quot;</span>);
+ printf(<span class="stringliteral">&quot;\nParameters:\n&quot;</span>);
+ printf(<span class="stringliteral">&quot;\nfile_name: the name of the dump file that will be sent to the network\n&quot;</span>);
+ printf(<span class="stringliteral">&quot;\nadapter: the device to use. Use \&quot;WinDump -D\&quot; for a list of valid devices\n&quot;</span>);
+ printf(<span class="stringliteral">&quot;\ns: if present, forces the packets to be sent synchronously, i.e. respecting the timestamps in the dump file. This option will work only under Windows NTx.\n\n&quot;</span>);
+
+ exit(0);
+}
+</pre></div><p><a class="el" href="group__wpcap__tut7.html">&lt;&lt;&lt; Previous</a> <a class="el" href="group__wpcap__tut9.html">Next &gt;&gt;&gt;</a> </p>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/group__wpcap__tut9.html b/3rdparty/winpcap/docs/html/group__wpcap__tut9.html
new file mode 100644
index 00000000000..2bbceef9f79
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/group__wpcap__tut9.html
@@ -0,0 +1,206 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Gathering Statistics on the network traffic</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Gathering Statistics on the network traffic</h1><table border="0" cellpadding="0" cellspacing="0">
+</table>
+<p>This lesson shows another advanced feature of WinPcap: the ability to collect statistics about network traffic. The statistical engine makes use of the kernel-level packet filter to efficiently classify the incoming packet. You can take a look at the <a class="el" href="group__NPF.html">NPF driver internals manual</a> if you want to know more details.</p>
+<p>In order to use this feature, the programmer must open an adapter and put it in <em>statistical</em> <em>mode</em>. This can be done with <a class="el" href="group__wpcapfunc.html#gaef07ef49d3c75644f3fd34518e2fe720" title="Set the working mode of the interface p to mode.">pcap_setmode()</a>. In particular, MODE_STAT must be used as the <em>mode</em> argument of this function.</p>
+<p>With statistical mode, making an application that monitors the TCP traffic load is a matter of few lines of code. The following sample shows how to do it.</p>
+<div class="fragment"><pre class="fragment"><span class="comment">/*</span>
+<span class="comment"> * Copyright (c) 1999 - 2005 NetGroup, Politecnico di Torino (Italy)</span>
+<span class="comment"> * Copyright (c) 2005 - 2006 CACE Technologies, Davis (California)</span>
+<span class="comment"> * All rights reserved.</span>
+<span class="comment"> *</span>
+<span class="comment"> * Redistribution and use in source and binary forms, with or without</span>
+<span class="comment"> * modification, are permitted provided that the following conditions</span>
+<span class="comment"> * are met:</span>
+<span class="comment"> *</span>
+<span class="comment"> * 1. Redistributions of source code must retain the above copyright</span>
+<span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
+<span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright</span>
+<span class="comment"> * notice, this list of conditions and the following disclaimer in the</span>
+<span class="comment"> * documentation and/or other materials provided with the distribution.</span>
+<span class="comment"> * 3. Neither the name of the Politecnico di Torino, CACE Technologies </span>
+<span class="comment"> * nor the names of its contributors may be used to endorse or promote </span>
+<span class="comment"> * products derived from this software without specific prior written </span>
+<span class="comment"> * permission.</span>
+<span class="comment"> *</span>
+<span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
+<span class="comment"> * &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
+<span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
+<span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
+<span class="comment"> * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
+<span class="comment"> * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
+<span class="comment"> * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
+<span class="comment"> * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
+<span class="comment"> * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
+<span class="comment"> * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
+<span class="comment"> * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
+<span class="comment"> *</span>
+<span class="comment"> */</span>
+
+<span class="preprocessor">#include &lt;stdlib.h&gt;</span>
+<span class="preprocessor">#include &lt;stdio.h&gt;</span>
+
+<span class="preprocessor">#include &lt;pcap.h&gt;</span>
+
+<span class="keywordtype">void</span> usage();
+
+<span class="keywordtype">void</span> dispatcher_handler(u_char *, <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structpcap__pkthdr.html" title="Header of a packet in the dump file.">pcap_pkthdr</a> *, <span class="keyword">const</span> u_char *);
+
+
+<span class="keywordtype">void</span> main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv)
+{
+<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *fp;
+<span class="keywordtype">char</span> errbuf[<a class="code" href="group__wpcap__def.html#gacd448353957d92c98fccc29e1fc8d927" title="Size to use when allocating the buffer that contains the libpcap errors.">PCAP_ERRBUF_SIZE</a>];
+<span class="keyword">struct </span>timeval st_ts;
+u_int netmask;
+<span class="keyword">struct </span>bpf_program fcode;
+
+ <span class="comment">/* Check the validity of the command line */</span>
+ <span class="keywordflow">if</span> (argc != 2)
+ {
+ usage();
+ <span class="keywordflow">return</span>;
+ }
+
+ <span class="comment">/* Open the output adapter */</span>
+ <span class="keywordflow">if</span> ( (fp= <a class="code" href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791" title="Open a generic source in order to capture / send (WinPcap only) traffic.">pcap_open</a>(argv[1], 100, <a class="code" href="group__remote__open__flags.html#ga9134ce51a9a6a7d497c3dee5affdc3b9" title="Defines if the adapter has to go in promiscuous mode.">PCAP_OPENFLAG_PROMISCUOUS</a>, 1000, NULL, errbuf) ) == NULL)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;\nUnable to open adapter %s.\n&quot;</span>, errbuf);
+ <span class="keywordflow">return</span>;
+ }
+
+ <span class="comment">/* Don&apos;t care about netmask, it won&apos;t be used for this filter */</span>
+ netmask=0xffffff;
+
+ <span class="comment">//compile the filter</span>
+ <span class="keywordflow">if</span> (<a class="code" href="group__wpcapfunc.html#ga363bdc6f6b39b4979ddcf15ecb830c5c" title="Compile a packet filter, converting an high level filtering expression (see Filtering...">pcap_compile</a>(fp, &amp;fcode, <span class="stringliteral">&quot;tcp&quot;</span>, 1, netmask) &lt;0 )
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;\nUnable to compile the packet filter. Check the syntax.\n&quot;</span>);
+ <span class="comment">/* Free the device list */</span>
+ <span class="keywordflow">return</span>;
+ }
+
+ <span class="comment">//set the filter</span>
+ <span class="keywordflow">if</span> (<a class="code" href="group__wpcapfunc.html#gaf5f9cfe85dad0967ff607e5159b1ba61" title="Associate a filter to a capture.">pcap_setfilter</a>(fp, &amp;fcode)&lt;0)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;\nError setting the filter.\n&quot;</span>);
+ <a class="code" href="group__wpcapfunc.html#gaa45a5e1a4ba9925bb3586dcbeec78560" title="close the files associated with p and deallocates resources.">pcap_close</a>(fp);
+ <span class="comment">/* Free the device list */</span>
+ <span class="keywordflow">return</span>;
+ }
+
+ <span class="comment">/* Put the interface in statstics mode */</span>
+ <span class="keywordflow">if</span> (<a class="code" href="group__wpcapfunc.html#gaef07ef49d3c75644f3fd34518e2fe720" title="Set the working mode of the interface p to mode.">pcap_setmode</a>(fp, <a class="code" href="group__NPF__include.html#ga503326906a62e96c147ae6af31fb5659" title="Statistical working mode.">MODE_STAT</a>)&lt;0)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;\nError setting the mode.\n&quot;</span>);
+ <a class="code" href="group__wpcapfunc.html#gaa45a5e1a4ba9925bb3586dcbeec78560" title="close the files associated with p and deallocates resources.">pcap_close</a>(fp);
+ <span class="comment">/* Free the device list */</span>
+ <span class="keywordflow">return</span>;
+ }
+
+
+ printf(<span class="stringliteral">&quot;TCP traffic summary:\n&quot;</span>);
+
+ <span class="comment">/* Start the main loop */</span>
+ <a class="code" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de" title="Collect a group of packets.">pcap_loop</a>(fp, 0, dispatcher_handler, (PUCHAR)&amp;st_ts);
+
+ <a class="code" href="group__wpcapfunc.html#gaa45a5e1a4ba9925bb3586dcbeec78560" title="close the files associated with p and deallocates resources.">pcap_close</a>(fp);
+ <span class="keywordflow">return</span>;
+}
+
+<span class="keywordtype">void</span> dispatcher_handler(u_char *state, <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structpcap__pkthdr.html" title="Header of a packet in the dump file.">pcap_pkthdr</a> *header, <span class="keyword">const</span> u_char *pkt_data)
+{
+ <span class="keyword">struct </span>timeval *old_ts = (<span class="keyword">struct </span>timeval *)state;
+ u_int delay;
+ LARGE_INTEGER Bps,Pps;
+ <span class="keyword">struct </span>tm ltime;
+ <span class="keywordtype">char</span> timestr[16];
+ time_t local_tv_sec;
+
+ <span class="comment">/* Calculate the delay in microseconds from the last sample. */</span>
+ <span class="comment">/* This value is obtained from the timestamp that the associated with the sample. */</span>
+ delay=(header-&gt;<a class="code" href="structpcap__pkthdr.html#a21be78b2818c91cb205885b8a6f5aed8" title="time stamp">ts</a>.tv_sec - old_ts-&gt;tv_sec) * 1000000 - old_ts-&gt;tv_usec + header-&gt;<a class="code" href="structpcap__pkthdr.html#a21be78b2818c91cb205885b8a6f5aed8" title="time stamp">ts</a>.tv_usec;
+ <span class="comment">/* Get the number of Bits per second */</span>
+ Bps.QuadPart=(((*(LONGLONG*)(pkt_data + 8)) * 8 * 1000000) / (delay));
+ <span class="comment">/* ^ ^</span>
+<span class="comment"> | |</span>
+<span class="comment"> | | </span>
+<span class="comment"> | |</span>
+<span class="comment"> converts bytes in bits -- |</span>
+<span class="comment"> |</span>
+<span class="comment"> delay is expressed in microseconds --</span>
+<span class="comment"> */</span>
+
+ <span class="comment">/* Get the number of Packets per second */</span>
+ Pps.QuadPart=(((*(LONGLONG*)(pkt_data)) * 1000000) / (delay));
+
+ <span class="comment">/* Convert the timestamp to readable format */</span>
+ local_tv_sec = header-&gt;<a class="code" href="structpcap__pkthdr.html#a21be78b2818c91cb205885b8a6f5aed8" title="time stamp">ts</a>.tv_sec;
+ localtime_s(&amp;ltime, &amp;local_tv_sec);
+ strftime( timestr, <span class="keyword">sizeof</span> timestr, <span class="stringliteral">&quot;%H:%M:%S&quot;</span>, &amp;ltime);
+
+ <span class="comment">/* Print timestamp*/</span>
+ printf(<span class="stringliteral">&quot;%s &quot;</span>, timestr);
+
+ <span class="comment">/* Print the samples */</span>
+ printf(<span class="stringliteral">&quot;BPS=%I64u &quot;</span>, Bps.QuadPart);
+ printf(<span class="stringliteral">&quot;PPS=%I64u\n&quot;</span>, Pps.QuadPart);
+
+ <span class="comment">//store current timestamp</span>
+ old_ts-&gt;tv_sec=header-&gt;<a class="code" href="structpcap__pkthdr.html#a21be78b2818c91cb205885b8a6f5aed8" title="time stamp">ts</a>.tv_sec;
+ old_ts-&gt;tv_usec=header-&gt;<a class="code" href="structpcap__pkthdr.html#a21be78b2818c91cb205885b8a6f5aed8" title="time stamp">ts</a>.tv_usec;
+}
+
+
+<span class="keywordtype">void</span> usage()
+{
+
+ printf(<span class="stringliteral">&quot;\nShows the TCP traffic load, in bits per second and packets per second.\nCopyright (C) 2002 Loris Degioanni.\n&quot;</span>);
+ printf(<span class="stringliteral">&quot;\nUsage:\n&quot;</span>);
+ printf(<span class="stringliteral">&quot;\t tcptop adapter\n&quot;</span>);
+ printf(<span class="stringliteral">&quot;\t You can use \&quot;WinDump -D\&quot; if you don&apos;t know the name of your adapters.\n&quot;</span>);
+
+ exit(0);
+}
+</pre></div><p>Before enabling statistical mode, the user has the option to set a filter that defines the subset of network traffic that will be monitored. See the paragraph on the <a class="el" href="group__language.html">Filtering expression syntax</a> for details. If no filter has been set, all of the traffic will be monitored.</p>
+<p>Once</p>
+<ul>
+<li>the filter is set</li>
+<li><a class="el" href="group__wpcapfunc.html#gaef07ef49d3c75644f3fd34518e2fe720" title="Set the working mode of the interface p to mode.">pcap_setmode()</a> is called</li>
+<li>callback invocation is enabled with <a class="el" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de" title="Collect a group of packets.">pcap_loop()</a></li>
+</ul>
+<p>the interface descriptor starts to work in statistical mode. Notice the fourth parameter (<em>to_ms</em>) of <a class="el" href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791" title="Open a generic source in order to capture / send (WinPcap only) traffic.">pcap_open()</a>: it defines the interval among the statistical samples. The callback function receives the samples calculated by the driver every <em>to_ms</em> milliseconds. These samples are encapsulated in the second and third parameters of the callback function, as shown in the following figure:</p>
+<div align="center">
+<img src="stats_wpcap.gif" alt="stats_wpcap.gif"/>
+</div>
+<p>Two 64-bit counters are provided: the number of packets and the amount of bytes received during the last interval.</p>
+<p>In the example, the adapter is opened with a timeout of 1000 ms. This means that dispatcher_handler() is called once per second. At this point a filter that keeps only tcp packets is compiled and set. Then <a class="el" href="group__wpcapfunc.html#gaef07ef49d3c75644f3fd34518e2fe720" title="Set the working mode of the interface p to mode.">pcap_setmode()</a> and <a class="el" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de" title="Collect a group of packets.">pcap_loop()</a> are called. Note that a struct timeval pointer is passed to <a class="el" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de" title="Collect a group of packets.">pcap_loop()</a> as the <em>user</em> parameter. This structure will be used to store a timestamp in order to calculate the interval between two samples. dispatcher_handler()uses this interval to obtain the bits per second and the packets per second and then prints these values on the screen.</p>
+<p>Note finally that this example is by far more efficient than a program that captures the packets in the traditional way and calculates statistics at user-level. Statistical mode requires the minumum amount of data copies and context switches and therefore the CPU is optimized. Moreover, a very small amount of memory is required.</p>
+<p><a class="el" href="group__wpcap__tut8.html">&lt;&lt;&lt; Previous</a> </p>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/group__wpcapfunc.html b/3rdparty/winpcap/docs/html/group__wpcapfunc.html
new file mode 100644
index 00000000000..64f577f41d2
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/group__wpcapfunc.html
@@ -0,0 +1,2452 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Exported functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Exported functions<br/>
+<small>
+[<a class="el" href="group__wpcap.html">WinPcap user's manual</a>]</small>
+</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Unix-compatible Functions</h2></td></tr>
+<tr><td colspan="2"><p><a class="anchor" id="amgrp66235da55168274536ca96ecc6470bf6"></a> These functions are part of the libpcap library, and therefore work both on Windows and on Linux. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd>errbuf in <a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a>, <a class="el" href="group__wpcapfunc.html#ga6445eeb76f2757b9fa088b276eea2845" title="Create a pcap_t structure without starting a capture.">pcap_open_dead()</a>, <a class="el" href="group__wpcapfunc.html#ga91078168a13de8848df2b7b83d1f5b69" title="Open a savefile in the tcpdump/libpcap format to read packets.">pcap_open_offline()</a>, <a class="el" href="group__wpcapfunc.html#ga3f212141c80b59aad8ac535bb0178275" title="Switch between blocking and nonblocking mode.">pcap_setnonblock()</a>, <a class="el" href="group__wpcapfunc.html#gab25dc0bfe06545b86be4103bf010708e" title="Get the &quot;non-blocking&quot; state of an interface.">pcap_getnonblock()</a>, <a class="el" href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d" title="Construct a list of network devices that can be opened with pcap_open_live().">pcap_findalldevs()</a>, <a class="el" href="group__wpcapfunc.html#gaed295fc9fd86434372e8a8316f1270b1" title="Return the first valid device in the system.">pcap_lookupdev()</a>, and <a class="el" href="group__wpcapfunc.html#gaa35276d0fa530c51a455f298fa1ec453" title="Return the subnet and netmask of an interface.">pcap_lookupnet()</a> is assumed to be able to hold at least PCAP_ERRBUF_SIZE chars. </dd></dl>
+<br/><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gabcba231c099919ecd9300d7160b19878">pcap_handler</a> )(u_char *user, const struct <a class="el" href="structpcap__pkthdr.html">pcap_pkthdr</a> *pkt_header, const u_char *pkt_data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prototype of the callback function that receives the packets. <a href="#gabcba231c099919ecd9300d7160b19878"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8">pcap_open_live</a> (const char *device, int snaplen, int promisc, int to_ms, char *ebuf)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Open a live capture from the network. <a href="#gaae6abe06e15c87b803f69773822beca8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga6445eeb76f2757b9fa088b276eea2845">pcap_open_dead</a> (int linktype, int snaplen)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a pcap_t structure without starting a capture. <a href="#ga6445eeb76f2757b9fa088b276eea2845"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga91078168a13de8848df2b7b83d1f5b69">pcap_open_offline</a> (const char *fname, char *errbuf)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Open a savefile in the tcpdump/libpcap format to read packets. <a href="#ga91078168a13de8848df2b7b83d1f5b69"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__wpcap__def.html#gab8c7858aa3a7e3158d9d58cb113a2ae8">pcap_dumper_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga9506c33d580fdb5e5c288dba0f8a085c">pcap_dump_open</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, const char *fname)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Open a file to write packets. <a href="#ga9506c33d580fdb5e5c288dba0f8a085c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga3f212141c80b59aad8ac535bb0178275">pcap_setnonblock</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, int nonblock, char *errbuf)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Switch between blocking and nonblocking mode. <a href="#ga3f212141c80b59aad8ac535bb0178275"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gab25dc0bfe06545b86be4103bf010708e">pcap_getnonblock</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, char *errbuf)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the "non-blocking" state of an interface. <a href="#gab25dc0bfe06545b86be4103bf010708e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d">pcap_findalldevs</a> (<a class="el" href="structpcap__if.html">pcap_if_t</a> **alldevsp, char *errbuf)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct a list of network devices that can be opened with <a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a>. <a href="#ga7b128eaeef627b408f6a6e2a2f5eb45d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga346b4b0b7fd1cda4abb9a39f767dbeb1">pcap_freealldevs</a> (<a class="el" href="structpcap__if.html">pcap_if_t</a> *alldevsp)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free an interface list returned by <a class="el" href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d" title="Construct a list of network devices that can be opened with pcap_open_live().">pcap_findalldevs()</a>. <a href="#ga346b4b0b7fd1cda4abb9a39f767dbeb1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gaed295fc9fd86434372e8a8316f1270b1">pcap_lookupdev</a> (char *errbuf)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the first valid device in the system. <a href="#gaed295fc9fd86434372e8a8316f1270b1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gaa35276d0fa530c51a455f298fa1ec453">pcap_lookupnet</a> (const char *device, <a class="el" href="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482">bpf_u_int32</a> *netp, <a class="el" href="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482">bpf_u_int32</a> *maskp, char *errbuf)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the subnet and netmask of an interface. <a href="#gaa35276d0fa530c51a455f298fa1ec453"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c">pcap_dispatch</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, int cnt, <a class="el" href="group__wpcapfunc.html#gabcba231c099919ecd9300d7160b19878">pcap_handler</a> callback, u_char *user)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Collect a group of packets. <a href="#ga60ce104cdf28420d3361cd36d15be44c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de">pcap_loop</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, int cnt, <a class="el" href="group__wpcapfunc.html#gabcba231c099919ecd9300d7160b19878">pcap_handler</a> callback, u_char *user)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Collect a group of packets. <a href="#ga6bcb7c5c59d76ec16b8a699da136b5de"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">u_char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gadf60257f650aaf869671e0a163611fc3">pcap_next</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, struct <a class="el" href="structpcap__pkthdr.html">pcap_pkthdr</a> *h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the next available packet. <a href="#gadf60257f650aaf869671e0a163611fc3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga439439c2eae61161dc1efb1e03a81133">pcap_next_ex</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, struct <a class="el" href="structpcap__pkthdr.html">pcap_pkthdr</a> **pkt_header, const u_char **pkt_data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read a packet from an interface or from an offline capture. <a href="#ga439439c2eae61161dc1efb1e03a81133"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gae0dc50910fabbd375fab8a1352a6cf33">pcap_breakloop</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set a flag that will force <a class="el" href="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c" title="Collect a group of packets.">pcap_dispatch()</a> or <a class="el" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de" title="Collect a group of packets.">pcap_loop()</a> to return rather than looping. <a href="#gae0dc50910fabbd375fab8a1352a6cf33"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga51dbda0f1ab9da2cfe49d657486d50b2">pcap_sendpacket</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, u_char *buf, int size)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send a raw packet. <a href="#ga51dbda0f1ab9da2cfe49d657486d50b2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga659439bf5aa3988b5a92d31990fbf437">pcap_dump</a> (u_char *user, const struct <a class="el" href="structpcap__pkthdr.html">pcap_pkthdr</a> *h, const u_char *sp)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Save a packet to disk. <a href="#ga659439bf5aa3988b5a92d31990fbf437"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga50de34b8b3298f76c66c82b7ca3f84de">pcap_dump_ftell</a> (<a class="el" href="group__wpcap__def.html#gab8c7858aa3a7e3158d9d58cb113a2ae8">pcap_dumper_t</a> *)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the file position for a "savefile". <a href="#ga50de34b8b3298f76c66c82b7ca3f84de"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga363bdc6f6b39b4979ddcf15ecb830c5c">pcap_compile</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, struct bpf_program *fp, char *str, int optimize, <a class="el" href="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482">bpf_u_int32</a> netmask)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compile a packet filter, converting an high level filtering expression (see <a class="el" href="group__language.html">Filtering expression syntax</a>) in a program that can be interpreted by the kernel-level filtering engine. <a href="#ga363bdc6f6b39b4979ddcf15ecb830c5c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga8325b202dad14a00609db8372722ae4e">pcap_compile_nopcap</a> (int snaplen_arg, int linktype_arg, struct bpf_program *program, char *buf, int optimize, <a class="el" href="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482">bpf_u_int32</a> mask)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compile a packet filter without the need of opening an adapter. This function converts an high level filtering expression (see <a class="el" href="group__language.html">Filtering expression syntax</a>) in a program that can be interpreted by the kernel-level filtering engine. <a href="#ga8325b202dad14a00609db8372722ae4e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gaf5f9cfe85dad0967ff607e5159b1ba61">pcap_setfilter</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, struct bpf_program *fp)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Associate a filter to a capture. <a href="#gaf5f9cfe85dad0967ff607e5159b1ba61"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga9e0a5aad1a5dc79d85f1edfcebe0ac13">pcap_freecode</a> (struct bpf_program *fp)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free a filter. <a href="#ga9e0a5aad1a5dc79d85f1edfcebe0ac13"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga64c019f851f7da6892d51cca15f12ace">pcap_datalink</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the link layer of an adapter. <a href="#ga64c019f851f7da6892d51cca15f12ace"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga64e482360b0ed7d65fce1db23d56b921">pcap_list_datalinks</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, int **dlt_buf)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">list datalinks <a href="#ga64e482360b0ed7d65fce1db23d56b921"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga9588b99ac118cf827873d9e941eb6c77">pcap_set_datalink</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, int dlt)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the current data link type of the pcap descriptor to the type specified by dlt. -1 is returned on failure. <a href="#ga9588b99ac118cf827873d9e941eb6c77"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga440b2f0757acd4804588933324909207">pcap_datalink_name_to_val</a> (const char *name)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Translates a data link type name, which is a DLT_ name with the DLT_ removed, to the corresponding data link type value. The translation is case-insensitive. -1 is returned on failure. <a href="#ga440b2f0757acd4804588933324909207"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gad45c16d494577f1886704af8f31ed442">pcap_datalink_val_to_name</a> (int dlt)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Translates a data link type value to the corresponding data link type name. NULL is returned on failure. <a href="#gad45c16d494577f1886704af8f31ed442"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga3f142cd0694b49357e4a73371db71411">pcap_datalink_val_to_description</a> (int dlt)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Translates a data link type value to a short description of that data link type. NULL is returned on failure. <a href="#ga3f142cd0694b49357e4a73371db71411"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gae5c6e9768e89a6b82f9d720f37e6ab97">pcap_snapshot</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the dimension of the packet portion (in bytes) that is delivered to the application. <a href="#gae5c6e9768e89a6b82f9d720f37e6ab97"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gaba4941e09e5e03ba39841de4b1d5d6a4">pcap_is_swapped</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns true if the current savefile uses a different byte order than the current system. <a href="#gaba4941e09e5e03ba39841de4b1d5d6a4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga39dfb05149b443cc25b8febc455ca753">pcap_major_version</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return the major version number of the pcap library used to write the savefile. <a href="#ga39dfb05149b443cc25b8febc455ca753"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gac7a9dd9cd040ee500221cf35dfb49248">pcap_minor_version</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return the minor version number of the pcap library used to write the savefile. <a href="#gac7a9dd9cd040ee500221cf35dfb49248"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">FILE *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga4c9f5690b99fb2af1f8904403f7da06b">pcap_file</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the standard stream of an offline capture. <a href="#ga4c9f5690b99fb2af1f8904403f7da06b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gabbd74d8c3ce1bcbccc76129ac38f4549">pcap_stats</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, struct <a class="el" href="structpcap__stat.html">pcap_stat</a> *ps)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return statistics on current capture. <a href="#gabbd74d8c3ce1bcbccc76129ac38f4549"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gac3b6784c6c2623b93b22f6f219bd470e">pcap_perror</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, char *prefix)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">print the text of the last pcap library error on stderr, prefixed by prefix. <a href="#gac3b6784c6c2623b93b22f6f219bd470e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga81305cb154e4497e95bbb9b708631a3a">pcap_geterr</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return the error text pertaining to the last pcap library error. <a href="#ga81305cb154e4497e95bbb9b708631a3a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gafac2067e8f66f5a5a87f19f5e2b5ad4f">pcap_strerror</a> (int error)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Provided in case strerror() isn't available. <a href="#gafac2067e8f66f5a5a87f19f5e2b5ad4f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga2d92cec9ff55906b5b6fb883e4bd72f4">pcap_lib_version</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a pointer to a string giving information about the version of the libpcap library being used; note that it contains more information than just a version number. <a href="#ga2d92cec9ff55906b5b6fb883e4bd72f4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gaa45a5e1a4ba9925bb3586dcbeec78560">pcap_close</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">close the files associated with p and deallocates resources. <a href="#gaa45a5e1a4ba9925bb3586dcbeec78560"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">FILE *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga8dac02f297422ff2ab5983d1e30c58b6">pcap_dump_file</a> (<a class="el" href="group__wpcap__def.html#gab8c7858aa3a7e3158d9d58cb113a2ae8">pcap_dumper_t</a> *p)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">return the standard I/O stream of the 'savefile' opened by <a class="el" href="group__wpcapfunc.html#ga9506c33d580fdb5e5c288dba0f8a085c" title="Open a file to write packets.">pcap_dump_open()</a>. <a href="#ga8dac02f297422ff2ab5983d1e30c58b6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga90404ae3dcffcd3bbe78f8b187a88984">pcap_dump_flush</a> (<a class="el" href="group__wpcap__def.html#gab8c7858aa3a7e3158d9d58cb113a2ae8">pcap_dumper_t</a> *p)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flushes the output buffer to the ``savefile,'' so that any packets written with <a class="el" href="group__wpcapfunc.html#ga659439bf5aa3988b5a92d31990fbf437" title="Save a packet to disk.">pcap_dump()</a> but not yet written to the ``savefile'' will be written. -1 is returned on error, 0 on success. <a href="#ga90404ae3dcffcd3bbe78f8b187a88984"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga3897795c1e9fb10571092febae964ef0">pcap_dump_close</a> (<a class="el" href="group__wpcap__def.html#gab8c7858aa3a7e3158d9d58cb113a2ae8">pcap_dumper_t</a> *p)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Closes a savefile. <a href="#ga3897795c1e9fb10571092febae964ef0"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Windows-specific Extensions</h2></td></tr>
+<tr><td colspan="2"><p><a class="anchor" id="amgrp06003dbc75790df77036476ed55327c8"></a> The functions in this section extend libpcap to offer advanced functionalities (like remote packet capture, packet buffer size variation or high-precision packet injection). Howerver, at the moment they can be used only in Windows. </p>
+<br/><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="Win32-Extensions_8h.html#aadfdcc0e37082d8f6b28a43ec9a0bccf">PAirpcapHandle</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga4c8f8d1b9238c74faa156494a6b98670">pcap_get_airpcap_handle</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the AirPcap handler associated with an adapter. This handler can be used to change the wireless-related settings of the CACE Technologies AirPcap wireless capture adapters. <a href="#ga4c8f8d1b9238c74faa156494a6b98670"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gae92f11bfb001c19b2d0fbcd6821d222a">pcap_offline_filter</a> (struct bpf_program *prog, const struct <a class="el" href="structpcap__pkthdr.html">pcap_pkthdr</a> *header, const u_char *pkt_data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns if a given filter applies to an offline packet. <a href="#gae92f11bfb001c19b2d0fbcd6821d222a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gaedef54159d918b22a7de8e75b8a3ef4d">pcap_live_dump</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, char *filename, int maxsize, int maxpacks)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Save a capture to file. <a href="#gaedef54159d918b22a7de8e75b8a3ef4d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gafe8a334f3a7ae2dc7f52e96523da39be">pcap_live_dump_ended</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, int sync)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the status of the kernel dump process, i.e. tells if one of the limits defined with <a class="el" href="group__wpcapfunc.html#gaedef54159d918b22a7de8e75b8a3ef4d" title="Save a capture to file.">pcap_live_dump()</a> has been reached. <a href="#gafe8a334f3a7ae2dc7f52e96523da39be"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structpcap__stat.html">pcap_stat</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga8050f7829956aabd243cc32b3cfabbd6">pcap_stats_ex</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, int *pcap_stat_size)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return statistics on current capture. <a href="#ga8050f7829956aabd243cc32b3cfabbd6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga124bde25ccd9e39017ff2abec2dda623">pcap_setbuff</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, int dim)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the size of the kernel buffer associated with an adapter. <a href="#ga124bde25ccd9e39017ff2abec2dda623"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gaef07ef49d3c75644f3fd34518e2fe720">pcap_setmode</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, int mode)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the working mode of the interface p to mode. <a href="#gaef07ef49d3c75644f3fd34518e2fe720"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gab14ceacbf1c2f63026416dd73f80dc0d">pcap_setmintocopy</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, int size)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the minumum amount of data received by the kernel in a single call. <a href="#gab14ceacbf1c2f63026416dd73f80dc0d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">HANDLE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga2c415e9192c7b18a81a02300ae6f2c02">pcap_getevent</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the handle of the event associated with the interface p. <a href="#ga2c415e9192c7b18a81a02300ae6f2c02"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structpcap__send__queue.html">pcap_send_queue</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gab940e69631b7cc7f2232a69ea02b86d9">pcap_sendqueue_alloc</a> (u_int memsize)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocate a send queue. <a href="#gab940e69631b7cc7f2232a69ea02b86d9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga72624f7a9932cc2124abf661001e0aa4">pcap_sendqueue_destroy</a> (<a class="el" href="structpcap__send__queue.html">pcap_send_queue</a> *queue)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy a send queue. <a href="#ga72624f7a9932cc2124abf661001e0aa4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga4c57ea320d71dbfe55c5665af9db1297">pcap_sendqueue_queue</a> (<a class="el" href="structpcap__send__queue.html">pcap_send_queue</a> *queue, const struct <a class="el" href="structpcap__pkthdr.html">pcap_pkthdr</a> *pkt_header, const u_char *pkt_data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a packet to a send queue. <a href="#ga4c57ea320d71dbfe55c5665af9db1297"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">u_int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gaa4d55eb047a1cccc0e28397ce04ee097">pcap_sendqueue_transmit</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, <a class="el" href="structpcap__send__queue.html">pcap_send_queue</a> *queue, int sync)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send a queue of raw packets to the network. <a href="#gaa4d55eb047a1cccc0e28397ce04ee097"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga98f36e62c95c6ad81eaa8b2bbeb8f16e">pcap_findalldevs_ex</a> (char *source, struct <a class="el" href="structpcap__rmtauth.html">pcap_rmtauth</a> *auth, <a class="el" href="structpcap__if.html">pcap_if_t</a> **alldevs, char *errbuf)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a list of network devices that can be opened with <a class="el" href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791" title="Open a generic source in order to capture / send (WinPcap only) traffic.">pcap_open()</a>. <a href="#ga98f36e62c95c6ad81eaa8b2bbeb8f16e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#gaa3111e10f930a9772a32a922b26948b0">pcap_createsrcstr</a> (char *source, int type, const char *<a class="el" href="wpcap__remote_8htm.html#a3c46d79c790748a5942fb43baa6b3073">host</a>, const char *port, const char *name, char *errbuf)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Accept a set of strings (host name, port, ...), and it returns the complete source string according to the new format (e.g. 'rpcap://1.2.3.4/eth0'). <a href="#gaa3111e10f930a9772a32a922b26948b0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga090e0afd3f463b4b60a64c47eddc1ba2">pcap_parsesrcstr</a> (const char *source, int *type, char *<a class="el" href="wpcap__remote_8htm.html#a3c46d79c790748a5942fb43baa6b3073">host</a>, char *port, char *name, char *errbuf)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parse the source string and returns the pieces in which the source can be split. <a href="#ga090e0afd3f463b4b60a64c47eddc1ba2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791">pcap_open</a> (const char *source, int snaplen, int flags, int read_timeout, struct <a class="el" href="structpcap__rmtauth.html">pcap_rmtauth</a> *auth, char *errbuf)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Open a generic source in order to capture / send (WinPcap only) traffic. <a href="#ga2b64c7b6490090d1d37088794f1f1791"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structpcap__samp.html">pcap_samp</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga84c7d55f5b0e7d545b38d6b8e7bde005">pcap_setsampling</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Define a sampling method for packet capture. <a href="#ga84c7d55f5b0e7d545b38d6b8e7bde005"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">SOCKET&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga5495943cc8262db57f726e2a23f837dd">pcap_remoteact_accept</a> (const char *address, const char *port, const char *hostlist, char *connectinghost, struct <a class="el" href="structpcap__rmtauth.html">pcap_rmtauth</a> *auth, char *errbuf)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Block until a network connection is accepted (active mode only). <a href="#ga5495943cc8262db57f726e2a23f837dd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga6a84e03497f946d61c440696e57e2c95">pcap_remoteact_close</a> (const char *<a class="el" href="wpcap__remote_8htm.html#a3c46d79c790748a5942fb43baa6b3073">host</a>, char *errbuf)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Drop an active connection (active mode only). <a href="#ga6a84e03497f946d61c440696e57e2c95"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga7b022e0a67f5ff62fd13df5c688d6d82">pcap_remoteact_cleanup</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clean the socket that is currently used in waiting active connections. <a href="#ga7b022e0a67f5ff62fd13df5c688d6d82"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcapfunc.html#ga7ee8f666bff537aa457b7c05651cf815">pcap_remoteact_list</a> (char *hostlist, char sep, int size, char *errbuf)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the hostname of the host that have an active connection with us (active mode only). <a href="#ga7ee8f666bff537aa457b7c05651cf815"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions exported by wpcap.dll </p>
+<hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="gabcba231c099919ecd9300d7160b19878"></a><!-- doxytag: member="funcs/pcap.h::pcap_handler" ref="gabcba231c099919ecd9300d7160b19878" args=")(u_char *user, const struct pcap_pkthdr *pkt_header, const u_char *pkt_data)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef void(* <a class="el" href="group__wpcapfunc.html#gabcba231c099919ecd9300d7160b19878">pcap_handler</a>)(u_char *user, const struct <a class="el" href="structpcap__pkthdr.html">pcap_pkthdr</a> *pkt_header, const u_char *pkt_data)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Prototype of the callback function that receives the packets. </p>
+<p>When <a class="el" href="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c" title="Collect a group of packets.">pcap_dispatch()</a> or <a class="el" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de" title="Collect a group of packets.">pcap_loop()</a> are called by the user, the packets are passed to the application by means of this callback. user is a user-defined parameter that contains the state of the capture session, it corresponds to the <em>user</em> parameter of <a class="el" href="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c" title="Collect a group of packets.">pcap_dispatch()</a> and <a class="el" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de" title="Collect a group of packets.">pcap_loop()</a>. pkt_header is the header associated by the capture driver to the packet. It is NOT a protocol header. pkt_data points to the data of the packet, including the protocol headers. </p>
+
+<p>Definition at line <a class="el" href="funcs_2pcap_8h_source.html#l00027">27</a> of file <a class="el" href="funcs_2pcap_8h_source.html">funcs/pcap.h</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="gae0dc50910fabbd375fab8a1352a6cf33"></a><!-- doxytag: member="funcs/pcap.h::pcap_breakloop" ref="gae0dc50910fabbd375fab8a1352a6cf33" args="(pcap_t *)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void pcap_breakloop </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>set a flag that will force <a class="el" href="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c" title="Collect a group of packets.">pcap_dispatch()</a> or <a class="el" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de" title="Collect a group of packets.">pcap_loop()</a> to return rather than looping. </p>
+<p>They will return the number of packets that have been processed so far, or -2 if no packets have been processed so far. This routine is safe to use inside a signal handler on UNIX or a console control handler on Windows, as it merely sets a flag that is checked within the loop. The flag is checked in loops reading packets from the OS - a signal by itself will not necessarily terminate those loops - as well as in loops processing a set of packets returned by the OS. Note that if you are catching signals on UNIX systems that support restarting system calls after a signal, and calling <a class="el" href="group__wpcapfunc.html#gae0dc50910fabbd375fab8a1352a6cf33" title="set a flag that will force pcap_dispatch() or pcap_loop() to return rather than looping...">pcap_breakloop()</a> in the signal handler, you must specify, when catching those signals, that system calls should NOT be restarted by that signal. Otherwise, if the signal interrupted a call reading packets in a live capture, when your signal handler returns after calling <a class="el" href="group__wpcapfunc.html#gae0dc50910fabbd375fab8a1352a6cf33" title="set a flag that will force pcap_dispatch() or pcap_loop() to return rather than looping...">pcap_breakloop()</a>, the call will be restarted, and the loop will not terminate until more packets arrive and the call completes. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd><a class="el" href="group__wpcapfunc.html#gadf60257f650aaf869671e0a163611fc3" title="Return the next available packet.">pcap_next()</a> will, on some platforms, loop reading packets from the OS; that loop will not necessarily be terminated by a signal, so <a class="el" href="group__wpcapfunc.html#gae0dc50910fabbd375fab8a1352a6cf33" title="set a flag that will force pcap_dispatch() or pcap_loop() to return rather than looping...">pcap_breakloop()</a> should be used to terminate packet processing even if <a class="el" href="group__wpcapfunc.html#gadf60257f650aaf869671e0a163611fc3" title="Return the next available packet.">pcap_next()</a> is being used. <a class="el" href="group__wpcapfunc.html#gae0dc50910fabbd375fab8a1352a6cf33" title="set a flag that will force pcap_dispatch() or pcap_loop() to return rather than looping...">pcap_breakloop()</a> does not guarantee that no further packets will be processed by <a class="el" href="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c" title="Collect a group of packets.">pcap_dispatch()</a> or <a class="el" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de" title="Collect a group of packets.">pcap_loop()</a> after it is called; at most one more packet might be processed. If -2 is returned from <a class="el" href="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c" title="Collect a group of packets.">pcap_dispatch()</a> or <a class="el" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de" title="Collect a group of packets.">pcap_loop()</a>, the flag is cleared, so a subsequent call will resume reading packets. If a positive number is returned, the flag is not cleared, so a subsequent call will return -2 and clear the flag. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaa45a5e1a4ba9925bb3586dcbeec78560"></a><!-- doxytag: member="funcs/pcap.h::pcap_close" ref="gaa45a5e1a4ba9925bb3586dcbeec78560" args="(pcap_t *p)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void pcap_close </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>close the files associated with p and deallocates resources. </p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a>, <a class="el" href="group__wpcapfunc.html#ga91078168a13de8848df2b7b83d1f5b69" title="Open a savefile in the tcpdump/libpcap format to read packets.">pcap_open_offline()</a>, <a class="el" href="group__wpcapfunc.html#ga6445eeb76f2757b9fa088b276eea2845" title="Create a pcap_t structure without starting a capture.">pcap_open_dead()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga363bdc6f6b39b4979ddcf15ecb830c5c"></a><!-- doxytag: member="funcs/pcap.h::pcap_compile" ref="ga363bdc6f6b39b4979ddcf15ecb830c5c" args="(pcap_t *p, struct bpf_program *fp, char *str, int optimize, bpf_u_int32 netmask)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_compile </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct bpf_program *&nbsp;</td>
+ <td class="paramname"> <em>fp</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>str</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>optimize</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482">bpf_u_int32</a>&nbsp;</td>
+ <td class="paramname"> <em>netmask</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Compile a packet filter, converting an high level filtering expression (see <a class="el" href="group__language.html">Filtering expression syntax</a>) in a program that can be interpreted by the kernel-level filtering engine. </p>
+<p><a class="el" href="group__wpcapfunc.html#ga363bdc6f6b39b4979ddcf15ecb830c5c" title="Compile a packet filter, converting an high level filtering expression (see Filtering...">pcap_compile()</a> is used to compile the string str into a filter program. program is a pointer to a bpf_program struct and is filled in by <a class="el" href="group__wpcapfunc.html#ga363bdc6f6b39b4979ddcf15ecb830c5c" title="Compile a packet filter, converting an high level filtering expression (see Filtering...">pcap_compile()</a>. optimize controls whether optimization on the resulting code is performed. netmask specifies the IPv4 netmask of the network on which packets are being captured; it is used only when checking for IPv4 broadcast addresses in the filter program. If the netmask of the network on which packets are being captured isn't known to the program, or if packets are being captured on the Linux "any" pseudo-interface that can capture on more than one network, a value of 0 can be supplied; tests for IPv4 broadcast addreses won't be done correctly, but all other tests in the filter program will be OK. A return of -1 indicates an error in which case <a class="el" href="group__wpcapfunc.html#ga81305cb154e4497e95bbb9b708631a3a" title="return the error text pertaining to the last pcap library error.">pcap_geterr()</a> may be used to display the error text.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a>, <a class="el" href="group__wpcapfunc.html#gaf5f9cfe85dad0967ff607e5159b1ba61" title="Associate a filter to a capture.">pcap_setfilter()</a>, <a class="el" href="group__wpcapfunc.html#ga9e0a5aad1a5dc79d85f1edfcebe0ac13" title="Free a filter.">pcap_freecode()</a>, <a class="el" href="group__wpcapfunc.html#gae5c6e9768e89a6b82f9d720f37e6ab97" title="Return the dimension of the packet portion (in bytes) that is delivered to the application...">pcap_snapshot()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga8325b202dad14a00609db8372722ae4e"></a><!-- doxytag: member="funcs/pcap.h::pcap_compile_nopcap" ref="ga8325b202dad14a00609db8372722ae4e" args="(int snaplen_arg, int linktype_arg, struct bpf_program *program, char *buf, int optimize, bpf_u_int32 mask)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_compile_nopcap </td>
+ <td>(</td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>snaplen_arg</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>linktype_arg</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct bpf_program *&nbsp;</td>
+ <td class="paramname"> <em>program</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>buf</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>optimize</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482">bpf_u_int32</a>&nbsp;</td>
+ <td class="paramname"> <em>mask</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Compile a packet filter without the need of opening an adapter. This function converts an high level filtering expression (see <a class="el" href="group__language.html">Filtering expression syntax</a>) in a program that can be interpreted by the kernel-level filtering engine. </p>
+<p><a class="el" href="group__wpcapfunc.html#ga8325b202dad14a00609db8372722ae4e" title="Compile a packet filter without the need of opening an adapter. This function converts...">pcap_compile_nopcap()</a> is similar to <a class="el" href="group__wpcapfunc.html#ga363bdc6f6b39b4979ddcf15ecb830c5c" title="Compile a packet filter, converting an high level filtering expression (see Filtering...">pcap_compile()</a> except that instead of passing a pcap structure, one passes the snaplen and linktype explicitly. It is intended to be used for compiling filters for direct BPF usage, without necessarily having called <a class="el" href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791" title="Open a generic source in order to capture / send (WinPcap only) traffic.">pcap_open()</a>. A return of -1 indicates an error; the error text is unavailable. (<a class="el" href="group__wpcapfunc.html#ga8325b202dad14a00609db8372722ae4e" title="Compile a packet filter without the need of opening an adapter. This function converts...">pcap_compile_nopcap()</a> is a wrapper around <a class="el" href="group__wpcapfunc.html#ga6445eeb76f2757b9fa088b276eea2845" title="Create a pcap_t structure without starting a capture.">pcap_open_dead()</a>, <a class="el" href="group__wpcapfunc.html#ga363bdc6f6b39b4979ddcf15ecb830c5c" title="Compile a packet filter, converting an high level filtering expression (see Filtering...">pcap_compile()</a>, and <a class="el" href="group__wpcapfunc.html#gaa45a5e1a4ba9925bb3586dcbeec78560" title="close the files associated with p and deallocates resources.">pcap_close()</a>; the latter three routines can be used directly in order to get the error text for a compilation error.)</p>
+<p>Look at the <a class="el" href="group__language.html">Filtering expression syntax</a> section for details on the str parameter.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a>, <a class="el" href="group__wpcapfunc.html#gaf5f9cfe85dad0967ff607e5159b1ba61" title="Associate a filter to a capture.">pcap_setfilter()</a>, <a class="el" href="group__wpcapfunc.html#ga9e0a5aad1a5dc79d85f1edfcebe0ac13" title="Free a filter.">pcap_freecode()</a>, <a class="el" href="group__wpcapfunc.html#gae5c6e9768e89a6b82f9d720f37e6ab97" title="Return the dimension of the packet portion (in bytes) that is delivered to the application...">pcap_snapshot()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaa3111e10f930a9772a32a922b26948b0"></a><!-- doxytag: member="funcs/pcap.h::pcap_createsrcstr" ref="gaa3111e10f930a9772a32a922b26948b0" args="(char *source, int type, const char *host, const char *port, const char *name, char *errbuf)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_createsrcstr </td>
+ <td>(</td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>source</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>type</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>host</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>port</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>name</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>errbuf</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Accept a set of strings (host name, port, ...), and it returns the complete source string according to the new format (e.g. 'rpcap://1.2.3.4/eth0'). </p>
+<p>This function is provided in order to help the user creating the source string according to the new format. An unique source string is used in order to make easy for old applications to use the remote facilities. Think about tcpdump, for example, which has only one way to specify the interface on which the capture has to be started. However, GUI-based programs can find more useful to specify hostname, port and interface name separately. In that case, they can use this function to create the source string before passing it to the <a class="el" href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791" title="Open a generic source in order to capture / send (WinPcap only) traffic.">pcap_open()</a> function.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>source,:</em>&nbsp;</td><td>a user-allocated buffer that will contain the complete source string wen the function returns.<br/>
+ The source will start with an identifier according to the new <a class="el" href="group__remote__source__string.html">Source Specification Syntax </a>.<br/>
+ This function assumes that the allocated buffer is at least PCAP_BUF_SIZE bytes.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>type,:</em>&nbsp;</td><td>its value tells the type of the source we want to create. It can assume the values defined in the <a class="el" href="group__remote__source__ID.html">Source identification Codes </a>.<br/>
+</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>host,:</em>&nbsp;</td><td>an user-allocated buffer that keeps the host (e.g. "foo.bar.com") we want to connect to. It can be NULL in case we want to open an interface on a local host.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>port,:</em>&nbsp;</td><td>an user-allocated buffer that keeps the network port (e.g. "2002") we want to use for the RPCAP protocol. It can be NULL in case we want to open an interface on a local host.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>name,:</em>&nbsp;</td><td>an user-allocated buffer that keeps the interface name we want to use (e.g. "eth0"). It can be NULL in case the return string (i.e. 'source') has to be used with the <a class="el" href="group__wpcapfunc.html#ga98f36e62c95c6ad81eaa8b2bbeb8f16e" title="Create a list of network devices that can be opened with pcap_open().">pcap_findalldevs_ex()</a>, which does not require the interface name.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>errbuf,:</em>&nbsp;</td><td>a pointer to a user-allocated buffer (of size PCAP_ERRBUF_SIZE) that will contain the error message (in case there is one).</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>'0' if everything is fine, '-1' if some errors occurred. The string containing the complete source is returned in the 'source' variable.</dd></dl>
+<dl class="warning"><dt><b>Warning:</b></dt><dd>If the source is longer than PCAP_BUF_SIZE, the excess characters are truncated. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga64c019f851f7da6892d51cca15f12ace"></a><!-- doxytag: member="funcs/pcap.h::pcap_datalink" ref="ga64c019f851f7da6892d51cca15f12ace" args="(pcap_t *p)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_datalink </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Return the link layer of an adapter. </p>
+<p>returns the link layer type; link layer types it can return include:</p>
+<ul>
+<li>DLT_NULL BSD loopback encapsulation; the link layer header is a 4-byte field, in host byte order, containing a PF_ value from socket.h for the network-layer protocol of the packet. Note that ``host byte order'' is the byte order of the machine on which the packets are captured, and the PF_ values are for the OS of the machine on which the packets are captured; if a live capture is being done, ``host byte order'' is the byte order of the machine capturing the packets, and the PF_ values are those of the OS of the machine capturing the packets, but if a ``savefile'' is being read, the byte order and PF_ values are not necessarily those of the machine reading the capture file.</li>
+<li>DLT_EN10MB Ethernet (10Mb, 100Mb, 1000Mb, and up)</li>
+<li>DLT_IEEE802: IEEE 802.5 Token Ring</li>
+<li>DLT_ARCNET: ARCNET</li>
+<li>DLT_SLIP: SLIP; the link layer header contains, in order:<ol type="a">
+<li>a 1-byte flag, which is 0 for packets received by the machine and 1 for packets sent by the machine;</li>
+<li>a 1-byte field, the upper 4 bits of which indicate the type of packet, as per RFC 1144:<ul>
+<li>0x40: an unmodified IP datagram (TYPE_IP);</li>
+<li>0x70: an uncompressed-TCP IP datagram (UNCOMPRESSED_TCP), with that byte being the first byte of the raw IP header on the wire, containing the connection number in the protocol field;</li>
+<li>0x80: a compressed-TCP IP datagram (COMPRESSED_TCP), with that byte being the first byte of the compressed TCP/IP datagram header;</li>
+</ul>
+</li>
+<li>for UNCOMPRESSED_TCP, the rest of the modified IP header, and for COMPRESSED_TCP, the compressed TCP/IP datagram header;</li>
+<li>for a total of 16 bytes; the uncompressed IP datagram follows the header.</li>
+</ol>
+</li>
+</ul>
+<ul>
+<li>DLT_PPP: PPP; if the first 2 bytes are 0xff and 0x03, it's PPP in HDLC-like framing, with the PPP header following those two bytes, otherwise it's PPP without framing, and the packet begins with the PPP header.</li>
+<li>DLT_FDDI: FDDI</li>
+<li>DLT_ATM_RFC1483: RFC 1483 LLC/SNAP-encapsulated ATM; the packet begins with an IEEE 802.2 LLC header.</li>
+<li>DLT_RAW: raw IP; the packet begins with an IP header.</li>
+<li>DLT_PPP_SERIAL: PPP in HDLC-like framing, as per RFC 1662, or Cisco PPP with HDLC framing, as per section 4.3.1 of RFC 1547; the first byte will be 0xFF for PPP in HDLC-like framing, and will be 0x0F or 0x8F for Cisco PPP with HDLC framing.</li>
+<li>DLT_PPP_ETHER: PPPoE; the packet begins with a PPPoE header, as per RFC 2516.</li>
+<li>DLT_C_HDLC: Cisco PPP with HDLC framing, as per section 4.3.1 of RFC 1547.</li>
+<li>DLT_IEEE802_11: IEEE 802.11 wireless LAN</li>
+<li>DLT_FRELAY: Frame Relay</li>
+<li>DLT_LOOP: OpenBSD loopback encapsulation; the link layer header is a 4-byte field, in network byte order, containing a PF_ value from OpenBSD's socket.h for the network-layer protocol of the packet. Note that, if a ``savefile'' is being read, those PF_ values are not necessarily those of the machine reading the capture file.</li>
+<li>DLT_LINUX_SLL: Linux "cooked" capture encapsulation; the link layer header contains, in order:<ul>
+<li>a 2-byte "packet type", in network byte order, which is one of:<ol type="i">
+<li>packet was sent to us by somebody else</li>
+<li>packet was broadcast by somebody else</li>
+<li>packet was multicast, but not broadcast, by somebody else</li>
+<li>packet was sent by somebody else to somebody else</li>
+<li>packet was sent by us</li>
+</ol>
+</li>
+<li>a 2-byte field, in network byte order, containing a Linux ARPHRD_ value for the link layer device type;</li>
+<li>a 2-byte field, in network byte order, containing the length of the link layer address of the sender of the packet (which could be 0);</li>
+<li>an 8-byte field containing that number of bytes of the link layer header (if there are more than 8 bytes, only the first 8 are present);</li>
+<li>2-byte field containing an Ethernet protocol type, in network byte order, or containing 1 for Novell 802.3 frames without an 802.2 LLC header or 4 for frames beginning with an 802.2 LLC header.</li>
+</ul>
+</li>
+<li>DLT_LTALK: Apple LocalTalk; the packet begins with an AppleTalk LLAP header.</li>
+<li>DLT_PFLOG: OpenBSD pflog; the link layer header contains, in order:<ul>
+<li>a 4-byte PF_ value, in network byte order;</li>
+<li>a 16-character interface name;</li>
+<li>a 2-byte rule number, in network byte order;</li>
+<li>a 2-byte reason code, in network byte order, which is one of:<ol type="i">
+<li>match</li>
+<li>bad offset</li>
+<li>fragment</li>
+<li>short</li>
+<li>normalize</li>
+<li>memory -a 2-byte action code, in network byte order, which is one of:</li>
+<li>passed</li>
+<li>dropped</li>
+<li>scrubbed</li>
+</ol>
+</li>
+<li>a 2-byte direction, in network byte order, which is one of:<ol type="i">
+<li>incoming or outgoing</li>
+<li>incoming</li>
+<li>outgoing</li>
+</ol>
+</li>
+</ul>
+</li>
+<li>DLT_PRISM_HEADER: Prism monitor mode information followed by an 802.11 header.</li>
+<li>DLT_IP_OVER_FC: RFC 2625 IP-over-Fibre Channel, with the link-layer header being the Network_Header as described in that RFC.</li>
+<li>DLT_SUNATM: SunATM devices; the link layer header contains, in order:<ul>
+<li>a 1-byte flag field, containing a direction flag in the uppermost bit, which is set for packets transmitted by the machine and clear for packets received by the machine, and a 4-byte traffic type in the low-order 4 bits, which is one of:<ol type="i">
+<li>raw traffic</li>
+<li>LANE traffic</li>
+<li>LLC-encapsulated traffic</li>
+<li>MARS traffic</li>
+<li>IFMP traffic</li>
+<li>ILMI traffic</li>
+<li>Q.2931 traffic</li>
+</ol>
+</li>
+<li>a 1-byte VPI value;</li>
+<li>a 2-byte VCI field, in network byte order.</li>
+</ul>
+</li>
+<li>DLT_IEEE802_11_RADIO: link-layer information followed by an 802.11 header - see <a href="http://www.radiotap.org/">http://www.radiotap.org/</a> for a description of the link-layer information.</li>
+<li>DLT_ARCNET_LINUX: ARCNET, with no exception frames, reassembled packets rather than raw frames, and an extra 16-bit offset field between the destination host and type bytes.</li>
+<li>DLT_LINUX_IRDA: Linux-IrDA packets, with a DLT_LINUX_SLL header followed by the IrLAP header.</li>
+</ul>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#ga64e482360b0ed7d65fce1db23d56b921" title="list datalinks">pcap_list_datalinks()</a>, <a class="el" href="group__wpcapfunc.html#ga9588b99ac118cf827873d9e941eb6c77" title="Set the current data link type of the pcap descriptor to the type specified by dlt...">pcap_set_datalink()</a>, <a class="el" href="group__wpcapfunc.html#ga440b2f0757acd4804588933324909207" title="Translates a data link type name, which is a DLT_ name with the DLT_ removed, to...">pcap_datalink_name_to_val()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga440b2f0757acd4804588933324909207"></a><!-- doxytag: member="funcs/pcap.h::pcap_datalink_name_to_val" ref="ga440b2f0757acd4804588933324909207" args="(const char *name)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_datalink_name_to_val </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>name</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Translates a data link type name, which is a DLT_ name with the DLT_ removed, to the corresponding data link type value. The translation is case-insensitive. -1 is returned on failure. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga3f142cd0694b49357e4a73371db71411"></a><!-- doxytag: member="funcs/pcap.h::pcap_datalink_val_to_description" ref="ga3f142cd0694b49357e4a73371db71411" args="(int dlt)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const char* pcap_datalink_val_to_description </td>
+ <td>(</td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>dlt</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Translates a data link type value to a short description of that data link type. NULL is returned on failure. </p>
+
+</div>
+</div>
+<a class="anchor" id="gad45c16d494577f1886704af8f31ed442"></a><!-- doxytag: member="funcs/pcap.h::pcap_datalink_val_to_name" ref="gad45c16d494577f1886704af8f31ed442" args="(int dlt)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const char* pcap_datalink_val_to_name </td>
+ <td>(</td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>dlt</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Translates a data link type value to the corresponding data link type name. NULL is returned on failure. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga60ce104cdf28420d3361cd36d15be44c"></a><!-- doxytag: member="funcs/pcap.h::pcap_dispatch" ref="ga60ce104cdf28420d3361cd36d15be44c" args="(pcap_t *p, int cnt, pcap_handler callback, u_char *user)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_dispatch </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>cnt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__wpcapfunc.html#gabcba231c099919ecd9300d7160b19878">pcap_handler</a>&nbsp;</td>
+ <td class="paramname"> <em>callback</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">u_char *&nbsp;</td>
+ <td class="paramname"> <em>user</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Collect a group of packets. </p>
+<p><a class="el" href="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c" title="Collect a group of packets.">pcap_dispatch()</a> is used to collect and process packets. cnt specifies the maximum number of packets to process before returning. This is not a minimum number; when reading a live capture, only one bufferful of packets is read at a time, so fewer than cnt packets may be processed. A cnt of -1 processes all the packets received in one buffer when reading a live capture, or all the packets in the file when reading a ``savefile''. callback specifies a routine to be called with three arguments: a u_char pointer which is passed in from <a class="el" href="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c" title="Collect a group of packets.">pcap_dispatch()</a>, a const struct <a class="el" href="structpcap__pkthdr.html">pcap_pkthdr</a> pointer, and a const u_char pointer to the first caplen (as given in the struct <a class="el" href="structpcap__pkthdr.html" title="Header of a packet in the dump file.">pcap_pkthdr</a> a pointer to which is passed to the callback routine) bytes of data from the packet (which won't necessarily be the entire packet; to capture the entire packet, you will have to provide a value for snaplen in your call to <a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a> that is sufficiently large to get all of the packet's data - a value of 65535 should be sufficient on most if not all networks).</p>
+<p>The number of packets read is returned. 0 is returned if no packets were read from a live capture (if, for example, they were discarded because they didn't pass the packet filter, or if, on platforms that support a read timeout that starts before any packets arrive, the timeout expires before any packets arrive, or if the file descriptor for the capture device is in non-blocking mode and no packets were available to be read) or if no more packets are available in a ``savefile.'' A return of -1 indicates an error in which case <a class="el" href="group__wpcapfunc.html#gac3b6784c6c2623b93b22f6f219bd470e" title="print the text of the last pcap library error on stderr, prefixed by prefix.">pcap_perror()</a> or <a class="el" href="group__wpcapfunc.html#ga81305cb154e4497e95bbb9b708631a3a" title="return the error text pertaining to the last pcap library error.">pcap_geterr()</a> may be used to display the error text. A return of -2 indicates that the loop terminated due to a call to <a class="el" href="group__wpcapfunc.html#gae0dc50910fabbd375fab8a1352a6cf33" title="set a flag that will force pcap_dispatch() or pcap_loop() to return rather than looping...">pcap_breakloop()</a> before any packets were processed. If your application uses <a class="el" href="group__wpcapfunc.html#gae0dc50910fabbd375fab8a1352a6cf33" title="set a flag that will force pcap_dispatch() or pcap_loop() to return rather than looping...">pcap_breakloop()</a>, make sure that you explicitly check for -1 and -2, rather than just checking for a return value &lt; 0.</p>
+<dl class="note"><dt><b>Note:</b></dt><dd>when reading a live capture, <a class="el" href="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c" title="Collect a group of packets.">pcap_dispatch()</a> will not necessarily return when the read times out; on some platforms, the read timeout isn't supported, and, on other platforms, the timer doesn't start until at least one packet arrives. This means that the read timeout should NOT be used in, for example, an interactive application, to allow the packet capture loop to ``poll'' for user input periodically, as there's no guarantee that <a class="el" href="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c" title="Collect a group of packets.">pcap_dispatch()</a> will return after the timeout expires.</dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de" title="Collect a group of packets.">pcap_loop()</a>, <a class="el" href="group__wpcapfunc.html#gadf60257f650aaf869671e0a163611fc3" title="Return the next available packet.">pcap_next()</a>, <a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a>, <a class="el" href="group__wpcapfunc.html#ga91078168a13de8848df2b7b83d1f5b69" title="Open a savefile in the tcpdump/libpcap format to read packets.">pcap_open_offline()</a>, <a class="el" href="group__wpcapfunc.html#gabcba231c099919ecd9300d7160b19878" title="Prototype of the callback function that receives the packets.">pcap_handler</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga659439bf5aa3988b5a92d31990fbf437"></a><!-- doxytag: member="funcs/pcap.h::pcap_dump" ref="ga659439bf5aa3988b5a92d31990fbf437" args="(u_char *user, const struct pcap_pkthdr *h, const u_char *sp)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void pcap_dump </td>
+ <td>(</td>
+ <td class="paramtype">u_char *&nbsp;</td>
+ <td class="paramname"> <em>user</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const struct <a class="el" href="structpcap__pkthdr.html">pcap_pkthdr</a> *&nbsp;</td>
+ <td class="paramname"> <em>h</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const u_char *&nbsp;</td>
+ <td class="paramname"> <em>sp</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Save a packet to disk. </p>
+<p><a class="el" href="group__wpcapfunc.html#ga659439bf5aa3988b5a92d31990fbf437" title="Save a packet to disk.">pcap_dump()</a> outputs a packet to the "savefile" opened with <a class="el" href="group__wpcapfunc.html#ga9506c33d580fdb5e5c288dba0f8a085c" title="Open a file to write packets.">pcap_dump_open()</a>. Note that its calling arguments are suitable for use with <a class="el" href="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c" title="Collect a group of packets.">pcap_dispatch()</a> or <a class="el" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de" title="Collect a group of packets.">pcap_loop()</a>. If called directly, the user parameter is of type pcap_dumper_t as returned by <a class="el" href="group__wpcapfunc.html#ga9506c33d580fdb5e5c288dba0f8a085c" title="Open a file to write packets.">pcap_dump_open()</a>.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#ga9506c33d580fdb5e5c288dba0f8a085c" title="Open a file to write packets.">pcap_dump_open()</a>, <a class="el" href="group__wpcapfunc.html#ga3897795c1e9fb10571092febae964ef0" title="Closes a savefile.">pcap_dump_close()</a>, <a class="el" href="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c" title="Collect a group of packets.">pcap_dispatch()</a>, <a class="el" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de" title="Collect a group of packets.">pcap_loop()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga3897795c1e9fb10571092febae964ef0"></a><!-- doxytag: member="funcs/pcap.h::pcap_dump_close" ref="ga3897795c1e9fb10571092febae964ef0" args="(pcap_dumper_t *p)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void pcap_dump_close </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#gab8c7858aa3a7e3158d9d58cb113a2ae8">pcap_dumper_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Closes a savefile. </p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#ga9506c33d580fdb5e5c288dba0f8a085c" title="Open a file to write packets.">pcap_dump_open()</a>, <a class="el" href="group__wpcapfunc.html#ga659439bf5aa3988b5a92d31990fbf437" title="Save a packet to disk.">pcap_dump()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga8dac02f297422ff2ab5983d1e30c58b6"></a><!-- doxytag: member="funcs/pcap.h::pcap_dump_file" ref="ga8dac02f297422ff2ab5983d1e30c58b6" args="(pcap_dumper_t *p)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">FILE* pcap_dump_file </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#gab8c7858aa3a7e3158d9d58cb113a2ae8">pcap_dumper_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>return the standard I/O stream of the 'savefile' opened by <a class="el" href="group__wpcapfunc.html#ga9506c33d580fdb5e5c288dba0f8a085c" title="Open a file to write packets.">pcap_dump_open()</a>. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga90404ae3dcffcd3bbe78f8b187a88984"></a><!-- doxytag: member="funcs/pcap.h::pcap_dump_flush" ref="ga90404ae3dcffcd3bbe78f8b187a88984" args="(pcap_dumper_t *p)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_dump_flush </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#gab8c7858aa3a7e3158d9d58cb113a2ae8">pcap_dumper_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Flushes the output buffer to the ``savefile,'' so that any packets written with <a class="el" href="group__wpcapfunc.html#ga659439bf5aa3988b5a92d31990fbf437" title="Save a packet to disk.">pcap_dump()</a> but not yet written to the ``savefile'' will be written. -1 is returned on error, 0 on success. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga50de34b8b3298f76c66c82b7ca3f84de"></a><!-- doxytag: member="funcs/pcap.h::pcap_dump_ftell" ref="ga50de34b8b3298f76c66c82b7ca3f84de" args="(pcap_dumper_t *)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">long pcap_dump_ftell </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#gab8c7858aa3a7e3158d9d58cb113a2ae8">pcap_dumper_t</a> *&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Return the file position for a "savefile". </p>
+<p><a class="el" href="group__wpcapfunc.html#ga50de34b8b3298f76c66c82b7ca3f84de" title="Return the file position for a &quot;savefile&quot;.">pcap_dump_ftell()</a> returns the current file position for the "savefile", representing the number of bytes written by <a class="el" href="group__wpcapfunc.html#ga9506c33d580fdb5e5c288dba0f8a085c" title="Open a file to write packets.">pcap_dump_open()</a> and <a class="el" href="group__wpcapfunc.html#ga659439bf5aa3988b5a92d31990fbf437" title="Save a packet to disk.">pcap_dump()</a> . -1 is returned on error.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#ga9506c33d580fdb5e5c288dba0f8a085c" title="Open a file to write packets.">pcap_dump_open()</a>, <a class="el" href="group__wpcapfunc.html#ga659439bf5aa3988b5a92d31990fbf437" title="Save a packet to disk.">pcap_dump()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga9506c33d580fdb5e5c288dba0f8a085c"></a><!-- doxytag: member="funcs/pcap.h::pcap_dump_open" ref="ga9506c33d580fdb5e5c288dba0f8a085c" args="(pcap_t *p, const char *fname)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__wpcap__def.html#gab8c7858aa3a7e3158d9d58cb113a2ae8">pcap_dumper_t</a>* pcap_dump_open </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>fname</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Open a file to write packets. </p>
+<p><a class="el" href="group__wpcapfunc.html#ga9506c33d580fdb5e5c288dba0f8a085c" title="Open a file to write packets.">pcap_dump_open()</a> is called to open a "savefile" for writing. The name "-" in a synonym for stdout. NULL is returned on failure. p is a pcap struct as returned by <a class="el" href="group__wpcapfunc.html#ga91078168a13de8848df2b7b83d1f5b69" title="Open a savefile in the tcpdump/libpcap format to read packets.">pcap_open_offline()</a> or <a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a>. fname specifies the name of the file to open. Alternatively, you may call pcap_dump_fopen() to write data to an existing open stream fp. Note that on Windows, that stream should be opened in binary mode. If NULL is returned, <a class="el" href="group__wpcapfunc.html#ga81305cb154e4497e95bbb9b708631a3a" title="return the error text pertaining to the last pcap library error.">pcap_geterr()</a> can be used to get the error text.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#ga3897795c1e9fb10571092febae964ef0" title="Closes a savefile.">pcap_dump_close()</a>, <a class="el" href="group__wpcapfunc.html#ga659439bf5aa3988b5a92d31990fbf437" title="Save a packet to disk.">pcap_dump()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga4c9f5690b99fb2af1f8904403f7da06b"></a><!-- doxytag: member="funcs/pcap.h::pcap_file" ref="ga4c9f5690b99fb2af1f8904403f7da06b" args="(pcap_t *p)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">FILE* pcap_file </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Return the standard stream of an offline capture. </p>
+<p><a class="el" href="group__wpcapfunc.html#ga4c9f5690b99fb2af1f8904403f7da06b" title="Return the standard stream of an offline capture.">pcap_file()</a> returns the standard I/O stream of the "savefile", if a "savefile" was opened with <a class="el" href="group__wpcapfunc.html#ga91078168a13de8848df2b7b83d1f5b69" title="Open a savefile in the tcpdump/libpcap format to read packets.">pcap_open_offline()</a>, or NULL, if a network device was opened with <a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a>. </p>
+<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000003">Deprecated:</a></b></dt><dd>Due to incompatibilities between the C Runtime (CRT) used to compile WinPcap and the one used by WinPcap-based applications, this function may return an invalid FILE pointer, i.e. a descriptor that causes all the standard I/O stream functions (ftell, fseek, fclose...) to fail. The function is still available for backwards binary compatibility, only.</dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#ga91078168a13de8848df2b7b83d1f5b69" title="Open a savefile in the tcpdump/libpcap format to read packets.">pcap_open_offline()</a>, <a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga7b128eaeef627b408f6a6e2a2f5eb45d"></a><!-- doxytag: member="funcs/pcap.h::pcap_findalldevs" ref="ga7b128eaeef627b408f6a6e2a2f5eb45d" args="(pcap_if_t **alldevsp, char *errbuf)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_findalldevs </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structpcap__if.html">pcap_if_t</a> **&nbsp;</td>
+ <td class="paramname"> <em>alldevsp</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>errbuf</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Construct a list of network devices that can be opened with <a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a>. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd>that there may be network devices that cannot be opened with <a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a> by the process calling <a class="el" href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d" title="Construct a list of network devices that can be opened with pcap_open_live().">pcap_findalldevs()</a>, because, for example, that process might not have sufficient privileges to open them for capturing; if so, those devices will not appear on the list.) alldevsp is set to point to the first element of the list; each element of the list is of type <a class="el" href="group__wpcap__def.html#ga3a6e7cbf8d9752da3add4676c7cd4c58">pcap_if_t</a>,</dd></dl>
+<p>-1 is returned on failure, in which case errbuf is filled in with an appropriate error message; 0 is returned on success.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd>struct <a class="el" href="structpcap__if.html" title="Item in a list of interfaces, used by pcap_findalldevs().">pcap_if</a>, <a class="el" href="group__wpcapfunc.html#ga346b4b0b7fd1cda4abb9a39f767dbeb1" title="Free an interface list returned by pcap_findalldevs().">pcap_freealldevs()</a>, <a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a>, <a class="el" href="group__wpcapfunc.html#gaed295fc9fd86434372e8a8316f1270b1" title="Return the first valid device in the system.">pcap_lookupdev()</a>, <a class="el" href="group__wpcapfunc.html#gaa35276d0fa530c51a455f298fa1ec453" title="Return the subnet and netmask of an interface.">pcap_lookupnet()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga98f36e62c95c6ad81eaa8b2bbeb8f16e"></a><!-- doxytag: member="funcs/pcap.h::pcap_findalldevs_ex" ref="ga98f36e62c95c6ad81eaa8b2bbeb8f16e" args="(char *source, struct pcap_rmtauth *auth, pcap_if_t **alldevs, char *errbuf)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_findalldevs_ex </td>
+ <td>(</td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>source</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct <a class="el" href="structpcap__rmtauth.html">pcap_rmtauth</a> *&nbsp;</td>
+ <td class="paramname"> <em>auth</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structpcap__if.html">pcap_if_t</a> **&nbsp;</td>
+ <td class="paramname"> <em>alldevs</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>errbuf</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Create a list of network devices that can be opened with <a class="el" href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791" title="Open a generic source in order to capture / send (WinPcap only) traffic.">pcap_open()</a>. </p>
+<p>This function is a superset of the old 'pcap_findalldevs()', which allows listing only the devices present on the local machine. Vice versa, <a class="el" href="group__wpcapfunc.html#ga98f36e62c95c6ad81eaa8b2bbeb8f16e" title="Create a list of network devices that can be opened with pcap_open().">pcap_findalldevs_ex()</a> allows listing the devices present on a remote machine as well. Additionally, it can list all the pcap files available into a given folder. Moreover, <a class="el" href="group__wpcapfunc.html#ga98f36e62c95c6ad81eaa8b2bbeb8f16e" title="Create a list of network devices that can be opened with pcap_open().">pcap_findalldevs_ex()</a> is platform independent, since it relies on the standard <a class="el" href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d" title="Construct a list of network devices that can be opened with pcap_open_live().">pcap_findalldevs()</a> to get addresses on the local machine.</p>
+<p>In case the function has to list the interfaces on a remote machine, it opens a new control connection toward that machine, it retrieves the interfaces, and it drops the connection. However, if this function detects that the remote machine is in 'active' mode, the connection is not dropped and the existing socket is used.</p>
+<p>The 'source' is a parameter that tells the function where the lookup has to be done and it uses the same syntax of the <a class="el" href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791" title="Open a generic source in order to capture / send (WinPcap only) traffic.">pcap_open()</a>.</p>
+<p>Differently from the <a class="el" href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d" title="Construct a list of network devices that can be opened with pcap_open_live().">pcap_findalldevs()</a>, the interface names (pointed by the alldevs-&gt;name and the other ones in the linked list) are already ready to be used in the <a class="el" href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791" title="Open a generic source in order to capture / send (WinPcap only) traffic.">pcap_open()</a> call. Vice versa, the output that comes from <a class="el" href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d" title="Construct a list of network devices that can be opened with pcap_open_live().">pcap_findalldevs()</a> must be formatted with the new <a class="el" href="group__wpcapfunc.html#gaa3111e10f930a9772a32a922b26948b0" title="Accept a set of strings (host name, port, ...), and it returns the complete source...">pcap_createsrcstr()</a> before passing the source identifier to the <a class="el" href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791" title="Open a generic source in order to capture / send (WinPcap only) traffic.">pcap_open()</a>.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>source,:</em>&nbsp;</td><td>a char* buffer that keeps the 'source localtion', according to the new WinPcap syntax. This source will be examined looking for adapters (local or remote) (e.g. source can be 'rpcap://' for local adapters or 'rpcap://host:port' for adapters on a remote host) or pcap files (e.g. source can be 'file://c:/myfolder/').<br/>
+ The strings that must be prepended to the 'source' in order to define if we want local/remote adapters or files is defined in the new <a class="el" href="group__remote__source__string.html">Source Specification Syntax </a>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>auth,:</em>&nbsp;</td><td>a pointer to a <a class="el" href="structpcap__rmtauth.html" title="This structure keeps the information needed to autheticate the user on a remote machine...">pcap_rmtauth</a> structure. This pointer keeps the information required to authenticate the RPCAP connection to the remote host. This parameter is not meaningful in case of a query to the local host: in that case it can be NULL.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>alldevs,:</em>&nbsp;</td><td>a 'struct pcap_if_t' pointer, which will be properly allocated inside this function. When the function returns, it is set to point to the first element of the interface list; each element of the list is of type 'struct pcap_if_t'.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>errbuf,:</em>&nbsp;</td><td>a pointer to a user-allocated buffer (of size PCAP_ERRBUF_SIZE) that will contain the error message (in case there is one).</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>'0' if everything is fine, '-1' if some errors occurred. The list of the devices is returned in the 'alldevs' variable. When the function returns correctly, 'alldevs' cannot be NULL. In other words, this function returns '-1' also in case the system does not have any interface to list.</dd></dl>
+<p>The error message is returned in the 'errbuf' variable. An error could be due to several reasons:</p>
+<ul>
+<li>libpcap/WinPcap was not installed on the local/remote host</li>
+<li>the user does not have enough privileges to list the devices / files</li>
+<li>a network problem</li>
+<li>the RPCAP version negotiation failed</li>
+<li>other errors (not enough memory and others).</li>
+</ul>
+<dl class="warning"><dt><b>Warning:</b></dt><dd>There may be network devices that cannot be opened with <a class="el" href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791" title="Open a generic source in order to capture / send (WinPcap only) traffic.">pcap_open()</a> by the process calling <a class="el" href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d" title="Construct a list of network devices that can be opened with pcap_open_live().">pcap_findalldevs()</a>, because, for example, that process might not have sufficient privileges to open them for capturing; if so, those devices will not appear on the list.</dd>
+<dd>
+The interface list must be deallocated manually by using the <a class="el" href="group__wpcapfunc.html#ga346b4b0b7fd1cda4abb9a39f767dbeb1" title="Free an interface list returned by pcap_findalldevs().">pcap_freealldevs()</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga346b4b0b7fd1cda4abb9a39f767dbeb1"></a><!-- doxytag: member="funcs/pcap.h::pcap_freealldevs" ref="ga346b4b0b7fd1cda4abb9a39f767dbeb1" args="(pcap_if_t *alldevsp)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void pcap_freealldevs </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structpcap__if.html">pcap_if_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>alldevsp</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Free an interface list returned by <a class="el" href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d" title="Construct a list of network devices that can be opened with pcap_open_live().">pcap_findalldevs()</a>. </p>
+<p><a class="el" href="group__wpcapfunc.html#ga346b4b0b7fd1cda4abb9a39f767dbeb1" title="Free an interface list returned by pcap_findalldevs().">pcap_freealldevs()</a> is used to free a list allocated by <a class="el" href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d" title="Construct a list of network devices that can be opened with pcap_open_live().">pcap_findalldevs()</a>.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d" title="Construct a list of network devices that can be opened with pcap_open_live().">pcap_findalldevs()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga9e0a5aad1a5dc79d85f1edfcebe0ac13"></a><!-- doxytag: member="funcs/pcap.h::pcap_freecode" ref="ga9e0a5aad1a5dc79d85f1edfcebe0ac13" args="(struct bpf_program *fp)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void pcap_freecode </td>
+ <td>(</td>
+ <td class="paramtype">struct bpf_program *&nbsp;</td>
+ <td class="paramname"> <em>fp</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Free a filter. </p>
+<p><a class="el" href="group__wpcapfunc.html#ga9e0a5aad1a5dc79d85f1edfcebe0ac13" title="Free a filter.">pcap_freecode()</a> is used to free up allocated memory pointed to by a bpf_program struct generated by <a class="el" href="group__wpcapfunc.html#ga363bdc6f6b39b4979ddcf15ecb830c5c" title="Compile a packet filter, converting an high level filtering expression (see Filtering...">pcap_compile()</a> when that BPF program is no longer needed, for example after it has been made the filter program for a pcap structure by a call to <a class="el" href="group__wpcapfunc.html#gaf5f9cfe85dad0967ff607e5159b1ba61" title="Associate a filter to a capture.">pcap_setfilter()</a>.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#ga363bdc6f6b39b4979ddcf15ecb830c5c" title="Compile a packet filter, converting an high level filtering expression (see Filtering...">pcap_compile()</a>, <a class="el" href="group__wpcapfunc.html#ga8325b202dad14a00609db8372722ae4e" title="Compile a packet filter without the need of opening an adapter. This function converts...">pcap_compile_nopcap()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga4c8f8d1b9238c74faa156494a6b98670"></a><!-- doxytag: member="funcs/pcap.h::pcap_get_airpcap_handle" ref="ga4c8f8d1b9238c74faa156494a6b98670" args="(pcap_t *p)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="Win32-Extensions_8h.html#aadfdcc0e37082d8f6b28a43ec9a0bccf">PAirpcapHandle</a> pcap_get_airpcap_handle </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Returns the AirPcap handler associated with an adapter. This handler can be used to change the wireless-related settings of the CACE Technologies AirPcap wireless capture adapters. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd>THIS FUNCTION SHOULD BE CONSIDERED PROVISIONAL, AND MAY BE REPLACED IN THE FUTURE BY A MORE COMPLETE SET OF FUNCTIONS FOR WIRELESS SUPPORT.</dd></dl>
+<p><a class="el" href="group__wpcapfunc.html#ga4c8f8d1b9238c74faa156494a6b98670" title="Returns the AirPcap handler associated with an adapter. This handler can be used...">pcap_get_airpcap_handle()</a> allows to obtain the airpcap handle of an open adapter. This handle can be used with the AirPcap API functions to perform wireless-releated operations, e.g. changing the channel or enabling WEP decryption. For more details about the AirPcap wireless capture adapters, see <a href="http://www.cacetech.com/products/airpcap.htm">http://www.cacetech.com/products/airpcap.htm</a></p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>p,:</em>&nbsp;</td><td>handle to an open libpcap adapter</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>a pointer to an open AirPcap handle, used internally by the libpcap open adapter. NULL if the libpcap adapter doesn't have wireless support through AirPcap. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga81305cb154e4497e95bbb9b708631a3a"></a><!-- doxytag: member="funcs/pcap.h::pcap_geterr" ref="ga81305cb154e4497e95bbb9b708631a3a" args="(pcap_t *p)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char* pcap_geterr </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>return the error text pertaining to the last pcap library error. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd>the pointer Return will no longer point to a valid error message string after the pcap_t passed to it is closed; you must use or copy the string before closing the pcap_t.</dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#gac3b6784c6c2623b93b22f6f219bd470e" title="print the text of the last pcap library error on stderr, prefixed by prefix.">pcap_perror()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga2c415e9192c7b18a81a02300ae6f2c02"></a><!-- doxytag: member="funcs/pcap.h::pcap_getevent" ref="ga2c415e9192c7b18a81a02300ae6f2c02" args="(pcap_t *p)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">HANDLE pcap_getevent </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Return the handle of the event associated with the interface p. </p>
+<p>This event can be passed to functions like WaitForSingleObject() or WaitForMultipleObjects() to wait until the driver's buffer contains some data without performing a read.</p>
+<p>We disourage the use of this function because it is not portable.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gab25dc0bfe06545b86be4103bf010708e"></a><!-- doxytag: member="funcs/pcap.h::pcap_getnonblock" ref="gab25dc0bfe06545b86be4103bf010708e" args="(pcap_t *p, char *errbuf)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_getnonblock </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>errbuf</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Get the "non-blocking" state of an interface. </p>
+<p><a class="el" href="group__wpcapfunc.html#gab25dc0bfe06545b86be4103bf010708e" title="Get the &quot;non-blocking&quot; state of an interface.">pcap_getnonblock()</a> returns the current "non-blocking" state of the capture descriptor; it always returns 0 on "savefiles". If there is an error, -1 is returned and errbuf is filled in with an appropriate error message.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#ga3f212141c80b59aad8ac535bb0178275" title="Switch between blocking and nonblocking mode.">pcap_setnonblock()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaba4941e09e5e03ba39841de4b1d5d6a4"></a><!-- doxytag: member="funcs/pcap.h::pcap_is_swapped" ref="gaba4941e09e5e03ba39841de4b1d5d6a4" args="(pcap_t *p)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_is_swapped </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>returns true if the current savefile uses a different byte order than the current system. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga2d92cec9ff55906b5b6fb883e4bd72f4"></a><!-- doxytag: member="funcs/pcap.h::pcap_lib_version" ref="ga2d92cec9ff55906b5b6fb883e4bd72f4" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const char* pcap_lib_version </td>
+ <td>(</td>
+ <td class="paramtype">void&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Returns a pointer to a string giving information about the version of the libpcap library being used; note that it contains more information than just a version number. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga64e482360b0ed7d65fce1db23d56b921"></a><!-- doxytag: member="funcs/pcap.h::pcap_list_datalinks" ref="ga64e482360b0ed7d65fce1db23d56b921" args="(pcap_t *p, int **dlt_buf)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_list_datalinks </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int **&nbsp;</td>
+ <td class="paramname"> <em>dlt_buf</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>list datalinks </p>
+<p><a class="el" href="group__wpcapfunc.html#ga64e482360b0ed7d65fce1db23d56b921" title="list datalinks">pcap_list_datalinks()</a> is used to get a list of the supported data link types of the interface associated with the pcap descriptor. <a class="el" href="group__wpcapfunc.html#ga64e482360b0ed7d65fce1db23d56b921" title="list datalinks">pcap_list_datalinks()</a> allocates an array to hold the list and sets *dlt_buf. The caller is responsible for freeing the array. -1 is returned on failure; otherwise, the number of data link types in the array is returned.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#ga64c019f851f7da6892d51cca15f12ace" title="Return the link layer of an adapter.">pcap_datalink()</a>, <a class="el" href="group__wpcapfunc.html#ga9588b99ac118cf827873d9e941eb6c77" title="Set the current data link type of the pcap descriptor to the type specified by dlt...">pcap_set_datalink()</a>, <a class="el" href="group__wpcapfunc.html#ga440b2f0757acd4804588933324909207" title="Translates a data link type name, which is a DLT_ name with the DLT_ removed, to...">pcap_datalink_name_to_val()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaedef54159d918b22a7de8e75b8a3ef4d"></a><!-- doxytag: member="funcs/pcap.h::pcap_live_dump" ref="gaedef54159d918b22a7de8e75b8a3ef4d" args="(pcap_t *p, char *filename, int maxsize, int maxpacks)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_live_dump </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>filename</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>maxsize</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>maxpacks</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Save a capture to file. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd>: this function does not work in current version of WinPcap.</dd></dl>
+<p><a class="el" href="group__wpcapfunc.html#gaedef54159d918b22a7de8e75b8a3ef4d" title="Save a capture to file.">pcap_live_dump()</a> dumps the network traffic from an interface to a file. Using this function the dump is performed at kernel level, therefore it is more efficient than using <a class="el" href="group__wpcapfunc.html#ga659439bf5aa3988b5a92d31990fbf437" title="Save a packet to disk.">pcap_dump()</a>.</p>
+<p>The parameters of this function are an interface descriptor (obtained with <a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a>), a string with the name of the dump file, the maximum size of the file (in bytes) and the maximum number of packets that the file will contain. Setting maxsize or maxpacks to 0 means no limit. When maxsize or maxpacks are reached, the dump ends.</p>
+<p><a class="el" href="group__wpcapfunc.html#gaedef54159d918b22a7de8e75b8a3ef4d" title="Save a capture to file.">pcap_live_dump()</a> is non-blocking, threfore Return immediately. <a class="el" href="group__wpcapfunc.html#gafe8a334f3a7ae2dc7f52e96523da39be" title="Return the status of the kernel dump process, i.e. tells if one of the limits defined...">pcap_live_dump_ended()</a> can be used to check the status of the dump process or to wait until it is finished. <a class="el" href="group__wpcapfunc.html#gaa45a5e1a4ba9925bb3586dcbeec78560" title="close the files associated with p and deallocates resources.">pcap_close()</a> can instead be used to end the dump process.</p>
+<p>Note that when one of the two limits is reached, the dump is stopped, but the file remains opened. In order to correctly flush the data and put the file in a consistent state, the adapter must be closed with <a class="el" href="group__wpcapfunc.html#gaa45a5e1a4ba9925bb3586dcbeec78560" title="close the files associated with p and deallocates resources.">pcap_close()</a>.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#gafe8a334f3a7ae2dc7f52e96523da39be" title="Return the status of the kernel dump process, i.e. tells if one of the limits defined...">pcap_live_dump_ended()</a>, <a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a>, <a class="el" href="group__wpcapfunc.html#gaa45a5e1a4ba9925bb3586dcbeec78560" title="close the files associated with p and deallocates resources.">pcap_close()</a>, <a class="el" href="group__wpcapfunc.html#ga9506c33d580fdb5e5c288dba0f8a085c" title="Open a file to write packets.">pcap_dump_open()</a>, <a class="el" href="group__wpcapfunc.html#ga659439bf5aa3988b5a92d31990fbf437" title="Save a packet to disk.">pcap_dump()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gafe8a334f3a7ae2dc7f52e96523da39be"></a><!-- doxytag: member="funcs/pcap.h::pcap_live_dump_ended" ref="gafe8a334f3a7ae2dc7f52e96523da39be" args="(pcap_t *p, int sync)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_live_dump_ended </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>sync</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Return the status of the kernel dump process, i.e. tells if one of the limits defined with <a class="el" href="group__wpcapfunc.html#gaedef54159d918b22a7de8e75b8a3ef4d" title="Save a capture to file.">pcap_live_dump()</a> has been reached. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd>: this function does not work in current version of WinPcap.</dd></dl>
+<p><a class="el" href="group__wpcapfunc.html#gafe8a334f3a7ae2dc7f52e96523da39be" title="Return the status of the kernel dump process, i.e. tells if one of the limits defined...">pcap_live_dump_ended()</a> informs the user about the limits that were set with a previous call to <a class="el" href="group__wpcapfunc.html#gaedef54159d918b22a7de8e75b8a3ef4d" title="Save a capture to file.">pcap_live_dump()</a> on the interface pointed by p: if the return value is nonzero, one of the limits has been reched and the dump process is currently stopped.</p>
+<p>If sync is nonzero, the function blocks until the dump is finished, otherwise Return immediately.</p>
+<dl class="warning"><dt><b>Warning:</b></dt><dd>if the dump process has no limits (i.e. if the maxsize and maxpacks arguments of <a class="el" href="group__wpcapfunc.html#gaedef54159d918b22a7de8e75b8a3ef4d" title="Save a capture to file.">pcap_live_dump()</a> were both 0), the dump process will never stop, therefore setting sync to TRUE will block the application on this call forever.</dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#gaedef54159d918b22a7de8e75b8a3ef4d" title="Save a capture to file.">pcap_live_dump()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaed295fc9fd86434372e8a8316f1270b1"></a><!-- doxytag: member="funcs/pcap.h::pcap_lookupdev" ref="gaed295fc9fd86434372e8a8316f1270b1" args="(char *errbuf)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char* pcap_lookupdev </td>
+ <td>(</td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>errbuf</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Return the first valid device in the system. </p>
+<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated:</a></b></dt><dd>Use <a class="el" href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d">pcap_findalldevs()</a> or <a class="el" href="group__wpcapfunc.html#ga98f36e62c95c6ad81eaa8b2bbeb8f16e">pcap_findalldevs_ex()</a> instead.</dd></dl>
+<p><a class="el" href="group__wpcapfunc.html#gaed295fc9fd86434372e8a8316f1270b1" title="Return the first valid device in the system.">pcap_lookupdev()</a> returns a pointer to a network device suitable for use with <a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a> and <a class="el" href="group__wpcapfunc.html#gaa35276d0fa530c51a455f298fa1ec453" title="Return the subnet and netmask of an interface.">pcap_lookupnet()</a>. If there is an error, NULL is returned and errbuf is filled in with an appropriate error message.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d" title="Construct a list of network devices that can be opened with pcap_open_live().">pcap_findalldevs()</a>, <a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaa35276d0fa530c51a455f298fa1ec453"></a><!-- doxytag: member="funcs/pcap.h::pcap_lookupnet" ref="gaa35276d0fa530c51a455f298fa1ec453" args="(const char *device, bpf_u_int32 *netp, bpf_u_int32 *maskp, char *errbuf)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_lookupnet </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>device</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482">bpf_u_int32</a> *&nbsp;</td>
+ <td class="paramname"> <em>netp</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482">bpf_u_int32</a> *&nbsp;</td>
+ <td class="paramname"> <em>maskp</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>errbuf</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Return the subnet and netmask of an interface. </p>
+<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000002">Deprecated:</a></b></dt><dd>Use <a class="el" href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d">pcap_findalldevs()</a> or <a class="el" href="group__wpcapfunc.html#ga98f36e62c95c6ad81eaa8b2bbeb8f16e">pcap_findalldevs_ex()</a> instead.</dd></dl>
+<p><a class="el" href="group__wpcapfunc.html#gaa35276d0fa530c51a455f298fa1ec453" title="Return the subnet and netmask of an interface.">pcap_lookupnet()</a> is used to determine the network number and mask associated with the network device device. Both netp and maskp are bpf_u_int32 pointers. A return of -1 indicates an error in which case errbuf is filled in with an appropriate error message.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d" title="Construct a list of network devices that can be opened with pcap_open_live().">pcap_findalldevs()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga6bcb7c5c59d76ec16b8a699da136b5de"></a><!-- doxytag: member="funcs/pcap.h::pcap_loop" ref="ga6bcb7c5c59d76ec16b8a699da136b5de" args="(pcap_t *p, int cnt, pcap_handler callback, u_char *user)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_loop </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>cnt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__wpcapfunc.html#gabcba231c099919ecd9300d7160b19878">pcap_handler</a>&nbsp;</td>
+ <td class="paramname"> <em>callback</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">u_char *&nbsp;</td>
+ <td class="paramname"> <em>user</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Collect a group of packets. </p>
+<p><a class="el" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de" title="Collect a group of packets.">pcap_loop()</a> is similar to <a class="el" href="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c" title="Collect a group of packets.">pcap_dispatch()</a> except it keeps reading packets until cnt packets are processed or an error occurs. It does not return when live read timeouts occur. Rather, specifying a non-zero read timeout to <a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a> and then calling <a class="el" href="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c" title="Collect a group of packets.">pcap_dispatch()</a> allows the reception and processing of any packets that arrive when the timeout occurs. A negative cnt causes <a class="el" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de" title="Collect a group of packets.">pcap_loop()</a> to loop forever (or at least until an error occurs). -1 is returned on an error; 0 is returned if cnt is exhausted; -2 is returned if the loop terminated due to a call to <a class="el" href="group__wpcapfunc.html#gae0dc50910fabbd375fab8a1352a6cf33" title="set a flag that will force pcap_dispatch() or pcap_loop() to return rather than looping...">pcap_breakloop()</a> before any packets were processed. If your application uses <a class="el" href="group__wpcapfunc.html#gae0dc50910fabbd375fab8a1352a6cf33" title="set a flag that will force pcap_dispatch() or pcap_loop() to return rather than looping...">pcap_breakloop()</a>, make sure that you explicitly check for -1 and -2, rather than just checking for a return value &lt; 0.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c" title="Collect a group of packets.">pcap_dispatch()</a>, <a class="el" href="group__wpcapfunc.html#gadf60257f650aaf869671e0a163611fc3" title="Return the next available packet.">pcap_next()</a>, <a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a>, <a class="el" href="group__wpcapfunc.html#ga91078168a13de8848df2b7b83d1f5b69" title="Open a savefile in the tcpdump/libpcap format to read packets.">pcap_open_offline()</a>, <a class="el" href="group__wpcapfunc.html#gabcba231c099919ecd9300d7160b19878" title="Prototype of the callback function that receives the packets.">pcap_handler</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga39dfb05149b443cc25b8febc455ca753"></a><!-- doxytag: member="funcs/pcap.h::pcap_major_version" ref="ga39dfb05149b443cc25b8febc455ca753" args="(pcap_t *p)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_major_version </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>return the major version number of the pcap library used to write the savefile. </p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#gac7a9dd9cd040ee500221cf35dfb49248" title="return the minor version number of the pcap library used to write the savefile.">pcap_minor_version()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gac7a9dd9cd040ee500221cf35dfb49248"></a><!-- doxytag: member="funcs/pcap.h::pcap_minor_version" ref="gac7a9dd9cd040ee500221cf35dfb49248" args="(pcap_t *p)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_minor_version </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>return the minor version number of the pcap library used to write the savefile. </p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#ga39dfb05149b443cc25b8febc455ca753" title="return the major version number of the pcap library used to write the savefile.">pcap_major_version()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gadf60257f650aaf869671e0a163611fc3"></a><!-- doxytag: member="funcs/pcap.h::pcap_next" ref="gadf60257f650aaf869671e0a163611fc3" args="(pcap_t *p, struct pcap_pkthdr *h)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">u_char* pcap_next </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct <a class="el" href="structpcap__pkthdr.html">pcap_pkthdr</a> *&nbsp;</td>
+ <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Return the next available packet. </p>
+<p><a class="el" href="group__wpcapfunc.html#gadf60257f650aaf869671e0a163611fc3" title="Return the next available packet.">pcap_next()</a> reads the next packet (by calling <a class="el" href="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c" title="Collect a group of packets.">pcap_dispatch()</a> with a cnt of 1) and returns a u_char pointer to the data in that packet. (The <a class="el" href="structpcap__pkthdr.html" title="Header of a packet in the dump file.">pcap_pkthdr</a> struct for that packet is not supplied.) NULL is returned if an error occured, or if no packets were read from a live capture (if, for example, they were discarded because they didn't pass the packet filter, or if, on platforms that support a read timeout that starts before any packets arrive, the timeout expires before any packets arrive, or if the file descriptor for the capture device is in non-blocking mode and no packets were available to be read), or if no more packets are available in a ``savefile.'' Unfortunately, there is no way to determine whether an error occured or not. </p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c" title="Collect a group of packets.">pcap_dispatch()</a>, <a class="el" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de" title="Collect a group of packets.">pcap_loop()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga439439c2eae61161dc1efb1e03a81133"></a><!-- doxytag: member="funcs/pcap.h::pcap_next_ex" ref="ga439439c2eae61161dc1efb1e03a81133" args="(pcap_t *p, struct pcap_pkthdr **pkt_header, const u_char **pkt_data)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_next_ex </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct <a class="el" href="structpcap__pkthdr.html">pcap_pkthdr</a> **&nbsp;</td>
+ <td class="paramname"> <em>pkt_header</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const u_char **&nbsp;</td>
+ <td class="paramname"> <em>pkt_data</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Read a packet from an interface or from an offline capture. </p>
+<p>This function is used to retrieve the next available packet, bypassing the callback method traditionally provided by libpcap.</p>
+<p>pcap_next_ex fills the pkt_header and pkt_data parameters (see <a class="el" href="group__wpcapfunc.html#gabcba231c099919ecd9300d7160b19878" title="Prototype of the callback function that receives the packets.">pcap_handler()</a>) with the pointers to the header and to the data of the next captured packet.</p>
+<p>The return value can be:</p>
+<ul>
+<li>1 if the packet has been read without problems</li>
+<li>0 if the timeout set with <a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a> has elapsed. In this case pkt_header and pkt_data don't point to a valid packet</li>
+<li>-1 if an error occurred</li>
+<li>-2 if EOF was reached reading from an offline capture</li>
+</ul>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a>, <a class="el" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de" title="Collect a group of packets.">pcap_loop()</a>, <a class="el" href="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c" title="Collect a group of packets.">pcap_dispatch()</a>, <a class="el" href="group__wpcapfunc.html#gabcba231c099919ecd9300d7160b19878" title="Prototype of the callback function that receives the packets.">pcap_handler()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gae92f11bfb001c19b2d0fbcd6821d222a"></a><!-- doxytag: member="funcs/pcap.h::pcap_offline_filter" ref="gae92f11bfb001c19b2d0fbcd6821d222a" args="(struct bpf_program *prog, const struct pcap_pkthdr *header, const u_char *pkt_data)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_offline_filter </td>
+ <td>(</td>
+ <td class="paramtype">struct bpf_program *&nbsp;</td>
+ <td class="paramname"> <em>prog</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const struct <a class="el" href="structpcap__pkthdr.html">pcap_pkthdr</a> *&nbsp;</td>
+ <td class="paramname"> <em>header</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const u_char *&nbsp;</td>
+ <td class="paramname"> <em>pkt_data</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Returns if a given filter applies to an offline packet. </p>
+<p>This function is used to apply a filter to a packet that is currently in memory. This process does not need to open an adapter; we need just to create the proper filter (by settings parameters like the snapshot length, or the link-layer type) by means of the <a class="el" href="group__wpcapfunc.html#ga8325b202dad14a00609db8372722ae4e" title="Compile a packet filter without the need of opening an adapter. This function converts...">pcap_compile_nopcap()</a>.</p>
+<p>The current API of libpcap does not allow to receive a packet and to filter the packet after it has been received. However, this can be useful in case you want to filter packets in the application, instead of into the receiving process. This function allows you to do the job.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>prog,:</em>&nbsp;</td><td>bpf program (created with the <a class="el" href="group__wpcapfunc.html#ga8325b202dad14a00609db8372722ae4e" title="Compile a packet filter without the need of opening an adapter. This function converts...">pcap_compile_nopcap()</a> ) </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>header,:</em>&nbsp;</td><td>header of the packet that has to be filtered </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>pkt_data,:</em>&nbsp;</td><td>buffer containing the packet, in network-byte order.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the length of the bytes that are currently available into the packet if the packet satisfies the filter, 0 otherwise. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga2b64c7b6490090d1d37088794f1f1791"></a><!-- doxytag: member="funcs/pcap.h::pcap_open" ref="ga2b64c7b6490090d1d37088794f1f1791" args="(const char *source, int snaplen, int flags, int read_timeout, struct pcap_rmtauth *auth, char *errbuf)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a>* pcap_open </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>source</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>snaplen</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>flags</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>read_timeout</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct <a class="el" href="structpcap__rmtauth.html">pcap_rmtauth</a> *&nbsp;</td>
+ <td class="paramname"> <em>auth</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>errbuf</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Open a generic source in order to capture / send (WinPcap only) traffic. </p>
+<p>The <a class="el" href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791" title="Open a generic source in order to capture / send (WinPcap only) traffic.">pcap_open()</a> replaces all the pcap_open_xxx() functions with a single call.</p>
+<p>This function hides the differences between the different pcap_open_xxx() functions so that the programmer does not have to manage different opening function. In this way, the 'true' open function is decided according to the source type, which is included into the source string (in the form of source prefix).</p>
+<p>This function can rely on the <a class="el" href="group__wpcapfunc.html#gaa3111e10f930a9772a32a922b26948b0" title="Accept a set of strings (host name, port, ...), and it returns the complete source...">pcap_createsrcstr()</a> to create the string that keeps the capture device according to the new syntax, and the <a class="el" href="group__wpcapfunc.html#ga090e0afd3f463b4b60a64c47eddc1ba2" title="Parse the source string and returns the pieces in which the source can be split.">pcap_parsesrcstr()</a> for the other way round.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>source,:</em>&nbsp;</td><td>zero-terminated string containing the source name to open. The source name has to include the format prefix according to the new <a class="el" href="group__remote__source__string.html">Source Specification Syntax</a> and it cannot be NULL.<br/>
+ On on Linux systems with 2.2 or later kernels, a device argument of "any" (i.e. rpcap://any) can be used to capture packets from all interfaces. <br/>
+ In order to makes the source syntax easier, please remember that:</p>
+<ul>
+<li>the adapters returned by the <a class="el" href="group__wpcapfunc.html#ga98f36e62c95c6ad81eaa8b2bbeb8f16e" title="Create a list of network devices that can be opened with pcap_open().">pcap_findalldevs_ex()</a> can be used immediately by the <a class="el" href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791" title="Open a generic source in order to capture / send (WinPcap only) traffic.">pcap_open()</a></li>
+<li>in case the user wants to pass its own source string to the <a class="el" href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791" title="Open a generic source in order to capture / send (WinPcap only) traffic.">pcap_open()</a>, the <a class="el" href="group__wpcapfunc.html#gaa3111e10f930a9772a32a922b26948b0" title="Accept a set of strings (host name, port, ...), and it returns the complete source...">pcap_createsrcstr()</a> helps in creating the correct source identifier.</li>
+</ul>
+</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>snaplen,:</em>&nbsp;</td><td>length of the packet that has to be retained. For each packet received by the filter, only the first 'snaplen' bytes are stored in the buffer and passed to the user application. For instance, snaplen equal to 100 means that only the first 100 bytes of each packet are stored.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>flags,:</em>&nbsp;</td><td>keeps several flags that can be needed for capturing packets. The allowed flags are defined in the <a class="el" href="group__remote__open__flags.html">pcap_open() flags </a>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>read_timeout,:</em>&nbsp;</td><td>read timeout in milliseconds. The read timeout is used to arrange that the read not necessarily return immediately when a packet is seen, but that it waits for some amount of time to allow more packets to arrive and to read multiple packets from the OS kernel in one operation. Not all platforms support a read timeout; on platforms that don't, the read timeout is ignored.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>auth,:</em>&nbsp;</td><td>a pointer to a 'struct pcap_rmtauth' that keeps the information required to authenticate the user on a remote machine. In case this is not a remote capture, this pointer can be set to NULL.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>errbuf,:</em>&nbsp;</td><td>a pointer to a user-allocated buffer which will contain the error in case this function fails. The <a class="el" href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791" title="Open a generic source in order to capture / send (WinPcap only) traffic.">pcap_open()</a> and findalldevs() are the only two functions which have this parameter, since they do not have (yet) a pointer to a pcap_t structure, which reserves space for the error string. Since these functions do not have (yet) a pcap_t pointer (the pcap_t pointer is NULL in case of errors), they need an explicit 'errbuf' variable. 'errbuf' may also be set to warning text when <a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a> succeds; to detect this case the caller should store a zero-length string in 'errbuf' before calling <a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a> and display the warning to the user if 'errbuf' is no longer a zero-length string.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to a 'pcap_t' which can be used as a parameter to the following calls (<a class="el" href="group__wpcapfunc.html#ga363bdc6f6b39b4979ddcf15ecb830c5c" title="Compile a packet filter, converting an high level filtering expression (see Filtering...">pcap_compile()</a> and so on) and that specifies an opened WinPcap session. In case of problems, it returns NULL and the 'errbuf' variable keeps the error message.</dd></dl>
+<dl class="warning"><dt><b>Warning:</b></dt><dd>The source cannot be larger than PCAP_BUF_SIZE.</dd>
+<dd>
+The following formats are not allowed as 'source' strings:<ul>
+<li>rpcap:// [to open the first local adapter]</li>
+<li>rpcap://hostname/ [to open the first remote adapter] </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga6445eeb76f2757b9fa088b276eea2845"></a><!-- doxytag: member="funcs/pcap.h::pcap_open_dead" ref="ga6445eeb76f2757b9fa088b276eea2845" args="(int linktype, int snaplen)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a>* pcap_open_dead </td>
+ <td>(</td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>linktype</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>snaplen</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Create a pcap_t structure without starting a capture. </p>
+<p><a class="el" href="group__wpcapfunc.html#ga6445eeb76f2757b9fa088b276eea2845" title="Create a pcap_t structure without starting a capture.">pcap_open_dead()</a> is used for creating a pcap_t structure to use when calling the other functions in libpcap. It is typically used when just using libpcap for compiling BPF code.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#ga91078168a13de8848df2b7b83d1f5b69" title="Open a savefile in the tcpdump/libpcap format to read packets.">pcap_open_offline()</a>, <a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a>, <a class="el" href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d" title="Construct a list of network devices that can be opened with pcap_open_live().">pcap_findalldevs()</a>, <a class="el" href="group__wpcapfunc.html#ga363bdc6f6b39b4979ddcf15ecb830c5c" title="Compile a packet filter, converting an high level filtering expression (see Filtering...">pcap_compile()</a>, <a class="el" href="group__wpcapfunc.html#gaf5f9cfe85dad0967ff607e5159b1ba61" title="Associate a filter to a capture.">pcap_setfilter()</a>, <a class="el" href="group__wpcapfunc.html#gaa45a5e1a4ba9925bb3586dcbeec78560" title="close the files associated with p and deallocates resources.">pcap_close()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaae6abe06e15c87b803f69773822beca8"></a><!-- doxytag: member="funcs/pcap.h::pcap_open_live" ref="gaae6abe06e15c87b803f69773822beca8" args="(const char *device, int snaplen, int promisc, int to_ms, char *ebuf)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a>* pcap_open_live </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>device</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>snaplen</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>promisc</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>to_ms</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>ebuf</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Open a live capture from the network. </p>
+<p><a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a> is used to obtain a packet capture descriptor to look at packets on the network. device is a string that specifies the network device to open; on Linux systems with 2.2 or later kernels, a device argument of "any" or NULL can be used to capture packets from all interfaces. snaplen specifies the maximum number of bytes to capture. If this value is less than the size of a packet that is captured, only the first snaplen bytes of that packet will be captured and provided as packet data. A value of 65535 should be sufficient, on most if not all networks, to capture all the data available from the packet. promisc specifies if the interface is to be put into promiscuous mode. (Note that even if this parameter is false, the interface could well be in promiscuous mode for some other reason.) For now, this doesn't work on the "any" device; if an argument of "any" or NULL is supplied, the promisc flag is ignored. to_ms specifies the read timeout in milliseconds. The read timeout is used to arrange that the read not necessarily return immediately when a packet is seen, but that it wait for some amount of time to allow more packets to arrive and to read multiple packets from the OS kernel in one operation. Not all platforms support a read timeout; on platforms that don't, the read timeout is ignored. A zero value for to_ms, on platforms that support a read timeout, will cause a read to wait forever to allow enough packets to arrive, with no timeout. errbuf is used to return error or warning text. It will be set to error text when <a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a> fails and returns NULL. errbuf may also be set to warning text when <a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a> succeds; to detect this case the caller should store a zero-length string in errbuf before calling <a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a> and display the warning to the user if errbuf is no longer a zero-length string.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#ga91078168a13de8848df2b7b83d1f5b69" title="Open a savefile in the tcpdump/libpcap format to read packets.">pcap_open_offline()</a>, <a class="el" href="group__wpcapfunc.html#ga6445eeb76f2757b9fa088b276eea2845" title="Create a pcap_t structure without starting a capture.">pcap_open_dead()</a>, <a class="el" href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d" title="Construct a list of network devices that can be opened with pcap_open_live().">pcap_findalldevs()</a>, <a class="el" href="group__wpcapfunc.html#gaa45a5e1a4ba9925bb3586dcbeec78560" title="close the files associated with p and deallocates resources.">pcap_close()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga91078168a13de8848df2b7b83d1f5b69"></a><!-- doxytag: member="funcs/pcap.h::pcap_open_offline" ref="ga91078168a13de8848df2b7b83d1f5b69" args="(const char *fname, char *errbuf)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a>* pcap_open_offline </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>fname</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>errbuf</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Open a savefile in the tcpdump/libpcap format to read packets. </p>
+<p><a class="el" href="group__wpcapfunc.html#ga91078168a13de8848df2b7b83d1f5b69" title="Open a savefile in the tcpdump/libpcap format to read packets.">pcap_open_offline()</a> is called to open a "savefile" for reading. fname specifies the name of the file to open. The file has the same format as those used by tcpdump(1) and tcpslice(1). The name "-" in a synonym for stdin. Alternatively, you may call pcap_fopen_offline() to read dumped data from an existing open stream fp. Note that on Windows, that stream should be opened in binary mode. errbuf is used to return error text and is only set when <a class="el" href="group__wpcapfunc.html#ga91078168a13de8848df2b7b83d1f5b69" title="Open a savefile in the tcpdump/libpcap format to read packets.">pcap_open_offline()</a> or pcap_fopen_offline() fails and returns NULL.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a>, <a class="el" href="group__wpcapfunc.html#ga9506c33d580fdb5e5c288dba0f8a085c" title="Open a file to write packets.">pcap_dump_open()</a>, <a class="el" href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d" title="Construct a list of network devices that can be opened with pcap_open_live().">pcap_findalldevs()</a>, <a class="el" href="group__wpcapfunc.html#gaa45a5e1a4ba9925bb3586dcbeec78560" title="close the files associated with p and deallocates resources.">pcap_close()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga090e0afd3f463b4b60a64c47eddc1ba2"></a><!-- doxytag: member="funcs/pcap.h::pcap_parsesrcstr" ref="ga090e0afd3f463b4b60a64c47eddc1ba2" args="(const char *source, int *type, char *host, char *port, char *name, char *errbuf)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_parsesrcstr </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>source</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int *&nbsp;</td>
+ <td class="paramname"> <em>type</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>host</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>port</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>name</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>errbuf</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Parse the source string and returns the pieces in which the source can be split. </p>
+<p>This call is the other way round of <a class="el" href="group__wpcapfunc.html#gaa3111e10f930a9772a32a922b26948b0" title="Accept a set of strings (host name, port, ...), and it returns the complete source...">pcap_createsrcstr()</a>. It accepts a null-terminated string and it returns the parameters related to the source. This includes:</p>
+<ul>
+<li>the type of the source (file, winpcap on a remote adapter, winpcap on local adapter), which is determined by the source prefix (PCAP_SRC_IF_STRING and so on)</li>
+<li>the host on which the capture has to be started (only for remote captures)</li>
+<li>the 'raw' name of the source (file name, name of the remote adapter, name of the local adapter), without the source prefix. The string returned does not include the type of the source itself (i.e. the string returned does not include "file://" or rpcap:// or such).</li>
+</ul>
+<p>The user can omit some parameters in case it is not interested in them.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>source,:</em>&nbsp;</td><td>a null-terminated string containing the WinPcap source. This source starts with an identifier according to the new <a class="el" href="group__remote__source__string.html">Source Specification Syntax </a>.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>type,:</em>&nbsp;</td><td>pointer to an integer, which is used to return the code corrisponding to the selected source. The code will be one defined in the <a class="el" href="group__remote__source__ID.html">Source identification Codes </a>.<br/>
+ In case the source string does not exists (i.e. 'source == NULL') or it is empty ('*source == NULL'), it returns PCAP_SRC_IF_LOCAL (i.e. you are ready to call <a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a> ). This behavior is kept only for compatibility with older applications (e.g. tcpdump); therefore we suggest to move to the new syntax for sources.<br/>
+ This parameter can be NULL in case the user is not interested in that.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>host,:</em>&nbsp;</td><td>user-allocated buffer (of size PCAP_BUF_SIZE) that is used to return the host name on which the capture has to be started. This value is meaningful only in case of remote capture; otherwise, the returned string will be empty (""). This parameter can be NULL in case the user is not interested in that.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>port,:</em>&nbsp;</td><td>user-allocated buffer (of size PCAP_BUF_SIZE) that is used to return the port that has to be used by the RPCAP protocol to contact the other host. This value is meaningful only in case of remote capture and if the user wants to use a non-standard port; otherwise, the returned string will be empty (""). In case of remote capture, an emply string means "use the standard RPCAP port". This parameter can be NULL in case the user is not interested in that.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>name,:</em>&nbsp;</td><td>user-allocated buffer (of size PCAP_BUF_SIZE) that is used to return the source name, without the source prefix. If the name does not exist (for example because source contains 'rpcap://' that means 'default local adapter'), it returns NULL. This parameter can be NULL in case the user is not interested in that.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>errbuf,:</em>&nbsp;</td><td>pointer to a user-allocated buffer (of size PCAP_ERRBUF_SIZE) that will contain the error message (in case there is one). This parameter can be NULL in case the user is not interested in that.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>'0' if everything is fine, '-1' if some errors occurred. The requested values (host name, network port, type of the source) are returned into the proper variables passed by reference. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gac3b6784c6c2623b93b22f6f219bd470e"></a><!-- doxytag: member="funcs/pcap.h::pcap_perror" ref="gac3b6784c6c2623b93b22f6f219bd470e" args="(pcap_t *p, char *prefix)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void pcap_perror </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>prefix</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>print the text of the last pcap library error on stderr, prefixed by prefix. </p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#ga81305cb154e4497e95bbb9b708631a3a" title="return the error text pertaining to the last pcap library error.">pcap_geterr()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga5495943cc8262db57f726e2a23f837dd"></a><!-- doxytag: member="funcs/pcap.h::pcap_remoteact_accept" ref="ga5495943cc8262db57f726e2a23f837dd" args="(const char *address, const char *port, const char *hostlist, char *connectinghost, struct pcap_rmtauth *auth, char *errbuf)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SOCKET pcap_remoteact_accept </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>address</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>port</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>hostlist</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>connectinghost</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct <a class="el" href="structpcap__rmtauth.html">pcap_rmtauth</a> *&nbsp;</td>
+ <td class="paramname"> <em>auth</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>errbuf</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Block until a network connection is accepted (active mode only). </p>
+<p>This function has been defined to allow the client dealing with the 'active mode'. In other words, in the 'active mode' the server opens the connection toward the client, so that the client has to open a socket in order to wait for connections. When a new connection is accepted, the RPCAP protocol starts as usual; the only difference is that the connection is initiated by the server.</p>
+<p>This function accepts only ONE connection, then it closes the waiting socket. This means that if some error occurs, the application has to call it again in order to accept another connection.</p>
+<p>This function returns when a new connection (coming from a valid host 'connectinghost') is accepted; it returns error otherwise.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>address,:</em>&nbsp;</td><td>a string that keeps the network address we have to bind to; usually it is NULL (it means 'bind on all local addresses').</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>port,:</em>&nbsp;</td><td>a string that keeps the network port on which we have to bind to; usually it is NULL (it means 'bind on the predefined port', i.e. RPCAP_DEFAULT_NETPORT_ACTIVE).</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>hostlist,:</em>&nbsp;</td><td>a string that keeps the host name of the host from whom we are expecting a connection; it can be NULL (it means 'accept connection from everyone'). Host names are separated by a whatever character in the RPCAP_HOSTLIST_SEP list.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>connectinghost,:</em>&nbsp;</td><td>a user-allocated buffer that will contain the name of the host is trying to connect to us. This variable must be at least RPCAP_HOSTLIST_SIZE bytes..</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>auth,:</em>&nbsp;</td><td>a pointer to a <a class="el" href="structpcap__rmtauth.html" title="This structure keeps the information needed to autheticate the user on a remote machine...">pcap_rmtauth</a> structure. This pointer keeps the information required to authenticate the RPCAP connection to the remote host.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>errbuf,:</em>&nbsp;</td><td>a pointer to a user-allocated buffer (of size PCAP_ERRBUF_SIZE) that will contain the error message (in case there is one).</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The SOCKET identifier of the new control connection if everything is fine, a negative number if some errors occurred. The error message is returned into the errbuf variable. In case it returns '-1', this means 'everything is fine', but the host cannot be admitted. In case it returns '-2', in means 'unrecoverable error' (for example it is not able to bind the socket, or something like that). In case it returns '-3', it means 'authentication failed'. The authentication check is performed only if the connecting host is among the ones that are allowed to connect to this host.</dd></dl>
+<p>The host that is connecting to us is returned into the hostlist variable, which ust be allocated by the user. This variable contains the host name both in case the host is allowed, and in case the connection is refused.</p>
+<dl class="warning"><dt><b>Warning:</b></dt><dd>Although this function returns the socket established by the new control connection, this value should not be used. This value will be stored into some libpcap internal variables and it will be managed automatically by the library. In other words, all the following calls to findalldevs() and <a class="el" href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791" title="Open a generic source in order to capture / send (WinPcap only) traffic.">pcap_open()</a> will check if the host is among one that already has a control connection in place; if so, that one will be used.</dd>
+<dd>
+This function has several problems if used inside a thread, which is stopped when this call is blocked into the accept(). In this case, the socket on which we accept connections is not freed (thread termination is a very dirty job), so that we are no longer able to accept other connections until the program (i.e. the process) stops. In order to solve the problem, call the <a class="el" href="group__wpcapfunc.html#ga7b022e0a67f5ff62fd13df5c688d6d82" title="Clean the socket that is currently used in waiting active connections.">pcap_remoteact_cleanup()</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga7b022e0a67f5ff62fd13df5c688d6d82"></a><!-- doxytag: member="funcs/pcap.h::pcap_remoteact_cleanup" ref="ga7b022e0a67f5ff62fd13df5c688d6d82" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void pcap_remoteact_cleanup </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Clean the socket that is currently used in waiting active connections. </p>
+<p>This function does a very dirty job. The fact is that is the waiting socket is not freed if the pcap_remoteaccept() is killed inside a new thread. This function is able to clean the socket in order to allow the next calls to <a class="el" href="group__wpcapfunc.html#ga5495943cc8262db57f726e2a23f837dd" title="Block until a network connection is accepted (active mode only).">pcap_remoteact_accept()</a> to work.</p>
+<p>This function is useful *only* if you launch <a class="el" href="group__wpcapfunc.html#ga5495943cc8262db57f726e2a23f837dd" title="Block until a network connection is accepted (active mode only).">pcap_remoteact_accept()</a> inside a new thread, and you stops (not very gracefully) the thread (for example because the user changed idea, and it does no longer want to wait for an active connection). So, basically, the flow should be the following:</p>
+<ul>
+<li>launch a new thread</li>
+<li>call the pcap_remoteact_accept</li>
+<li>if this new thread is killed, call <a class="el" href="group__wpcapfunc.html#ga7b022e0a67f5ff62fd13df5c688d6d82" title="Clean the socket that is currently used in waiting active connections.">pcap_remoteact_cleanup()</a>.</li>
+</ul>
+<p>This function has no effects in other cases.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>None. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga6a84e03497f946d61c440696e57e2c95"></a><!-- doxytag: member="funcs/pcap.h::pcap_remoteact_close" ref="ga6a84e03497f946d61c440696e57e2c95" args="(const char *host, char *errbuf)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_remoteact_close </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>host</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>errbuf</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Drop an active connection (active mode only). </p>
+<p>This function has been defined to allow the client dealing with the 'active mode'. This function closes an active connection that is still in place and it purges the host name from the 'activeHost' list. From this point on, the client will not have any connection with that host in place.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>host,:</em>&nbsp;</td><td>a string that keeps the host name of the host for which we want to close the active connection.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>errbuf,:</em>&nbsp;</td><td>a pointer to a user-allocated buffer (of size PCAP_ERRBUF_SIZE) that will contain the error message (in case there is one).</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>'0' if everything is fine, '-1' if some errors occurred. The error message is returned into the errbuf variable. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga7ee8f666bff537aa457b7c05651cf815"></a><!-- doxytag: member="funcs/pcap.h::pcap_remoteact_list" ref="ga7ee8f666bff537aa457b7c05651cf815" args="(char *hostlist, char sep, int size, char *errbuf)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_remoteact_list </td>
+ <td>(</td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>hostlist</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char&nbsp;</td>
+ <td class="paramname"> <em>sep</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>size</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>errbuf</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Return the hostname of the host that have an active connection with us (active mode only). </p>
+<p>This function has been defined to allow the client dealing with the 'active mode'. This function returns the list of hosts that are currently having an active connection with us. This function is useful in order to delete an active connection that is still in place.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>hostlist,:</em>&nbsp;</td><td>a user-allocated string that will keep the list of host that are currently connected with us.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>sep,:</em>&nbsp;</td><td>the character that has to be sued as a separator between the hosts (',' for example).</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>size,:</em>&nbsp;</td><td>size of the hostlist buffer.</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>errbuf,:</em>&nbsp;</td><td>a pointer to a user-allocated buffer (of size PCAP_ERRBUF_SIZE) that will contain the error message (in case there is one).</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>'0' if everything is fine, '-1' if some errors occurred. The error message is returned into the errbuf variable. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga51dbda0f1ab9da2cfe49d657486d50b2"></a><!-- doxytag: member="funcs/pcap.h::pcap_sendpacket" ref="ga51dbda0f1ab9da2cfe49d657486d50b2" args="(pcap_t *p, u_char *buf, int size)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_sendpacket </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">u_char *&nbsp;</td>
+ <td class="paramname"> <em>buf</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Send a raw packet. </p>
+<p>This function allows to send a raw packet to the network. p is the interface that will be used to send the packet, buf contains the data of the packet to send (including the various protocol headers), size is the dimension of the buffer pointed by buf, i.e. the size of the packet to send. The MAC CRC doesn't need to be included, because it is transparently calculated and added by the network interface driver. The return value is 0 if the packet is succesfully sent, -1 otherwise.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gab940e69631b7cc7f2232a69ea02b86d9"></a><!-- doxytag: member="funcs/pcap.h::pcap_sendqueue_alloc" ref="gab940e69631b7cc7f2232a69ea02b86d9" args="(u_int memsize)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structpcap__send__queue.html">pcap_send_queue</a>* pcap_sendqueue_alloc </td>
+ <td>(</td>
+ <td class="paramtype">u_int&nbsp;</td>
+ <td class="paramname"> <em>memsize</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Allocate a send queue. </p>
+<p>This function allocates a send queue, i.e. a buffer containing a set of raw packets that will be transimtted on the network with <a class="el" href="group__wpcapfunc.html#gaa4d55eb047a1cccc0e28397ce04ee097" title="Send a queue of raw packets to the network.">pcap_sendqueue_transmit()</a>.</p>
+<p>memsize is the size, in bytes, of the queue, therefore it determines the maximum amount of data that the queue will contain.</p>
+<p>Use <a class="el" href="group__wpcapfunc.html#ga4c57ea320d71dbfe55c5665af9db1297" title="Add a packet to a send queue.">pcap_sendqueue_queue()</a> to insert packets in the queue.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#ga4c57ea320d71dbfe55c5665af9db1297" title="Add a packet to a send queue.">pcap_sendqueue_queue()</a>, <a class="el" href="group__wpcapfunc.html#gaa4d55eb047a1cccc0e28397ce04ee097" title="Send a queue of raw packets to the network.">pcap_sendqueue_transmit()</a>, <a class="el" href="group__wpcapfunc.html#ga72624f7a9932cc2124abf661001e0aa4" title="Destroy a send queue.">pcap_sendqueue_destroy()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga72624f7a9932cc2124abf661001e0aa4"></a><!-- doxytag: member="funcs/pcap.h::pcap_sendqueue_destroy" ref="ga72624f7a9932cc2124abf661001e0aa4" args="(pcap_send_queue *queue)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void pcap_sendqueue_destroy </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structpcap__send__queue.html">pcap_send_queue</a> *&nbsp;</td>
+ <td class="paramname"> <em>queue</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Destroy a send queue. </p>
+<p>Deletes a send queue and frees all the memory associated with it.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#gab940e69631b7cc7f2232a69ea02b86d9" title="Allocate a send queue.">pcap_sendqueue_alloc()</a>, <a class="el" href="group__wpcapfunc.html#ga4c57ea320d71dbfe55c5665af9db1297" title="Add a packet to a send queue.">pcap_sendqueue_queue()</a>, <a class="el" href="group__wpcapfunc.html#gaa4d55eb047a1cccc0e28397ce04ee097" title="Send a queue of raw packets to the network.">pcap_sendqueue_transmit()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga4c57ea320d71dbfe55c5665af9db1297"></a><!-- doxytag: member="funcs/pcap.h::pcap_sendqueue_queue" ref="ga4c57ea320d71dbfe55c5665af9db1297" args="(pcap_send_queue *queue, const struct pcap_pkthdr *pkt_header, const u_char *pkt_data)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_sendqueue_queue </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="structpcap__send__queue.html">pcap_send_queue</a> *&nbsp;</td>
+ <td class="paramname"> <em>queue</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const struct <a class="el" href="structpcap__pkthdr.html">pcap_pkthdr</a> *&nbsp;</td>
+ <td class="paramname"> <em>pkt_header</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const u_char *&nbsp;</td>
+ <td class="paramname"> <em>pkt_data</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Add a packet to a send queue. </p>
+<p><a class="el" href="group__wpcapfunc.html#ga4c57ea320d71dbfe55c5665af9db1297" title="Add a packet to a send queue.">pcap_sendqueue_queue()</a> adds a packet at the end of the send queue pointed by the queue parameter. pkt_header points to a <a class="el" href="structpcap__pkthdr.html" title="Header of a packet in the dump file.">pcap_pkthdr</a> structure with the timestamp and the length of the packet, pkt_data points to a buffer with the data of the packet.</p>
+<p>The <a class="el" href="structpcap__pkthdr.html" title="Header of a packet in the dump file.">pcap_pkthdr</a> structure is the same used by WinPcap and libpcap to store the packets in a file, therefore sending a capture file is straightforward. 'Raw packet' means that the sending application will have to include the protocol headers, since every packet is sent to the network 'as is'. The CRC of the packets needs not to be calculated, because it will be transparently added by the network interface.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#gab940e69631b7cc7f2232a69ea02b86d9" title="Allocate a send queue.">pcap_sendqueue_alloc()</a>, <a class="el" href="group__wpcapfunc.html#gaa4d55eb047a1cccc0e28397ce04ee097" title="Send a queue of raw packets to the network.">pcap_sendqueue_transmit()</a>, <a class="el" href="group__wpcapfunc.html#ga72624f7a9932cc2124abf661001e0aa4" title="Destroy a send queue.">pcap_sendqueue_destroy()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaa4d55eb047a1cccc0e28397ce04ee097"></a><!-- doxytag: member="funcs/pcap.h::pcap_sendqueue_transmit" ref="gaa4d55eb047a1cccc0e28397ce04ee097" args="(pcap_t *p, pcap_send_queue *queue, int sync)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">u_int pcap_sendqueue_transmit </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structpcap__send__queue.html">pcap_send_queue</a> *&nbsp;</td>
+ <td class="paramname"> <em>queue</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>sync</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Send a queue of raw packets to the network. </p>
+<p>This function transmits the content of a queue to the wire. p is a pointer to the adapter on which the packets will be sent, queue points to a <a class="el" href="structpcap__send__queue.html" title="A queue of raw packets that will be sent to the network with pcap_sendqueue_transmit()...">pcap_send_queue</a> structure containing the packets to send (see <a class="el" href="group__wpcapfunc.html#gab940e69631b7cc7f2232a69ea02b86d9" title="Allocate a send queue.">pcap_sendqueue_alloc()</a> and <a class="el" href="group__wpcapfunc.html#ga4c57ea320d71dbfe55c5665af9db1297" title="Add a packet to a send queue.">pcap_sendqueue_queue()</a>), sync determines if the send operation must be synchronized: if it is non-zero, the packets are sent respecting the timestamps, otherwise they are sent as fast as possible.</p>
+<p>The return value is the amount of bytes actually sent. If it is smaller than the size parameter, an error occurred during the send. The error can be caused by a driver/adapter problem or by an inconsistent/bogus send queue.</p>
+<dl class="note"><dt><b>Note:</b></dt><dd>Using this function is more efficient than issuing a series of <a class="el" href="group__wpcapfunc.html#ga51dbda0f1ab9da2cfe49d657486d50b2" title="Send a raw packet.">pcap_sendpacket()</a>, because the packets are buffered in the kernel driver, so the number of context switches is reduced. Therefore, expect a better throughput when using pcap_sendqueue_transmit.</dd>
+<dd>
+When Sync is set to TRUE, the packets are synchronized in the kernel with a high precision timestamp. This requires a non-negligible amount of CPU, but allows normally to send the packets with a precision of some microseconds (depending on the accuracy of the performance counter of the machine). Such a precision cannot be reached sending the packets with <a class="el" href="group__wpcapfunc.html#ga51dbda0f1ab9da2cfe49d657486d50b2" title="Send a raw packet.">pcap_sendpacket()</a>.</dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#gab940e69631b7cc7f2232a69ea02b86d9" title="Allocate a send queue.">pcap_sendqueue_alloc()</a>, <a class="el" href="group__wpcapfunc.html#ga4c57ea320d71dbfe55c5665af9db1297" title="Add a packet to a send queue.">pcap_sendqueue_queue()</a>, <a class="el" href="group__wpcapfunc.html#ga72624f7a9932cc2124abf661001e0aa4" title="Destroy a send queue.">pcap_sendqueue_destroy()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga9588b99ac118cf827873d9e941eb6c77"></a><!-- doxytag: member="funcs/pcap.h::pcap_set_datalink" ref="ga9588b99ac118cf827873d9e941eb6c77" args="(pcap_t *p, int dlt)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_set_datalink </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>dlt</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Set the current data link type of the pcap descriptor to the type specified by dlt. -1 is returned on failure. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga124bde25ccd9e39017ff2abec2dda623"></a><!-- doxytag: member="funcs/pcap.h::pcap_setbuff" ref="ga124bde25ccd9e39017ff2abec2dda623" args="(pcap_t *p, int dim)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_setbuff </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>dim</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Set the size of the kernel buffer associated with an adapter. </p>
+<p><em>dim</em> specifies the size of the buffer in bytes. The return value is 0 when the call succeeds, -1 otherwise. If an old buffer was already created with a previous call to <a class="el" href="group__wpcapfunc.html#ga124bde25ccd9e39017ff2abec2dda623" title="Set the size of the kernel buffer associated with an adapter.">pcap_setbuff()</a>, it is deleted and its content is discarded. <a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a> creates a 1 MByte buffer by default.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a>, <a class="el" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de" title="Collect a group of packets.">pcap_loop()</a>, <a class="el" href="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c" title="Collect a group of packets.">pcap_dispatch()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaf5f9cfe85dad0967ff607e5159b1ba61"></a><!-- doxytag: member="funcs/pcap.h::pcap_setfilter" ref="gaf5f9cfe85dad0967ff607e5159b1ba61" args="(pcap_t *p, struct bpf_program *fp)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_setfilter </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct bpf_program *&nbsp;</td>
+ <td class="paramname"> <em>fp</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Associate a filter to a capture. </p>
+<p><a class="el" href="group__wpcapfunc.html#gaf5f9cfe85dad0967ff607e5159b1ba61" title="Associate a filter to a capture.">pcap_setfilter()</a> is used to specify a filter program. fp is a pointer to a bpf_program struct, usually the result of a call to <a class="el" href="group__wpcapfunc.html#ga363bdc6f6b39b4979ddcf15ecb830c5c" title="Compile a packet filter, converting an high level filtering expression (see Filtering...">pcap_compile()</a>. -1 is returned on failure, in which case <a class="el" href="group__wpcapfunc.html#ga81305cb154e4497e95bbb9b708631a3a" title="return the error text pertaining to the last pcap library error.">pcap_geterr()</a> may be used to display the error text; 0 is returned on success.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#ga363bdc6f6b39b4979ddcf15ecb830c5c" title="Compile a packet filter, converting an high level filtering expression (see Filtering...">pcap_compile()</a>, <a class="el" href="group__wpcapfunc.html#ga8325b202dad14a00609db8372722ae4e" title="Compile a packet filter without the need of opening an adapter. This function converts...">pcap_compile_nopcap()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gab14ceacbf1c2f63026416dd73f80dc0d"></a><!-- doxytag: member="funcs/pcap.h::pcap_setmintocopy" ref="gab14ceacbf1c2f63026416dd73f80dc0d" args="(pcap_t *p, int size)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_setmintocopy </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Set the minumum amount of data received by the kernel in a single call. </p>
+<p><a class="el" href="group__wpcapfunc.html#gab14ceacbf1c2f63026416dd73f80dc0d" title="Set the minumum amount of data received by the kernel in a single call.">pcap_setmintocopy()</a> changes the minimum amount of data in the kernel buffer that causes a read from the application to return (unless the timeout expires). If the value of <em>size</em> is large, the kernel is forced to wait the arrival of several packets before copying the data to the user. This guarantees a low number of system calls, i.e. low processor usage, and is a good setting for applications like packet-sniffers and protocol analyzers. Vice versa, in presence of a small value for this variable, the kernel will copy the packets as soon as the application is ready to receive them. This is useful for real time applications that need the best responsiveness from the kernel. <a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a> sets a default mintocopy value of 16000 bytes.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a>, <a class="el" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de" title="Collect a group of packets.">pcap_loop()</a>, <a class="el" href="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c" title="Collect a group of packets.">pcap_dispatch()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaef07ef49d3c75644f3fd34518e2fe720"></a><!-- doxytag: member="funcs/pcap.h::pcap_setmode" ref="gaef07ef49d3c75644f3fd34518e2fe720" args="(pcap_t *p, int mode)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_setmode </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>mode</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Set the working mode of the interface p to mode. </p>
+<p>Valid values for mode are MODE_CAPT (default capture mode) and MODE_STAT (statistical mode). See the tutorial "\ref wpcap_tut9" for details about statistical mode. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga3f212141c80b59aad8ac535bb0178275"></a><!-- doxytag: member="funcs/pcap.h::pcap_setnonblock" ref="ga3f212141c80b59aad8ac535bb0178275" args="(pcap_t *p, int nonblock, char *errbuf)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_setnonblock </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>nonblock</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>errbuf</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Switch between blocking and nonblocking mode. </p>
+<p><a class="el" href="group__wpcapfunc.html#ga3f212141c80b59aad8ac535bb0178275" title="Switch between blocking and nonblocking mode.">pcap_setnonblock()</a> puts a capture descriptor, opened with <a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a>, into "non-blocking" mode, or takes it out of "non-blocking" mode, depending on whether the nonblock argument is non-zero or zero. It has no effect on "savefiles". If there is an error, -1 is returned and errbuf is filled in with an appropriate error message; otherwise, 0 is returned. In "non-blocking" mode, an attempt to read from the capture descriptor with <a class="el" href="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c" title="Collect a group of packets.">pcap_dispatch()</a> will, if no packets are currently available to be read, return 0 immediately rather than blocking waiting for packets to arrive. <a class="el" href="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de" title="Collect a group of packets.">pcap_loop()</a> and <a class="el" href="group__wpcapfunc.html#gadf60257f650aaf869671e0a163611fc3" title="Return the next available packet.">pcap_next()</a> will not work in "non-blocking" mode.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#gab25dc0bfe06545b86be4103bf010708e" title="Get the &quot;non-blocking&quot; state of an interface.">pcap_getnonblock()</a>, <a class="el" href="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c" title="Collect a group of packets.">pcap_dispatch()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga84c7d55f5b0e7d545b38d6b8e7bde005"></a><!-- doxytag: member="funcs/pcap.h::pcap_setsampling" ref="ga84c7d55f5b0e7d545b38d6b8e7bde005" args="(pcap_t *p)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct <a class="el" href="structpcap__samp.html">pcap_samp</a>* pcap_setsampling </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [read]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Define a sampling method for packet capture. </p>
+<p>This function allows applying a sampling method to the packet capture process. The currently sampling methods (and the way to set them) are described into the struct <a class="el" href="structpcap__samp.html" title="This structure defines the information related to sampling.">pcap_samp</a>. In other words, the user must set the appropriate parameters into it; these will be applied as soon as the capture starts.</p>
+<dl class="warning"><dt><b>Warning:</b></dt><dd>Sampling parameters <b>cannot</b> be changed when a capture is active. These parameters must be applied <b>before</b> starting the capture. If they are applied when the capture is in progress, the new settings are ignored.</dd>
+<dd>
+Sampling works only when capturing data on Win32 or reading from a file. It has not been implemented on other platforms. Sampling works on remote machines provided that the probe (i.e. the capturing device) is a Win32 workstation. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gae5c6e9768e89a6b82f9d720f37e6ab97"></a><!-- doxytag: member="funcs/pcap.h::pcap_snapshot" ref="gae5c6e9768e89a6b82f9d720f37e6ab97" args="(pcap_t *p)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_snapshot </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Return the dimension of the packet portion (in bytes) that is delivered to the application. </p>
+<p><a class="el" href="group__wpcapfunc.html#gae5c6e9768e89a6b82f9d720f37e6ab97" title="Return the dimension of the packet portion (in bytes) that is delivered to the application...">pcap_snapshot()</a> returns the snapshot length specified when pcap_open_live was called.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a>, <a class="el" href="group__wpcapfunc.html#ga363bdc6f6b39b4979ddcf15ecb830c5c" title="Compile a packet filter, converting an high level filtering expression (see Filtering...">pcap_compile()</a>, <a class="el" href="group__wpcapfunc.html#ga8325b202dad14a00609db8372722ae4e" title="Compile a packet filter without the need of opening an adapter. This function converts...">pcap_compile_nopcap()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gabbd74d8c3ce1bcbccc76129ac38f4549"></a><!-- doxytag: member="funcs/pcap.h::pcap_stats" ref="gabbd74d8c3ce1bcbccc76129ac38f4549" args="(pcap_t *p, struct pcap_stat *ps)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_stats </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct <a class="el" href="structpcap__stat.html">pcap_stat</a> *&nbsp;</td>
+ <td class="paramname"> <em>ps</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Return statistics on current capture. </p>
+<p><a class="el" href="group__wpcapfunc.html#gabbd74d8c3ce1bcbccc76129ac38f4549" title="Return statistics on current capture.">pcap_stats()</a> returns 0 and fills in a <a class="el" href="structpcap__stat.html" title="Structure that keeps statistical values on an interface.">pcap_stat</a> struct. The values represent packet statistics from the start of the run to the time of the call. If there is an error or the underlying packet capture doesn't support packet statistics, -1 is returned and the error text can be obtained with <a class="el" href="group__wpcapfunc.html#gac3b6784c6c2623b93b22f6f219bd470e" title="print the text of the last pcap library error on stderr, prefixed by prefix.">pcap_perror()</a> or <a class="el" href="group__wpcapfunc.html#ga81305cb154e4497e95bbb9b708631a3a" title="return the error text pertaining to the last pcap library error.">pcap_geterr()</a>. <a class="el" href="group__wpcapfunc.html#gabbd74d8c3ce1bcbccc76129ac38f4549" title="Return statistics on current capture.">pcap_stats()</a> is supported only on live captures, not on "savefiles"; no statistics are stored in "savefiles", so no statistics are available when reading from a "savefile".</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#ga8050f7829956aabd243cc32b3cfabbd6" title="Return statistics on current capture.">pcap_stats_ex()</a>, <a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga8050f7829956aabd243cc32b3cfabbd6"></a><!-- doxytag: member="funcs/pcap.h::pcap_stats_ex" ref="ga8050f7829956aabd243cc32b3cfabbd6" args="(pcap_t *p, int *pcap_stat_size)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct <a class="el" href="structpcap__stat.html">pcap_stat</a>* pcap_stats_ex </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int *&nbsp;</td>
+ <td class="paramname"> <em>pcap_stat_size</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [read]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Return statistics on current capture. </p>
+<p><a class="el" href="group__wpcapfunc.html#ga8050f7829956aabd243cc32b3cfabbd6" title="Return statistics on current capture.">pcap_stats_ex()</a> extends the <a class="el" href="group__wpcapfunc.html#gabbd74d8c3ce1bcbccc76129ac38f4549" title="Return statistics on current capture.">pcap_stats()</a> allowing to return more statistical parameters than the old call. One of the advantages of this new call is that the <a class="el" href="structpcap__stat.html" title="Structure that keeps statistical values on an interface.">pcap_stat</a> structure is not allocated by the user; instead, it is returned back by the system. This allow to extend the <a class="el" href="structpcap__stat.html" title="Structure that keeps statistical values on an interface.">pcap_stat</a> structure without affecting backward compatibility on older applications. These will simply check at the values of the members at the beginning of the structure, while only newest applications are able to read new statistical values, which are appended in tail.</p>
+<p>To be sure not to read a piece of mamory which has not been allocated by the system, the variable pcap_stat_size will return back the size of the structure <a class="el" href="structpcap__stat.html" title="Structure that keeps statistical values on an interface.">pcap_stat</a> allocated by the system.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>p,:</em>&nbsp;</td><td>pointer to the pcap_t currently in use. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>pcap_stat_size,:</em>&nbsp;</td><td>pointer to an integer that will contain (when the function returns back) the size of the structure <a class="el" href="structpcap__stat.html" title="Structure that keeps statistical values on an interface.">pcap_stat</a> as it has been allocated by the system.</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>: a pointer to a <a class="el" href="structpcap__stat.html" title="Structure that keeps statistical values on an interface.">pcap_stat</a> structure, that will contain the statistics related to the current device. The return value is NULL in case of errors, and the error text can be obtained with <a class="el" href="group__wpcapfunc.html#gac3b6784c6c2623b93b22f6f219bd470e" title="print the text of the last pcap library error on stderr, prefixed by prefix.">pcap_perror()</a> or <a class="el" href="group__wpcapfunc.html#ga81305cb154e4497e95bbb9b708631a3a" title="return the error text pertaining to the last pcap library error.">pcap_geterr()</a>.</dd></dl>
+<dl class="warning"><dt><b>Warning:</b></dt><dd><a class="el" href="group__wpcapfunc.html#ga8050f7829956aabd243cc32b3cfabbd6" title="Return statistics on current capture.">pcap_stats_ex()</a> is supported only on live captures, not on "savefiles"; no statistics are stored in "savefiles", so no statistics are available when reading from a "savefile".</dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#gabbd74d8c3ce1bcbccc76129ac38f4549" title="Return statistics on current capture.">pcap_stats()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gafac2067e8f66f5a5a87f19f5e2b5ad4f"></a><!-- doxytag: member="funcs/pcap.h::pcap_strerror" ref="gafac2067e8f66f5a5a87f19f5e2b5ad4f" args="(int error)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char* pcap_strerror </td>
+ <td>(</td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>error</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Provided in case strerror() isn't available. </p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__wpcapfunc.html#gac3b6784c6c2623b93b22f6f219bd470e" title="print the text of the last pcap library error on stderr, prefixed by prefix.">pcap_perror()</a>, <a class="el" href="group__wpcapfunc.html#ga81305cb154e4497e95bbb9b708631a3a" title="return the error text pertaining to the last pcap library error.">pcap_geterr()</a> </dd></dl>
+
+</div>
+</div>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/group__wpcapsamps.html b/3rdparty/winpcap/docs/html/group__wpcapsamps.html
new file mode 100644
index 00000000000..c52804a9fa0
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/group__wpcapsamps.html
@@ -0,0 +1,500 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Using WinPcap in your programs</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Using WinPcap in your programs<br/>
+<small>
+[<a class="el" href="group__wpcap.html">WinPcap user's manual</a>]</small>
+</h1><table border="0" cellpadding="0" cellspacing="0">
+</table>
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta name="GENERATOR" content="Microsoft FrontPage 6.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<title></title>
+</head>
+
+<body>
+<h2>Creating an application that uses <i>wpcap.dll</i></h2>
+<p>To create an application that uses <i>wpcap.dll</i> with Microsoft Visual C++,
+follow these
+steps:</p>
+<ul>
+ <li>Include the file <i>pcap.h</i> at the beginning of every source file that
+ uses the functions exported by library.</li>
+ <li>If your program uses Win32 specific functions of WinPcap, remember to include <i>WPCAP</i>
+ among the preprocessor definitions.</li>
+ <li>If your program uses the remote capture capabilities of WinPcap, add <i>
+ HAVE_REMOTE</i> among the preprocessor definitions. Do <i>not</i> include
+ remote-ext.h directly in your source files.<li>Set the options of the linker to include the <i>wpcap.lib</i> library
+ file specific for your target (x86 or x64). <i>wpcap.lib</i> for x86 can be
+ found in the \lib folder of the WinPcap developer's
+ pack, <i>wpcap.lib</i> for x64 can
+ be found in the \lib\x64 folder.<li>Set the options of the linker to include the winsock library file<i>
+ ws2_32.lib</i>. This file is distributed with the C compiler
+ and contains the socket functions for Windows. It is needed by some
+ functions used by the samples in the tutorial.</li>
+</ul>
+<p><b>How to properly set Microsoft Visual Studio<br>
+<br>
+</b><i>Visual Studio 6</i></p>
+<ul>
+ <li>To add a preprocessor definition, you must select <em>Settings</em> from the <em>Project</em> menu, then select <em>C/C++</em>
+ from the tab control, and under the category <i>General</i>, you must add
+ the definition under the Preprocessor Definitions text box.
+ <li>To add a new library to the project with Microsoft Visual C++, you must
+ select <em>Settings</em> from the <em>Project</em> menu, then select <em>Link</em>
+ from the tab control, and then add the name of the new library in the <em>Object/library
+ modules</em> editbox.
+ <li>To add a new path where Microsoft Visual C++ will look for the libraries,
+ you must select <em>Options</em> from the <em>Tools</em> menu, then <em>
+ Directories</em>
+ from the tab control, <em>Library files</em> from the <em>Show directories
+ for</em> combobox, and the add the path in the <em>Directories</em> box.
+ <li>To add a new path where Microsoft Visual C++ will look for include files, you must select <em>Options</em> from the <em>Tools</em> menu, then
+ <em>Directories</em>
+ from the tab control, <em>Include files</em> from the <em>Show directories
+ for</em> combobox, and the add the path in the <em>Directories</em> box.</li>
+</ul>
+<p><i>Visual Studio 2005 (needed to compile x64 applications)</i></p>
+<ul>
+ <li>To add a preprocessor definition, you must select <em>Properties</em> from the <em>Project</em> menu, then select <em>C/C++</em>
+ from the list control on the left, and under the category <i>Preprocessor</i>, you must add
+ the definition under the <i>Preprocessor Definitions</i> text box.
+ <li>To add a new library to the project, you must
+ select <em>Properties</em> from the <em>Project</em> menu, then select <em>Linker</em>
+ from the list control on the left, and under the category <i>Input</i> add the name of the new library in the
+ <em>Additional Dependencies</em> text box.<li>To add a new path where Microsoft Visual
+ Studio will look for the libraries,
+ you must select <em>Options</em> from the <em>Tools</em> menu, then <em>
+ Project and Solutions</em> from the list control on the left, <em>VC++
+ Directories</em>, then choose <i>Library</i> <i>Files</i> in the <em>Show directories
+ for</em> combobox, and the add the path in the box below.
+ <li>To add a new path where Microsoft Visual
+ Studio will look for the include files,
+ you must select <em>Options</em> from the <em>Tools</em> menu, then <em>
+ Project and Solutions</em> from the list control on the left, <em>VC++
+ Directories</em>, then choose <i>Include</i> <i>Files</i> in the <em>Show directories
+ for</em> combobox, and the add the path in the box below.
+ </ul>
+<p>&nbsp;</p>
+<h2>Sample programs</h2>
+<p>A couple of sample programs are provided to show the usage of the WinPcap API. The
+source of the examples, along with all the files needed to compile and run them, can be found in the <a href="http://www.winpcap.org/install/bin">Developer's
+Pack</a>.&nbsp; For didactic purpose we provide here a browsable version of the
+code: it is possible to click on the variables and functions to jump the
+documentation of each of them. For a more complete set of samples, try <a href="group__wpcap__tut.htm">WinPcap
+Tutorial Section</a>.</p>
+
+</body>
+
+</html>
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta name="GENERATOR" content="Microsoft FrontPage 6.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<title></title>
+</head>
+
+<body>
+
+<h3>Packet Dump</h3>
+<p>This program reads packets from a file or a network adapter, depending on
+a command line switch. If a source is not provided, the program shows a list of
+available adapters, one of which can be selected. Once the
+capture is started, the program prints the timestamp, the length and the raw
+contents of the packets. Once compiled, it will run on all the Win32 platforms. It
+can be compiled to run on Unix as well (the makefile is provided).</p>
+
+</body>
+
+</html>
+ <div class="fragment"><pre class="fragment"><span class="comment">/*</span>
+<span class="comment"> * Copyright (c) 1999 - 2005 NetGroup, Politecnico di Torino (Italy)</span>
+<span class="comment"> * Copyright (c) 2005 - 2006 CACE Technologies, Davis (California)</span>
+<span class="comment"> * All rights reserved.</span>
+<span class="comment"> *</span>
+<span class="comment"> * Redistribution and use in source and binary forms, with or without</span>
+<span class="comment"> * modification, are permitted provided that the following conditions</span>
+<span class="comment"> * are met:</span>
+<span class="comment"> *</span>
+<span class="comment"> * 1. Redistributions of source code must retain the above copyright</span>
+<span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
+<span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright</span>
+<span class="comment"> * notice, this list of conditions and the following disclaimer in the</span>
+<span class="comment"> * documentation and/or other materials provided with the distribution.</span>
+<span class="comment"> * 3. Neither the name of the Politecnico di Torino, CACE Technologies </span>
+<span class="comment"> * nor the names of its contributors may be used to endorse or promote </span>
+<span class="comment"> * products derived from this software without specific prior written </span>
+<span class="comment"> * permission.</span>
+<span class="comment"> *</span>
+<span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
+<span class="comment"> * &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
+<span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
+<span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
+<span class="comment"> * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
+<span class="comment"> * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
+<span class="comment"> * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
+<span class="comment"> * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
+<span class="comment"> * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
+<span class="comment"> * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
+<span class="comment"> * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
+<span class="comment"> *</span>
+<span class="comment"> */</span>
+
+
+<span class="preprocessor">#include &lt;stdlib.h&gt;</span>
+<span class="preprocessor">#include &lt;stdio.h&gt;</span>
+
+<span class="comment">//</span>
+<span class="comment">// NOTE: remember to include WPCAP and HAVE_REMOTE among your</span>
+<span class="comment">// preprocessor definitions.</span>
+<span class="comment">//</span>
+
+<span class="preprocessor">#include &lt;pcap.h&gt;</span>
+
+<span class="preprocessor">#define LINE_LEN 16</span>
+<span class="preprocessor"></span>
+<span class="keywordtype">int</span> main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv)
+{
+<a class="code" href="structpcap__if.html" title="Item in a list of interfaces, used by pcap_findalldevs().">pcap_if_t</a> *alldevs, *d;
+<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *fp;
+u_int inum, i=0;
+<span class="keywordtype">char</span> errbuf[<a class="code" href="group__wpcap__def.html#gacd448353957d92c98fccc29e1fc8d927" title="Size to use when allocating the buffer that contains the libpcap errors.">PCAP_ERRBUF_SIZE</a>];
+<span class="keywordtype">int</span> res;
+<span class="keyword">struct </span><a class="code" href="structpcap__pkthdr.html" title="Header of a packet in the dump file.">pcap_pkthdr</a> *header;
+<span class="keyword">const</span> u_char *pkt_data;
+
+ printf(<span class="stringliteral">&quot;pktdump_ex: prints the packets of the network using WinPcap.\n&quot;</span>);
+ printf(<span class="stringliteral">&quot; Usage: pktdump_ex [-s source]\n\n&quot;</span>
+ <span class="stringliteral">&quot; Examples:\n&quot;</span>
+ <span class="stringliteral">&quot; pktdump_ex -s file://c:/temp/file.acp\n&quot;</span>
+ <span class="stringliteral">&quot; pktdump_ex -s rpcap://\\Device\\NPF_{C8736017-F3C3-4373-94AC-9A34B7DAD998}\n\n&quot;</span>);
+
+ <span class="keywordflow">if</span>(argc &lt; 3)
+ {
+
+ printf(<span class="stringliteral">&quot;\nNo adapter selected: printing the device list:\n&quot;</span>);
+ <span class="comment">/* The user didn&apos;t provide a packet source: Retrieve the local device list */</span>
+ <span class="keywordflow">if</span> (<a class="code" href="group__wpcapfunc.html#ga98f36e62c95c6ad81eaa8b2bbeb8f16e" title="Create a list of network devices that can be opened with pcap_open().">pcap_findalldevs_ex</a>(<a class="code" href="group__remote__source__string.html#ga6d7103b8a7e1eca8c325bd8f32c361c3" title="String that will be used to determine the type of source in use (file, remote/local...">PCAP_SRC_IF_STRING</a>, NULL, &amp;alldevs, errbuf) == -1)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;Error in pcap_findalldevs_ex: %s\n&quot;</span>, errbuf);
+ <span class="keywordflow">return</span> -1;
+ }
+
+ <span class="comment">/* Print the list */</span>
+ <span class="keywordflow">for</span>(d=alldevs; d; d=d-&gt;<a class="code" href="structpcap__if.html#a81508e6e4e41ca4235c8d6b51913c536" title="if not NULL, a pointer to the next element in the list; NULL for the last element...">next</a>)
+ {
+ printf(<span class="stringliteral">&quot;%d. %s\n &quot;</span>, ++i, d-&gt;<a class="code" href="structpcap__if.html#a5ac083a645d964373f022d03df4849c8" title="a pointer to a string giving a name for the device to pass to pcap_open_live()">name</a>);
+
+ <span class="keywordflow">if</span> (d-&gt;<a class="code" href="structpcap__if.html#a8444d6e0dfe2bbab0b5e7b24308f1559" title="if not NULL, a pointer to a string giving a human-readable description of the device...">description</a>)
+ printf(<span class="stringliteral">&quot; (%s)\n&quot;</span>, d-&gt;<a class="code" href="structpcap__if.html#a8444d6e0dfe2bbab0b5e7b24308f1559" title="if not NULL, a pointer to a string giving a human-readable description of the device...">description</a>);
+ <span class="keywordflow">else</span>
+ printf(<span class="stringliteral">&quot; (No description available)\n&quot;</span>);
+ }
+
+ <span class="keywordflow">if</span> (i==0)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;No interfaces found! Exiting.\n&quot;</span>);
+ <span class="keywordflow">return</span> -1;
+ }
+
+ printf(<span class="stringliteral">&quot;Enter the interface number (1-%d):&quot;</span>,i);
+ scanf_s(<span class="stringliteral">&quot;%d&quot;</span>, &amp;inum);
+
+ <span class="keywordflow">if</span> (inum &lt; 1 || inum &gt; i)
+ {
+ printf(<span class="stringliteral">&quot;\nInterface number out of range.\n&quot;</span>);
+
+ <span class="comment">/* Free the device list */</span>
+ <a class="code" href="group__wpcapfunc.html#ga346b4b0b7fd1cda4abb9a39f767dbeb1" title="Free an interface list returned by pcap_findalldevs().">pcap_freealldevs</a>(alldevs);
+ <span class="keywordflow">return</span> -1;
+ }
+
+ <span class="comment">/* Jump to the selected adapter */</span>
+ <span class="keywordflow">for</span> (d=alldevs, i=0; i&lt; inum-1 ;d=d-&gt;<a class="code" href="structpcap__if.html#a81508e6e4e41ca4235c8d6b51913c536" title="if not NULL, a pointer to the next element in the list; NULL for the last element...">next</a>, i++);
+
+ <span class="comment">/* Open the device */</span>
+ <span class="keywordflow">if</span> ( (fp= <a class="code" href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791" title="Open a generic source in order to capture / send (WinPcap only) traffic.">pcap_open</a>(d-&gt;<a class="code" href="structpcap__if.html#a5ac083a645d964373f022d03df4849c8" title="a pointer to a string giving a name for the device to pass to pcap_open_live()">name</a>,
+ 100 <span class="comment">/*snaplen*/</span>,
+ <a class="code" href="group__remote__open__flags.html#ga9134ce51a9a6a7d497c3dee5affdc3b9" title="Defines if the adapter has to go in promiscuous mode.">PCAP_OPENFLAG_PROMISCUOUS</a> <span class="comment">/*flags*/</span>,
+ 20 <span class="comment">/*read timeout*/</span>,
+ NULL <span class="comment">/* remote authentication */</span>,
+ errbuf)
+ ) == NULL)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;\nError opening adapter\n&quot;</span>);
+ <span class="keywordflow">return</span> -1;
+ }
+ }
+ <span class="keywordflow">else</span>
+ {
+ <span class="comment">// Do not check for the switch type (&apos;-s&apos;)</span>
+ <span class="keywordflow">if</span> ( (fp= <a class="code" href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791" title="Open a generic source in order to capture / send (WinPcap only) traffic.">pcap_open</a>(argv[2],
+ 100 <span class="comment">/*snaplen*/</span>,
+ <a class="code" href="group__remote__open__flags.html#ga9134ce51a9a6a7d497c3dee5affdc3b9" title="Defines if the adapter has to go in promiscuous mode.">PCAP_OPENFLAG_PROMISCUOUS</a> <span class="comment">/*flags*/</span>,
+ 20 <span class="comment">/*read timeout*/</span>,
+ NULL <span class="comment">/* remote authentication */</span>,
+ errbuf)
+ ) == NULL)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;\nError opening source: %s\n&quot;</span>, errbuf);
+ <span class="keywordflow">return</span> -1;
+ }
+ }
+
+ <span class="comment">/* Read the packets */</span>
+ <span class="keywordflow">while</span>((res = <a class="code" href="group__wpcapfunc.html#ga439439c2eae61161dc1efb1e03a81133" title="Read a packet from an interface or from an offline capture.">pcap_next_ex</a>( fp, &amp;header, &amp;pkt_data)) &gt;= 0)
+ {
+
+ <span class="keywordflow">if</span>(res == 0)
+ <span class="comment">/* Timeout elapsed */</span>
+ <span class="keywordflow">continue</span>;
+
+ <span class="comment">/* print pkt timestamp and pkt len */</span>
+ printf(<span class="stringliteral">&quot;%ld:%ld (%ld)\n&quot;</span>, header-&gt;<a class="code" href="structpcap__pkthdr.html#a21be78b2818c91cb205885b8a6f5aed8" title="time stamp">ts</a>.tv_sec, header-&gt;<a class="code" href="structpcap__pkthdr.html#a21be78b2818c91cb205885b8a6f5aed8" title="time stamp">ts</a>.tv_usec, header-&gt;<a class="code" href="structpcap__pkthdr.html#a728f264db4f5cc304742565a2bcdbeea" title="length this packet (off wire)">len</a>);
+
+ <span class="comment">/* Print the packet */</span>
+ <span class="keywordflow">for</span> (i=1; (i &lt; header-&gt;<a class="code" href="structpcap__pkthdr.html#aac5771ed2efd92508bb4fe650f2ce7d7" title="length of portion present">caplen</a> + 1 ) ; i++)
+ {
+ printf(<span class="stringliteral">&quot;%.2x &quot;</span>, pkt_data[i-1]);
+ <span class="keywordflow">if</span> ( (i % LINE_LEN) == 0) printf(<span class="stringliteral">&quot;\n&quot;</span>);
+ }
+
+ printf(<span class="stringliteral">&quot;\n\n&quot;</span>);
+ }
+
+ <span class="keywordflow">if</span>(res == -1)
+ {
+ fprintf(stderr, <span class="stringliteral">&quot;Error reading the packets: %s\n&quot;</span>, <a class="code" href="group__wpcapfunc.html#ga81305cb154e4497e95bbb9b708631a3a" title="return the error text pertaining to the last pcap library error.">pcap_geterr</a>(fp));
+ <span class="keywordflow">return</span> -1;
+ }
+
+ <span class="keywordflow">return</span> 0;
+}
+</pre></div><html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta name="GENERATOR" content="Microsoft FrontPage 6.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<title></title>
+</head>
+
+<body>
+
+<h3>Packet Filter</h3>
+
+<p>This is a more complete example of libpcap usage. It shows, among other
+things, how to create and set filters and how to save a capture to disk. It can
+be compiled under Win32 or Unix (projects and makefiles are provided).
+Pcap_filter (pf.exe) is a general-purpose packet filtering application: its
+input parameters are a source of packets (it can be a physical interface or a
+file), a filter and an output file. It takes packets from the source until
+CTRL+C is pressed or the whole file is processed, applies the filter to the
+incoming packets and saves them to the output file if they satisfy the filter.
+Pcap_filter can be used to dump network data according to a particular filter,
+but also to extract a set of packets from a previously saved file. The format of
+both input and output files is the format used by libpcap, i.e. same of WinDump, tcpdump
+and many other network tools.</p>
+
+</body>
+
+</html>
+ <div class="fragment"><pre class="fragment"><span class="comment">/*</span>
+<span class="comment"> * Copyright (c) 1999 - 2005 NetGroup, Politecnico di Torino (Italy)</span>
+<span class="comment"> * Copyright (c) 2005 - 2006 CACE Technologies, Davis (California)</span>
+<span class="comment"> * All rights reserved.</span>
+<span class="comment"> *</span>
+<span class="comment"> * Redistribution and use in source and binary forms, with or without</span>
+<span class="comment"> * modification, are permitted provided that the following conditions</span>
+<span class="comment"> * are met:</span>
+<span class="comment"> *</span>
+<span class="comment"> * 1. Redistributions of source code must retain the above copyright</span>
+<span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
+<span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright</span>
+<span class="comment"> * notice, this list of conditions and the following disclaimer in the</span>
+<span class="comment"> * documentation and/or other materials provided with the distribution.</span>
+<span class="comment"> * 3. Neither the name of the Politecnico di Torino, CACE Technologies </span>
+<span class="comment"> * nor the names of its contributors may be used to endorse or promote </span>
+<span class="comment"> * products derived from this software without specific prior written </span>
+<span class="comment"> * permission.</span>
+<span class="comment"> *</span>
+<span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
+<span class="comment"> * &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
+<span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
+<span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
+<span class="comment"> * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
+<span class="comment"> * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
+<span class="comment"> * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
+<span class="comment"> * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
+<span class="comment"> * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
+<span class="comment"> * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
+<span class="comment"> * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
+<span class="comment"> *</span>
+<span class="comment"> */</span>
+
+
+<span class="preprocessor">#include &lt;stdlib.h&gt;</span>
+<span class="preprocessor">#include &lt;stdio.h&gt;</span>
+
+<span class="preprocessor">#include &lt;pcap.h&gt;</span>
+
+<span class="preprocessor">#define MAX_PRINT 80</span>
+<span class="preprocessor"></span><span class="preprocessor">#define MAX_LINE 16</span>
+<span class="preprocessor"></span>
+
+<span class="keywordtype">void</span> usage();
+
+
+<span class="keywordtype">void</span> main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv)
+{
+<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *fp;
+<span class="keywordtype">char</span> errbuf[<a class="code" href="group__wpcap__def.html#gacd448353957d92c98fccc29e1fc8d927" title="Size to use when allocating the buffer that contains the libpcap errors.">PCAP_ERRBUF_SIZE</a>];
+<span class="keywordtype">char</span> *source=NULL;
+<span class="keywordtype">char</span> *ofilename=NULL;
+<span class="keywordtype">char</span> *filter=NULL;
+<span class="keywordtype">int</span> i;
+<a class="code" href="group__wpcap__def.html#gab8c7858aa3a7e3158d9d58cb113a2ae8" title="libpcap savefile descriptor.">pcap_dumper_t</a> *dumpfile;
+<span class="keyword">struct </span>bpf_program fcode;
+<a class="code" href="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482" title="32-bit unsigned integer">bpf_u_int32</a> NetMask;
+<span class="keywordtype">int</span> res;
+<span class="keyword">struct </span><a class="code" href="structpcap__pkthdr.html" title="Header of a packet in the dump file.">pcap_pkthdr</a> *header;
+<span class="keyword">const</span> u_char *pkt_data;
+
+ <span class="keywordflow">if</span> (argc == 1)
+ {
+ usage();
+ <span class="keywordflow">return</span>;
+ }
+
+ <span class="keywordflow">for</span>(i=1;i &lt; argc; i+= 2)
+ {
+
+ <span class="keywordflow">switch</span> (argv[i] [1])
+ {
+ <span class="keywordflow">case</span> <span class="charliteral">&apos;s&apos;</span>:
+ {
+ source=argv[i+1];
+ };
+ <span class="keywordflow">break</span>;
+
+ <span class="keywordflow">case</span> <span class="charliteral">&apos;o&apos;</span>:
+ {
+ ofilename=argv[i+1];
+ };
+ <span class="keywordflow">break</span>;
+
+ <span class="keywordflow">case</span> <span class="charliteral">&apos;f&apos;</span>:
+ {
+ filter=argv[i+1];
+ };
+ <span class="keywordflow">break</span>;
+ }
+ }
+
+ <span class="comment">// open a capture from the network</span>
+ <span class="keywordflow">if</span> (source != NULL)
+ {
+ <span class="keywordflow">if</span> ( (fp= <a class="code" href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791" title="Open a generic source in order to capture / send (WinPcap only) traffic.">pcap_open</a>(source,
+ 1514 <span class="comment">/*snaplen*/</span>,
+ <a class="code" href="group__remote__open__flags.html#ga9134ce51a9a6a7d497c3dee5affdc3b9" title="Defines if the adapter has to go in promiscuous mode.">PCAP_OPENFLAG_PROMISCUOUS</a> <span class="comment">/*flags*/</span>,
+ 20 <span class="comment">/*read timeout*/</span>,
+ NULL <span class="comment">/* remote authentication */</span>,
+ errbuf)
+ ) == NULL)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;\nUnable to open the adapter.\n&quot;</span>);
+ <span class="keywordflow">return</span>;
+ }
+ }
+
+ <span class="keywordflow">else</span> usage();
+
+ <span class="keywordflow">if</span> (filter != NULL)
+ {
+ <span class="comment">// We should loop through the adapters returned by the pcap_findalldevs_ex()</span>
+ <span class="comment">// in order to locate the correct one.</span>
+ <span class="comment">//</span>
+ <span class="comment">// Let&apos;s do things simpler: we suppose to be in a C class network ;-)</span>
+ NetMask=0xffffff;
+
+ <span class="comment">//compile the filter</span>
+ <span class="keywordflow">if</span>(<a class="code" href="group__wpcapfunc.html#ga363bdc6f6b39b4979ddcf15ecb830c5c" title="Compile a packet filter, converting an high level filtering expression (see Filtering...">pcap_compile</a>(fp, &amp;fcode, filter, 1, NetMask) &lt; 0)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;\nError compiling filter: wrong syntax.\n&quot;</span>);
+ <span class="keywordflow">return</span>;
+ }
+
+ <span class="comment">//set the filter</span>
+ <span class="keywordflow">if</span>(<a class="code" href="group__wpcapfunc.html#gaf5f9cfe85dad0967ff607e5159b1ba61" title="Associate a filter to a capture.">pcap_setfilter</a>(fp, &amp;fcode)&lt;0)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;\nError setting the filter\n&quot;</span>);
+ <span class="keywordflow">return</span>;
+ }
+
+ }
+
+ <span class="comment">//open the dump file</span>
+ <span class="keywordflow">if</span> (ofilename != NULL)
+ {
+ dumpfile= <a class="code" href="group__wpcapfunc.html#ga9506c33d580fdb5e5c288dba0f8a085c" title="Open a file to write packets.">pcap_dump_open</a>(fp, ofilename);
+
+ <span class="keywordflow">if</span> (dumpfile == NULL)
+ {
+ fprintf(stderr,<span class="stringliteral">&quot;\nError opening output file\n&quot;</span>);
+ <span class="keywordflow">return</span>;
+ }
+ }
+ <span class="keywordflow">else</span> usage();
+
+ <span class="comment">//start the capture</span>
+ <span class="keywordflow">while</span>((res = <a class="code" href="group__wpcapfunc.html#ga439439c2eae61161dc1efb1e03a81133" title="Read a packet from an interface or from an offline capture.">pcap_next_ex</a>( fp, &amp;header, &amp;pkt_data)) &gt;= 0)
+ {
+
+ <span class="keywordflow">if</span>(res == 0)
+ <span class="comment">/* Timeout elapsed */</span>
+ <span class="keywordflow">continue</span>;
+
+ <span class="comment">//save the packet on the dump file</span>
+ <a class="code" href="group__wpcapfunc.html#ga659439bf5aa3988b5a92d31990fbf437" title="Save a packet to disk.">pcap_dump</a>((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *) dumpfile, header, pkt_data);
+
+ }
+}
+
+
+<span class="keywordtype">void</span> usage()
+{
+
+ printf(<span class="stringliteral">&quot;\npf - Generic Packet Filter.\n&quot;</span>);
+ printf(<span class="stringliteral">&quot;\nUsage:\npf -s source -o output_file_name [-f filter_string]\n\n&quot;</span>);
+ exit(0);
+}
+</pre></div> </div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/incs_2pcap_8h.html b/3rdparty/winpcap/docs/html/incs_2pcap_8h.html
new file mode 100644
index 00000000000..40a901db8c5
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/incs_2pcap_8h.html
@@ -0,0 +1,78 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: pcap.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>pcap.h File Reference</h1><code>#include &lt;pcap-stdinc.h&gt;</code><br/>
+<code>#include &lt;net/bpf.h&gt;</code><br/>
+<code>#include &lt;stdio.h&gt;</code><br/>
+
+<p><a href="incs_2pcap_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__file__header.html">pcap_file_header</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Header of a libpcap dump file. <a href="structpcap__file__header.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__pkthdr.html">pcap_pkthdr</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Header of a packet in the dump file. <a href="structpcap__pkthdr.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__stat.html">pcap_stat</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure that keeps statistical values on an interface. <a href="structpcap__stat.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__if.html">pcap_if</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Item in a list of interfaces, used by <a class="el" href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d" title="Construct a list of network devices that can be opened with pcap_open_live().">pcap_findalldevs()</a>. <a href="structpcap__if.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__addr.html">pcap_addr</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Representation of an interface address, used by <a class="el" href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d" title="Construct a list of network devices that can be opened with pcap_open_live().">pcap_findalldevs()</a>. <a href="structpcap__addr.html#_details">More...</a><br/></td></tr>
+<tr><td colspan="2"><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcap__def.html#gaac031371d41e21ff96e80409e05a7ddb">PCAP_VERSION_MAJOR</a>&nbsp;&nbsp;&nbsp;2</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Major libpcap dump file version. <a href="group__wpcap__def.html#gaac031371d41e21ff96e80409e05a7ddb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcap__def.html#ga9c200b070c9f626d38184588b16849c2">PCAP_VERSION_MINOR</a>&nbsp;&nbsp;&nbsp;4</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Minor libpcap dump file version. <a href="group__wpcap__def.html#ga9c200b070c9f626d38184588b16849c2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcap__def.html#gacd448353957d92c98fccc29e1fc8d927">PCAP_ERRBUF_SIZE</a>&nbsp;&nbsp;&nbsp;256</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Size to use when allocating the buffer that contains the libpcap errors. <a href="group__wpcap__def.html#gacd448353957d92c98fccc29e1fc8d927"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcap__def.html#ga43a6601bfd438efc02b0ba71c5439647">PCAP_IF_LOOPBACK</a>&nbsp;&nbsp;&nbsp;0x00000001</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">interface is loopback <a href="group__wpcap__def.html#ga43a6601bfd438efc02b0ba71c5439647"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcap__def.html#gac93c0a6ad1d2a3143b1115bdab3ac04d">MODE_CAPT</a>&nbsp;&nbsp;&nbsp;0</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Capture mode, to be used when calling <a class="el" href="group__wpcapfunc.html#gaef07ef49d3c75644f3fd34518e2fe720" title="Set the working mode of the interface p to mode.">pcap_setmode()</a>. <a href="group__wpcap__def.html#gac93c0a6ad1d2a3143b1115bdab3ac04d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcap__def.html#ga503326906a62e96c147ae6af31fb5659">MODE_STAT</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Statistical mode, to be used when calling <a class="el" href="group__wpcapfunc.html#gaef07ef49d3c75644f3fd34518e2fe720" title="Set the working mode of the interface p to mode.">pcap_setmode()</a>. <a href="group__wpcap__def.html#ga503326906a62e96c147ae6af31fb5659"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcap__def.html#ga759c6336c1d9abb462d9248c5ca5c437">bpf_int32</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">32-bit integer <a href="group__wpcap__def.html#ga759c6336c1d9abb462d9248c5ca5c437"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef u_int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482">bpf_u_int32</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">32-bit unsigned integer <a href="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct pcap&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Descriptor of an open capture instance. This structure is <b>opaque</b> to the user, that handles its content through the functions provided by wpcap.dll. <a href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct pcap_dumper&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcap__def.html#gab8c7858aa3a7e3158d9d58cb113a2ae8">pcap_dumper_t</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">libpcap savefile descriptor. <a href="group__wpcap__def.html#gab8c7858aa3a7e3158d9d58cb113a2ae8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structpcap__if.html">pcap_if</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcap__def.html#ga3a6e7cbf8d9752da3add4676c7cd4c58">pcap_if_t</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Item in a list of interfaces, see <a class="el" href="structpcap__if.html" title="Item in a list of interfaces, used by pcap_findalldevs().">pcap_if</a>. <a href="group__wpcap__def.html#ga3a6e7cbf8d9752da3add4676c7cd4c58"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structpcap__addr.html">pcap_addr</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wpcap__def.html#gad5c2e491e2ca9d8eefe4217021c99bdc">pcap_addr_t</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Representation of an interface address, see <a class="el" href="structpcap__addr.html" title="Representation of an interface address, used by pcap_findalldevs().">pcap_addr</a>. <a href="group__wpcap__def.html#gad5c2e491e2ca9d8eefe4217021c99bdc"></a><br/></td></tr>
+</table>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/incs_2pcap_8h_source.html b/3rdparty/winpcap/docs/html/incs_2pcap_8h_source.html
new file mode 100644
index 00000000000..e265868d608
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/incs_2pcap_8h_source.html
@@ -0,0 +1,155 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: pcap.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+<h1>pcap.h</h1><a href="incs_2pcap_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- Mode: c; tab-width: 8; indent-tabs-mode: 1; c-basic-offset: 8; -*- */</span>
+<a name="l00002"></a>00002 <span class="comment">/*</span>
+<a name="l00003"></a>00003 <span class="comment"> * Copyright (c) 1993, 1994, 1995, 1996, 1997</span>
+<a name="l00004"></a>00004 <span class="comment"> * The Regents of the University of California. All rights reserved.</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * Redistribution and use in source and binary forms, with or without</span>
+<a name="l00007"></a>00007 <span class="comment"> * modification, are permitted provided that the following conditions</span>
+<a name="l00008"></a>00008 <span class="comment"> * are met:</span>
+<a name="l00009"></a>00009 <span class="comment"> * 1. Redistributions of source code must retain the above copyright</span>
+<a name="l00010"></a>00010 <span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
+<a name="l00011"></a>00011 <span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright</span>
+<a name="l00012"></a>00012 <span class="comment"> * notice, this list of conditions and the following disclaimer in the</span>
+<a name="l00013"></a>00013 <span class="comment"> * documentation and/or other materials provided with the distribution.</span>
+<a name="l00014"></a>00014 <span class="comment"> * 3. All advertising materials mentioning features or use of this software</span>
+<a name="l00015"></a>00015 <span class="comment"> * must display the following acknowledgement:</span>
+<a name="l00016"></a>00016 <span class="comment"> * This product includes software developed by the Computer Systems</span>
+<a name="l00017"></a>00017 <span class="comment"> * Engineering Group at Lawrence Berkeley Laboratory.</span>
+<a name="l00018"></a>00018 <span class="comment"> * 4. Neither the name of the University nor of the Laboratory may be used</span>
+<a name="l00019"></a>00019 <span class="comment"> * to endorse or promote products derived from this software without</span>
+<a name="l00020"></a>00020 <span class="comment"> * specific prior written permission.</span>
+<a name="l00021"></a>00021 <span class="comment"> *</span>
+<a name="l00022"></a>00022 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS&apos;&apos; AND</span>
+<a name="l00023"></a>00023 <span class="comment"> * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span>
+<a name="l00024"></a>00024 <span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span>
+<a name="l00025"></a>00025 <span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE</span>
+<a name="l00026"></a>00026 <span class="comment"> * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL</span>
+<a name="l00027"></a>00027 <span class="comment"> * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS</span>
+<a name="l00028"></a>00028 <span class="comment"> * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)</span>
+<a name="l00029"></a>00029 <span class="comment"> * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</span>
+<a name="l00030"></a>00030 <span class="comment"> * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY</span>
+<a name="l00031"></a>00031 <span class="comment"> * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF</span>
+<a name="l00032"></a>00032 <span class="comment"> * SUCH DAMAGE.</span>
+<a name="l00033"></a>00033 <span class="comment"> *</span>
+<a name="l00034"></a>00034 <span class="comment"> * @(#) $Header: /usr/cvsroot_private/winpcap/dox/libpcap/incs/pcap.h,v 1.5 2005-11-30 21:48:23 gianlucav Exp $ (LBL)</span>
+<a name="l00035"></a>00035 <span class="comment"> */</span>
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037
+<a name="l00044"></a>00044 <span class="preprocessor">#ifndef lib_pcap_h</span>
+<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor">#define lib_pcap_h</span>
+<a name="l00046"></a>00046 <span class="preprocessor"></span>
+<a name="l00047"></a>00047 <span class="preprocessor">#include &lt;pcap-stdinc.h&gt;</span>
+<a name="l00048"></a>00048 <span class="preprocessor">#include &lt;net/bpf.h&gt;</span>
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 <span class="preprocessor">#ifdef __cplusplus</span>
+<a name="l00053"></a>00053 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {
+<a name="l00054"></a>00054 <span class="preprocessor">#endif</span>
+<a name="l00055"></a>00055 <span class="preprocessor"></span>
+<a name="l00056"></a><a class="code" href="group__wpcap__def.html#gaac031371d41e21ff96e80409e05a7ddb">00056</a> <span class="preprocessor">#define PCAP_VERSION_MAJOR 2 </span>
+<a name="l00057"></a><a class="code" href="group__wpcap__def.html#ga9c200b070c9f626d38184588b16849c2">00057</a> <span class="preprocessor">#define PCAP_VERSION_MINOR 4 </span>
+<a name="l00058"></a>00058 <span class="preprocessor"></span>
+<a name="l00059"></a><a class="code" href="group__wpcap__def.html#gacd448353957d92c98fccc29e1fc8d927">00059</a> <span class="preprocessor"></span><span class="preprocessor">#define PCAP_ERRBUF_SIZE 256 </span>
+<a name="l00060"></a>00060 <span class="preprocessor"></span>
+<a name="l00061"></a>00061 <span class="preprocessor"></span>
+<a name="l00065"></a>00065 <span class="preprocessor">#if BPF_RELEASE - 0 &lt; 199406</span>
+<a name="l00066"></a><a class="code" href="group__wpcap__def.html#ga759c6336c1d9abb462d9248c5ca5c437">00066</a> <span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keywordtype">int</span> <a class="code" href="group__wpcap__def.html#ga759c6336c1d9abb462d9248c5ca5c437" title="32-bit integer">bpf_int32</a>;
+<a name="l00067"></a><a class="code" href="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482">00067</a> <span class="keyword">typedef</span> u_int <a class="code" href="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482" title="32-bit unsigned integer">bpf_u_int32</a>;
+<a name="l00068"></a>00068 <span class="preprocessor">#endif</span>
+<a name="l00069"></a>00069 <span class="preprocessor"></span>
+<a name="l00070"></a><a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">00070</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>pcap <a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a>;
+<a name="l00071"></a><a class="code" href="group__wpcap__def.html#gab8c7858aa3a7e3158d9d58cb113a2ae8">00071</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>pcap_dumper <a class="code" href="group__wpcap__def.html#gab8c7858aa3a7e3158d9d58cb113a2ae8" title="libpcap savefile descriptor.">pcap_dumper_t</a>;
+<a name="l00072"></a><a class="code" href="group__wpcap__def.html#ga3a6e7cbf8d9752da3add4676c7cd4c58">00072</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structpcap__if.html" title="Item in a list of interfaces, used by pcap_findalldevs().">pcap_if</a> <a class="code" href="structpcap__if.html" title="Item in a list of interfaces, used by pcap_findalldevs().">pcap_if_t</a>;
+<a name="l00073"></a><a class="code" href="group__wpcap__def.html#gad5c2e491e2ca9d8eefe4217021c99bdc">00073</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structpcap__addr.html" title="Representation of an interface address, used by pcap_findalldevs().">pcap_addr</a> <a class="code" href="structpcap__addr.html" title="Representation of an interface address, used by pcap_findalldevs().">pcap_addr_t</a>;
+<a name="l00074"></a>00074
+<a name="l00110"></a><a class="code" href="structpcap__file__header.html">00110</a> <span class="keyword">struct </span><a class="code" href="structpcap__file__header.html" title="Header of a libpcap dump file.">pcap_file_header</a> {
+<a name="l00111"></a><a class="code" href="structpcap__file__header.html#a18b75bcc7dcee1412b74b57bb238cf3d">00111</a> bpf_u_int32 <a class="code" href="structpcap__file__header.html#a18b75bcc7dcee1412b74b57bb238cf3d">magic</a>;
+<a name="l00112"></a><a class="code" href="structpcap__file__header.html#a571fada6e8ffbb02ad47e64f0f721d4a">00112</a> u_short <a class="code" href="structpcap__file__header.html#a571fada6e8ffbb02ad47e64f0f721d4a" title="Libpcap major version.">version_major</a>;
+<a name="l00113"></a><a class="code" href="structpcap__file__header.html#a82971bc0da75fef683f826bd48050307">00113</a> u_short <a class="code" href="structpcap__file__header.html#a82971bc0da75fef683f826bd48050307" title="Libpcap minor version.">version_minor</a>;
+<a name="l00114"></a><a class="code" href="structpcap__file__header.html#ae729a1ba12145c96acbe2bb6310bc7e1">00114</a> bpf_int32 <a class="code" href="structpcap__file__header.html#ae729a1ba12145c96acbe2bb6310bc7e1" title="gmt to local correction">thiszone</a>;
+<a name="l00115"></a><a class="code" href="structpcap__file__header.html#a209ec264363632ccd21b412c93d2881a">00115</a> bpf_u_int32 <a class="code" href="structpcap__file__header.html#a209ec264363632ccd21b412c93d2881a" title="accuracy of timestamps">sigfigs</a>;
+<a name="l00116"></a><a class="code" href="structpcap__file__header.html#aa73496b51e5edb630420e4044792c897">00116</a> bpf_u_int32 <a class="code" href="structpcap__file__header.html#aa73496b51e5edb630420e4044792c897" title="max length saved portion of each pkt">snaplen</a>;
+<a name="l00117"></a><a class="code" href="structpcap__file__header.html#a1c54dd90a08b2c232f2f204bfaa54496">00117</a> bpf_u_int32 <a class="code" href="structpcap__file__header.html#a1c54dd90a08b2c232f2f204bfaa54496" title="data link type (LINKTYPE_*)">linktype</a>;
+<a name="l00118"></a>00118 };
+<a name="l00119"></a>00119
+<a name="l00126"></a><a class="code" href="structpcap__pkthdr.html">00126</a> <span class="keyword">struct </span><a class="code" href="structpcap__pkthdr.html" title="Header of a packet in the dump file.">pcap_pkthdr</a> {
+<a name="l00127"></a><a class="code" href="structpcap__pkthdr.html#a21be78b2818c91cb205885b8a6f5aed8">00127</a> <span class="keyword">struct </span>timeval <a class="code" href="structpcap__pkthdr.html#a21be78b2818c91cb205885b8a6f5aed8" title="time stamp">ts</a>;
+<a name="l00128"></a><a class="code" href="structpcap__pkthdr.html#aac5771ed2efd92508bb4fe650f2ce7d7">00128</a> bpf_u_int32 <a class="code" href="structpcap__pkthdr.html#aac5771ed2efd92508bb4fe650f2ce7d7" title="length of portion present">caplen</a>;
+<a name="l00129"></a><a class="code" href="structpcap__pkthdr.html#a728f264db4f5cc304742565a2bcdbeea">00129</a> bpf_u_int32 <a class="code" href="structpcap__pkthdr.html#a728f264db4f5cc304742565a2bcdbeea" title="length this packet (off wire)">len</a>;
+<a name="l00130"></a>00130 };
+<a name="l00131"></a>00131
+<a name="l00136"></a><a class="code" href="structpcap__stat.html">00136</a> <span class="keyword">struct </span><a class="code" href="structpcap__stat.html" title="Structure that keeps statistical values on an interface.">pcap_stat</a> {
+<a name="l00137"></a><a class="code" href="structpcap__stat.html#a825c8bdb589e7de8e597f6d6f7af8125">00137</a> u_int <a class="code" href="structpcap__stat.html#a825c8bdb589e7de8e597f6d6f7af8125" title="number of packets transited on the network">ps_recv</a>;
+<a name="l00138"></a><a class="code" href="structpcap__stat.html#a2cfc89d84a0ba404cacfa59f6b112bc1">00138</a> u_int <a class="code" href="structpcap__stat.html#a2cfc89d84a0ba404cacfa59f6b112bc1" title="number of packets dropped by the driver">ps_drop</a>;
+<a name="l00139"></a><a class="code" href="structpcap__stat.html#abc51be1ec5423e462bde5eac5a9b7c56">00139</a> u_int <a class="code" href="structpcap__stat.html#abc51be1ec5423e462bde5eac5a9b7c56" title="drops by interface, not yet supported">ps_ifdrop</a>;
+<a name="l00140"></a>00140 <span class="preprocessor">#ifdef WIN32</span>
+<a name="l00141"></a><a class="code" href="structpcap__stat.html#a579778ac11d2b5c142ce8bc7ed37bb08">00141</a> <span class="preprocessor"></span> u_int <a class="code" href="structpcap__stat.html#a579778ac11d2b5c142ce8bc7ed37bb08" title="Win32 specific. number of packets captured, i.e number of packets that are accepted...">bs_capt</a>;
+<a name="l00142"></a>00142 <span class="preprocessor">#endif </span><span class="comment">/* WIN32 */</span>
+<a name="l00143"></a>00143 };
+<a name="l00144"></a>00144
+<a name="l00148"></a><a class="code" href="structpcap__if.html">00148</a> <span class="keyword">struct </span><a class="code" href="structpcap__if.html" title="Item in a list of interfaces, used by pcap_findalldevs().">pcap_if</a> {
+<a name="l00149"></a><a class="code" href="structpcap__if.html#a81508e6e4e41ca4235c8d6b51913c536">00149</a> <span class="keyword">struct </span><a class="code" href="structpcap__if.html" title="Item in a list of interfaces, used by pcap_findalldevs().">pcap_if</a> *<a class="code" href="structpcap__if.html#a81508e6e4e41ca4235c8d6b51913c536" title="if not NULL, a pointer to the next element in the list; NULL for the last element...">next</a>;
+<a name="l00150"></a><a class="code" href="structpcap__if.html#a5ac083a645d964373f022d03df4849c8">00150</a> <span class="keywordtype">char</span> *<a class="code" href="structpcap__if.html#a5ac083a645d964373f022d03df4849c8" title="a pointer to a string giving a name for the device to pass to pcap_open_live()">name</a>;
+<a name="l00151"></a><a class="code" href="structpcap__if.html#a8444d6e0dfe2bbab0b5e7b24308f1559">00151</a> <span class="keywordtype">char</span> *<a class="code" href="structpcap__if.html#a8444d6e0dfe2bbab0b5e7b24308f1559" title="if not NULL, a pointer to a string giving a human-readable description of the device...">description</a>;
+<a name="l00152"></a><a class="code" href="structpcap__if.html#a3910004677550db6d9b09792ba3e2cca">00152</a> <span class="keyword">struct </span><a class="code" href="structpcap__addr.html" title="Representation of an interface address, used by pcap_findalldevs().">pcap_addr</a> *<a class="code" href="structpcap__if.html#a3910004677550db6d9b09792ba3e2cca" title="a pointer to the first element of a list of addresses for the interface">addresses</a>;
+<a name="l00153"></a><a class="code" href="structpcap__if.html#a304e038dd1326c14b31a206cbad18756">00153</a> u_int <a class="code" href="structpcap__if.html#a304e038dd1326c14b31a206cbad18756" title="PCAP_IF_ interface flags. Currently the only possible flag is PCAP_IF_LOOPBACK, that...">flags</a>;
+<a name="l00154"></a>00154 };
+<a name="l00155"></a>00155
+<a name="l00156"></a><a class="code" href="group__wpcap__def.html#ga43a6601bfd438efc02b0ba71c5439647">00156</a> <span class="preprocessor">#define PCAP_IF_LOOPBACK 0x00000001 </span>
+<a name="l00157"></a>00157 <span class="preprocessor"></span>
+<a name="l00158"></a>00158 <span class="preprocessor"></span>
+<a name="l00161"></a><a class="code" href="structpcap__addr.html">00161</a> <span class="keyword">struct </span><a class="code" href="structpcap__addr.html" title="Representation of an interface address, used by pcap_findalldevs().">pcap_addr</a> {
+<a name="l00162"></a><a class="code" href="structpcap__addr.html#ab151e8e96bdb23ae8dd8d644de561999">00162</a> <span class="keyword">struct </span><a class="code" href="structpcap__addr.html" title="Representation of an interface address, used by pcap_findalldevs().">pcap_addr</a> *<a class="code" href="structpcap__addr.html#ab151e8e96bdb23ae8dd8d644de561999" title="if not NULL, a pointer to the next element in the list; NULL for the last element...">next</a>;
+<a name="l00163"></a><a class="code" href="structpcap__addr.html#a4863f5b8767cd19fe6ea4db75456e5df">00163</a> <span class="keyword">struct </span>sockaddr *<a class="code" href="structpcap__addr.html#a4863f5b8767cd19fe6ea4db75456e5df" title="a pointer to a struct sockaddr containing an address">addr</a>;
+<a name="l00164"></a><a class="code" href="structpcap__addr.html#ac43963e42e4d901e55e433ab9c3ea686">00164</a> <span class="keyword">struct </span>sockaddr *<a class="code" href="structpcap__addr.html#ac43963e42e4d901e55e433ab9c3ea686" title="if not NULL, a pointer to a struct sockaddr that contains the netmask corresponding...">netmask</a>;
+<a name="l00165"></a><a class="code" href="structpcap__addr.html#a0077647e1560caa72d457120b36c248c">00165</a> <span class="keyword">struct </span>sockaddr *<a class="code" href="structpcap__addr.html#a0077647e1560caa72d457120b36c248c" title="if not NULL, a pointer to a struct sockaddr that contains the broadcast address corre­...">broadaddr</a>;
+<a name="l00166"></a><a class="code" href="structpcap__addr.html#a4a32e00e83d4b1b582ba9cef24a5d62a">00166</a> <span class="keyword">struct </span>sockaddr *<a class="code" href="structpcap__addr.html#a4a32e00e83d4b1b582ba9cef24a5d62a" title="if not NULL, a pointer to a struct sockaddr that contains the destination address...">dstaddr</a>;
+<a name="l00167"></a>00167 };
+<a name="l00168"></a>00168
+<a name="l00169"></a>00169 <span class="preprocessor">#if defined(WIN32)</span>
+<a name="l00170"></a>00170 <span class="preprocessor"></span>
+<a name="l00171"></a>00171
+<a name="l00172"></a><a class="code" href="group__wpcap__def.html#gac93c0a6ad1d2a3143b1115bdab3ac04d">00172</a> <span class="preprocessor">#define MODE_CAPT 0 </span>
+<a name="l00173"></a><a class="code" href="group__wpcap__def.html#ga503326906a62e96c147ae6af31fb5659">00173</a> <span class="preprocessor">#define MODE_STAT 1 </span>
+<a name="l00174"></a>00174 <span class="preprocessor"></span>
+<a name="l00175"></a>00175 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* WIN32 */</span>
+<a name="l00176"></a>00176
+<a name="l00177"></a>00177 <span class="preprocessor">#ifdef __cplusplus</span>
+<a name="l00178"></a>00178 <span class="preprocessor"></span>}
+<a name="l00179"></a>00179 <span class="preprocessor">#endif</span>
+<a name="l00180"></a>00180 <span class="preprocessor"></span>
+<a name="l00181"></a>00181 <span class="preprocessor">#endif</span>
+<a name="l00182"></a>00182 <span class="preprocessor"></span>
+</pre></div></div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/index.hhc b/3rdparty/winpcap/docs/html/index.hhc
new file mode 100644
index 00000000000..ba871e1d822
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/index.hhc
@@ -0,0 +1,171 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<HTML><HEAD></HEAD><BODY>
+<OBJECT type="text/site properties">
+<param name="FrameName" value="right">
+</OBJECT>
+<UL>
+<LI><OBJECT type="text/sitemap"><param name="Name" value="WinPcap Documentation"><param name="Local" value="main.html"><param name="ImageNumber" value="11"></OBJECT>
+<LI><OBJECT type="text/sitemap"><param name="Name" value="Deprecated List"><param name="Local" value="deprecated.html"><param name="ImageNumber" value="11"></OBJECT>
+ <UL>
+ </UL>
+<LI><OBJECT type="text/sitemap"><param name="Name" value="Modules"><param name="ImageNumber" value="1"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="WinPcap tutorial: a step by step guide to using WinPcap"><param name="Local" value="group__wpcap__tut.html"><param name="ImageNumber" value="11"></OBJECT>
+ <UL>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="Obtaining the device list"><param name="Local" value="group__wpcap__tut1.html"><param name="ImageNumber" value="11"></OBJECT>
+ <UL>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="Obtaining advanced information about installed devices"><param name="Local" value="group__wpcap__tut2.html"><param name="ImageNumber" value="11"></OBJECT>
+ <UL>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="Opening an adapter and capturing the packets"><param name="Local" value="group__wpcap__tut3.html"><param name="ImageNumber" value="11"></OBJECT>
+ <UL>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="Capturing the packets without the callback"><param name="Local" value="group__wpcap__tut4.html"><param name="ImageNumber" value="11"></OBJECT>
+ <UL>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="Filtering the traffic"><param name="Local" value="group__wpcap__tut5.html"><param name="ImageNumber" value="11"></OBJECT>
+ <UL>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="Interpreting the packets"><param name="Local" value="group__wpcap__tut6.html"><param name="ImageNumber" value="11"></OBJECT>
+ <UL>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="Handling offline dump files"><param name="Local" value="group__wpcap__tut7.html"><param name="ImageNumber" value="11"></OBJECT>
+ <UL>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="Sending Packets"><param name="Local" value="group__wpcap__tut8.html"><param name="ImageNumber" value="11"></OBJECT>
+ <UL>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="Gathering Statistics on the network traffic"><param name="Local" value="group__wpcap__tut9.html"><param name="ImageNumber" value="11"></OBJECT>
+ <UL>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="WinPcap internals"><param name="ImageNumber" value="1"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="NPF driver internals manual"><param name="ImageNumber" value="1"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="NPF I/O control codes"><param name="Local" value="group__NPF__ioctl.html"><param name="ImageNumber" value="11"></OBJECT>
+ <UL>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="NPF structures and definitions"><param name="Local" value="group__NPF__include.html"><param name="ImageNumber" value="11"></OBJECT>
+ <UL>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="NPF functions"><param name="Local" value="group__NPF__code.html"><param name="ImageNumber" value="11"></OBJECT>
+ <UL>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="NPF Just-in-time compiler definitions"><param name="Local" value="group__NPF__jitter.html"><param name="ImageNumber" value="11"></OBJECT>
+ <UL>
+ </UL>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="How to compile WinPcap"><param name="Local" value="group__compilation.html"><param name="ImageNumber" value="11"></OBJECT>
+ <UL>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="Packet.dll -- Packet Driver API"><param name="Local" value="group__packetapi.html"><param name="ImageNumber" value="11"></OBJECT>
+ <UL>
+ </UL>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="WinPcap user's manual"><param name="ImageNumber" value="1"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="Definitions"><param name="Local" value="group__wpcap__def.html"><param name="ImageNumber" value="11"></OBJECT>
+ <UL>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="Exported functions"><param name="Local" value="group__wpcapfunc.html"><param name="ImageNumber" value="11"></OBJECT>
+ <UL>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="Filtering expression syntax"><param name="Local" value="group__language.html"><param name="ImageNumber" value="11"></OBJECT>
+ <UL>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="Using WinPcap in your programs"><param name="Local" value="group__wpcapsamps.html"><param name="ImageNumber" value="11"></OBJECT>
+ <UL>
+ </UL>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="Remote Capture"><param name="ImageNumber" value="1"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="Exported Structures and Definitions"><param name="ImageNumber" value="1"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="Strings related to the new source syntax"><param name="Local" value="group__remote__source__string.html"><param name="ImageNumber" value="11"></OBJECT>
+ <UL>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="Identifiers related to the new source syntax"><param name="Local" value="group__remote__source__ID.html"><param name="ImageNumber" value="11"></OBJECT>
+ <UL>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="Flags defined in the pcap_open() function"><param name="Local" value="group__remote__open__flags.html"><param name="ImageNumber" value="11"></OBJECT>
+ <UL>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="Sampling methods defined in the pcap_setsampling() function"><param name="Local" value="group__remote__samp__methods.html"><param name="ImageNumber" value="11"></OBJECT>
+ <UL>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="Authentication methods supported by the RPCAP protocol"><param name="Local" value="group__remote__auth__methods.html"><param name="ImageNumber" value="11"></OBJECT>
+ <UL>
+ </UL>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="Exported Functions"><param name="Local" value="group__remotefunc.html"><param name="ImageNumber" value="11"></OBJECT>
+ <UL>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="Internal Functions"><param name="Local" value="group__remote__pri__func.html"><param name="ImageNumber" value="11"></OBJECT>
+ <UL>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="Internal Structures and Definitions"><param name="Local" value="group__remote__pri__struct.html"><param name="ImageNumber" value="11"></OBJECT>
+ <UL>
+ </UL>
+ </UL>
+ </UL>
+<LI><OBJECT type="text/sitemap"><param name="Name" value="Data Structures"><param name="ImageNumber" value="1"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="__CPU_Private_Data"><param name="Local" value="struct____CPU__Private__Data.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="_DEVICE_EXTENSION"><param name="Local" value="struct__DEVICE__EXTENSION.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="_INTERNAL_REQUEST"><param name="Local" value="struct__INTERNAL__REQUEST.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="_OPEN_INSTANCE"><param name="Local" value="struct__OPEN__INSTANCE.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="_PACKET_OID_DATA"><param name="Local" value="struct__PACKET__OID__DATA.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="_PACKET_RESERVED"><param name="Local" value="struct__PACKET__RESERVED.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="active_pars"><param name="Local" value="structactive__pars.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="activehosts"><param name="Local" value="structactivehosts.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="binary_stream"><param name="Local" value="structbinary__stream.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="daemon_slpars"><param name="Local" value="structdaemon__slpars.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="JIT_BPF_Filter"><param name="Local" value="structJIT__BPF__Filter.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="packet_file_header"><param name="Local" value="structpacket__file__header.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="PacketHeader"><param name="Local" value="structPacketHeader.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="pcap_addr"><param name="Local" value="structpcap__addr.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="pcap_file_header"><param name="Local" value="structpcap__file__header.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="pcap_if"><param name="Local" value="structpcap__if.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="pcap_pkthdr"><param name="Local" value="structpcap__pkthdr.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="pcap_rmtauth"><param name="Local" value="structpcap__rmtauth.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="pcap_samp"><param name="Local" value="structpcap__samp.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="pcap_send_queue"><param name="Local" value="structpcap__send__queue.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="pcap_stat"><param name="Local" value="structpcap__stat.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="rpcap_auth"><param name="Local" value="structrpcap__auth.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="rpcap_filter"><param name="Local" value="structrpcap__filter.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="rpcap_filterbpf_insn"><param name="Local" value="structrpcap__filterbpf__insn.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="rpcap_findalldevs_if"><param name="Local" value="structrpcap__findalldevs__if.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="rpcap_findalldevs_ifaddr"><param name="Local" value="structrpcap__findalldevs__ifaddr.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="rpcap_header"><param name="Local" value="structrpcap__header.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="rpcap_openreply"><param name="Local" value="structrpcap__openreply.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="rpcap_pkthdr"><param name="Local" value="structrpcap__pkthdr.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="rpcap_sampling"><param name="Local" value="structrpcap__sampling.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="rpcap_startcapreply"><param name="Local" value="structrpcap__startcapreply.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="rpcap_startcapreq"><param name="Local" value="structrpcap__startcapreq.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="rpcap_stats"><param name="Local" value="structrpcap__stats.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="sf_pkthdr"><param name="Local" value="structsf__pkthdr.html"><param name="ImageNumber" value="11"></OBJECT>
+ </UL>
+<LI><OBJECT type="text/sitemap"><param name="Name" value="Data Fields"><param name="Local" value="functions.html"><param name="ImageNumber" value="11"></OBJECT>
+<LI><OBJECT type="text/sitemap"><param name="Name" value="File List"><param name="ImageNumber" value="1"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="daemon.h"><param name="Local" value="daemon_8h.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="fileconf.h"><param name="Local" value="fileconf_8h.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="ioctls.h"><param name="Local" value="ioctls_8h.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="jitter.h"><param name="Local" value="jitter_8h.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="Packet.h"><param name="Local" value="Packet_8h.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="pcap-remote.h"><param name="Local" value="pcap-remote_8h.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="incs/pcap.h"><param name="Local" value="incs_2pcap_8h.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="funcs/pcap.h"><param name="Local" value="funcs_2pcap_8h.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="remote-ext.h"><param name="Local" value="remote-ext_8h.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="rpcapd.h"><param name="Local" value="rpcapd_8h.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="utils.h"><param name="Local" value="utils_8h.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="Win32-Extensions.h"><param name="Local" value="Win32-Extensions_8h.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="win32-svc.h"><param name="Local" value="win32-svc_8h.html"><param name="ImageNumber" value="11"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Name" value="wpcap_remote.htm"><param name="Local" value="wpcap__remote_8htm.html"><param name="ImageNumber" value="11"></OBJECT>
+ </UL>
+<LI><OBJECT type="text/sitemap"><param name="Name" value="Globals"><param name="Local" value="globals.html"><param name="ImageNumber" value="11"></OBJECT>
+</UL>
+</BODY>
+</HTML>
diff --git a/3rdparty/winpcap/docs/html/index.hhk b/3rdparty/winpcap/docs/html/index.hhk
new file mode 100644
index 00000000000..e3be4167dd9
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/index.hhk
@@ -0,0 +1,2939 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<HTML><HEAD></HEAD><BODY>
+<OBJECT type="text/site properties">
+<param name="FrameName" value="right">
+</OBJECT>
+<UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct____CPU__Private__Data.html"><param name="Name" value="__CPU_Private_Data"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct____CPU__Private__Data.html#ac723ebbda9ff2ef8e4d773c7305db1f6"><param name="Name" value="Accepted"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct____CPU__Private__Data.html#a7ed9f5e612c567cfa25af0f46a25dad4"><param name="Name" value="Buffer"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct____CPU__Private__Data.html#a59c9030d87b24c9cb4efdabe9c7b9337"><param name="Name" value="BufferLock"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct____CPU__Private__Data.html#a2df61425b58c12f1de6f0e6aaeb131ea"><param name="Name" value="C"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct____CPU__Private__Data.html#a04eecb86252e644a73f38346274340dc"><param name="Name" value="Dropped"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct____CPU__Private__Data.html#acaf5ef1e959170b06d01fc65a27bb951"><param name="Name" value="Free"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct____CPU__Private__Data.html#a58f2c915dfc7041ccb0d568eb79b494e"><param name="Name" value="NewP"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct____CPU__Private__Data.html#a897d2179904e0d6fafd73b3d400052de"><param name="Name" value="P"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct____CPU__Private__Data.html#a82febc79f3f3bbf857a4fd34447b5ca2"><param name="Name" value="Received"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct____CPU__Private__Data.html#acae03ade5065032ceaeef0bd03217b4f"><param name="Name" value="TransferMdl1"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct____CPU__Private__Data.html#a17b59e156d00ef5c76bdfe454c73ca49"><param name="Name" value="TransferMdl2"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__DEVICE__EXTENSION.html"><param name="Name" value="_DEVICE_EXTENSION"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__DEVICE__EXTENSION.html#a8201dab43dd06ad55b93317cbbd54211"><param name="Name" value="AdapterName"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__DEVICE__EXTENSION.html#a147b6ff0677e88b5721e51ab7759121a"><param name="Name" value="ExportString"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__INTERNAL__REQUEST.html"><param name="Name" value="_INTERNAL_REQUEST"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__INTERNAL__REQUEST.html#aa27c26f410846e10408bc8ac558430b9"><param name="Name" value="InternalRequestCompletedEvent"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__INTERNAL__REQUEST.html#a52c50c47cc14f9989d741158ef6da1b9"><param name="Name" value="ListElement"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__INTERNAL__REQUEST.html#a9d22abed5e537b5a86700c0cae0aeeda"><param name="Name" value="Request"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__INTERNAL__REQUEST.html#a1948690a3012c81acf392ba489b32b60"><param name="Name" value="RequestStatus"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html"><param name="Name" value="_OPEN_INSTANCE"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#aa8dd1c538f9932a866ac342d50277929"><param name="Name" value="AdapterBindingStatus"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#aa017f65671fb96e4a0d3e875536579df"><param name="Name" value="AdapterHandle"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#adbc32cf0b83107c2ad2785b8c71a946b"><param name="Name" value="AdapterHandleLock"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a7157ac074af79faeddb2feef7a891af7"><param name="Name" value="AdapterHandleUsageCounter"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a312a1a6ffddf98f960cd0ac2d56fce52"><param name="Name" value="bpfprogram"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a006227bc7ca0b2df920a8adfb7740ecb"><param name="Name" value="BufferMdl"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#ae00f3e1e556edb44c5bbf7f4f75f117a"><param name="Name" value="ClosePending"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a7bd68a3950090232f1147e501a4ccf78"><param name="Name" value="CountersLock"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a289c7590d7f5d96fa9051d20c2a95a04"><param name="Name" value="CpuData"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#aaa72c26b5a1b98197da412302325e009"><param name="Name" value="DeviceExtension"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a1485cbdca5f70ed6a4eb8fd26feec1e0"><param name="Name" value="DumpEvent"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#affef27f71b541e5dfab6a3dc9ea7dd86"><param name="Name" value="DumpFileHandle"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#ad26771cfc74dde2d2ce22b38db3124b0"><param name="Name" value="DumpFileName"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a093d2624638004aafcc3193328cf2626"><param name="Name" value="DumpFileObject"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a612913cea459725cff2085d29e534aae"><param name="Name" value="DumpLimitReached"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a00c3ae6811320e03dea5b400fc5f9da8"><param name="Name" value="DumpOffset"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#afb4bb3d6e021e9b1cc1206fa23d4c8f7"><param name="Name" value="DumpThreadHandle"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#af5fc8480398782ff1f676f25f5097768"><param name="Name" value="DumpThreadObject"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#af4f46bc8ed07a40605aeac6743a3e760"><param name="Name" value="IOStatus"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#afe174f20f512159a454365613846eca5"><param name="Name" value="MachineLock"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#acfde736fb2a011607da168a05b5100b0"><param name="Name" value="MaxDumpBytes"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a3f6accd17a8dccf9b44acc678510a094"><param name="Name" value="MaxDumpPacks"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#ac672771358770d24087aaa12a80d01cb"><param name="Name" value="MaxFrameSize"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#af6a81c046e634d6149550d3475924c05"><param name="Name" value="Medium"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a263f7d6f5db5625541d275380685f0b1"><param name="Name" value="MinToCopy"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a1ea5d0cb93f22f7d0fdf804bd68c3326"><param name="Name" value="mode"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#aaa76c3b87b73baaa785c459188d769e0"><param name="Name" value="Multiple_Write_Counter"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a87b5968c02200b033f7c6e15da439e62"><param name="Name" value="Nbytes"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a58faf70e2b245f7d3f2b1a90257e823e"><param name="Name" value="NdisOpenCloseCompleteEvent"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#af63559424b5849687cc5c5fbad184c0f"><param name="Name" value="NdisRequestEvent"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#ae16d8f96321924cea79edfba9a2aed9f"><param name="Name" value="NdisWriteCompleteEvent"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a51a42386327e2a337854dd20cbe83061"><param name="Name" value="Npackets"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#ad829423b08d53cd76dc8bed902d5af72"><param name="Name" value="NumPendingIrps"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#af6b5b0a348f7a40d795b554b0eceed73"><param name="Name" value="Nwrites"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#ae3c547ec9f715618b461b221fa2e3f09"><param name="Name" value="OpenCloseStatus"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a4c6d0506eca78eb6602764234ce07e62"><param name="Name" value="OpenInUseLock"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#abb035c7e10216edcf41fa1576fecca42"><param name="Name" value="PacketPool"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a80fd41275e80049cbe8238917a1dfb33"><param name="Name" value="ReaderSN"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a6139735ab3e4fa797d344e314bba6473"><param name="Name" value="ReadEvent"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a805c530d7fa5f6078b9170dc0cd03f5c"><param name="Name" value="RequestList"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a9a6854a154d332159dbcb19e5d104441"><param name="Name" value="Requests"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#abe53f2762ef5451c80b2fcadeff59884"><param name="Name" value="RequestSpinLock"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a1836c9a11084bf113d902946c5c41499"><param name="Name" value="ResetIrpList"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a1ce5ea4c97c82145e50d4b5157889a0e"><param name="Name" value="Size"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a445a6029d067430cd761ae692443b573"><param name="Name" value="SkipSentPackets"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#aa6709070de8443c026e3b86913942c2b"><param name="Name" value="TimeOut"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a3134a9bd6b67acf8eb8f5fd7a36228d7"><param name="Name" value="TransmitPendingPackets"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a46f6423b318291c7cc6ae32c226b33fd"><param name="Name" value="WriteEvent"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#af854d4eefa0f15302eaccee06e1ef447"><param name="Name" value="WriteInProgress"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a44ab7ba650b09972a0677958ad0ea4e0"><param name="Name" value="WriteLock"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#ae58565fec941091aa7164b49121ffe2b"><param name="Name" value="WriterSN"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__PACKET__OID__DATA.html"><param name="Name" value="_PACKET_OID_DATA"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__PACKET__OID__DATA.html#a4cbcc2ef0ca2424d2488748b944f4507"><param name="Name" value="Data"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__PACKET__OID__DATA.html#abfb371817eb1c8f0d8a165bb2b798092"><param name="Name" value="Length"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__PACKET__OID__DATA.html#a7f776f07ead21514e4c48555980644c8"><param name="Name" value="Oid"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__PACKET__RESERVED.html"><param name="Name" value="_PACKET_RESERVED"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__PACKET__RESERVED.html#a761baf004d76cf5faf3c898787fceeb6"><param name="Name" value="Cpu"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__PACKET__RESERVED.html#abc42eac7c5d3593aa809edceadb0743f"><param name="Name" value="FreeBufAfterWrite"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__PACKET__RESERVED.html#a4bee02d146b824008b9d03379b085b1e"><param name="Name" value="Irp"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__PACKET__RESERVED.html#a52c50c47cc14f9989d741158ef6da1b9"><param name="Name" value="ListElement"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__PACKET__RESERVED.html#a3bbb67b64845622d97356325852ef6be"><param name="Name" value="pMdl"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct____CPU__Private__Data.html#ac723ebbda9ff2ef8e4d773c7305db1f6"><param name="Name" value="Accepted"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structactive__pars.html"><param name="Name" value="active_pars"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structactive__pars.html#a5511071c05ef7770f90a2a75366c2929"><param name="Name" value="address"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structactive__pars.html#a4dc44d22f13bc5c59bff73e549e96a5c"><param name="Name" value="ai_family"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structactive__pars.html#a27201989fe772052edc147c02e61ae00"><param name="Name" value="port"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structdaemon__slpars.html#a56e762dd86c425a2780508a6373d5271"><param name="Name" value="activeclose"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structactivehosts.html"><param name="Name" value="activehosts"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structactivehosts.html#aa80ddc7d4304067f1441e3562c9b2b08"><param name="Name" value="host"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structactivehosts.html#a34f7d4dc0ffb851aa4d9bf2e82ba915b"><param name="Name" value="next"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structactivehosts.html#a33939ceefa385f1e6c60f94f2474869d"><param name="Name" value="sockctrl"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ggaa80226df1c5ee18b01580d23ed4f31cba3e0c0f314d2e9dc41c205ab44bf087bc"><param name="Name" value="ADAPTER_BOUND"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ggaa80226df1c5ee18b01580d23ed4f31cbadc92e852ef35fac0f033487a3be66a93"><param name="Name" value="ADAPTER_UNBINDING"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ggaa80226df1c5ee18b01580d23ed4f31cba6e4cdf9f09abf447cffdfd5058357822"><param name="Name" value="ADAPTER_UNBOUND"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#aa8dd1c538f9932a866ac342d50277929"><param name="Name" value="AdapterBindingStatus"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#aa017f65671fb96e4a0d3e875536579df"><param name="Name" value="AdapterHandle"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#adbc32cf0b83107c2ad2785b8c71a946b"><param name="Name" value="AdapterHandleLock"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a7157ac074af79faeddb2feef7a891af7"><param name="Name" value="AdapterHandleUsageCounter"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__DEVICE__EXTENSION.html#a8201dab43dd06ad55b93317cbbd54211"><param name="Name" value="AdapterName"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga8a2dc91cd2750ca191cb52ee28c20026"><param name="Name" value="ADD_EAXi"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga8a2dc91cd2750ca191cb52ee28c20026"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga8a2dc91cd2750ca191cb52ee28c20026"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga662520f1b50ce47a5019ece610362a5d"><param name="Name" value="ADDib"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga662520f1b50ce47a5019ece610362a5d"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga662520f1b50ce47a5019ece610362a5d"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga78c9a376702f4d6227d3f4c3fde45f33"><param name="Name" value="ADDid"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga78c9a376702f4d6227d3f4c3fde45f33"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga78c9a376702f4d6227d3f4c3fde45f33"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__addr.html#a4863f5b8767cd19fe6ea4db75456e5df"><param name="Name" value="addr"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__addr.html#a4863f5b8767cd19fe6ea4db75456e5df"><param name="Name" value="pcap_addr"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__findalldevs__ifaddr.html#a7fe4b3f87e7a49d2520a0d26563bb921"><param name="Name" value="rpcap_findalldevs_ifaddr"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga406c664d3efbbc2d75412722ebec9892"><param name="Name" value="ADDrd"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga406c664d3efbbc2d75412722ebec9892"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga406c664d3efbbc2d75412722ebec9892"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structactive__pars.html#a5511071c05ef7770f90a2a75366c2929"><param name="Name" value="address"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__if.html#a3910004677550db6d9b09792ba3e2cca"><param name="Name" value="addresses"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structactive__pars.html#a4dc44d22f13bc5c59bff73e549e96a5c"><param name="Name" value="ai_family"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#ac635b6b5d4d6d9958cfb72d44550bd36"><param name="Name" value="AIRPCAP_HANDLE__EAE405F5_0171_9592_B3C2_C19EC426AD34__DEFINED_"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gae56562740b1159ed03061cecec40f609"><param name="Name" value="AL"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gae56562740b1159ed03061cecec40f609"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gae56562740b1159ed03061cecec40f609"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gab3eed598cc38c958c42cf0a861948bbb"><param name="Name" value="ANDib"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gab3eed598cc38c958c42cf0a861948bbb"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gab3eed598cc38c958c42cf0a861948bbb"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga95bf0579f50e1b94e217b31e2016fa62"><param name="Name" value="ANDid"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga95bf0579f50e1b94e217b31e2016fa62"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga95bf0579f50e1b94e217b31e2016fa62"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga7828add99946b35b9e718a0f23ec7e65"><param name="Name" value="ANDrd"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga7828add99946b35b9e718a0f23ec7e65"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga7828add99946b35b9e718a0f23ec7e65"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gaabc40350f8f80c9c718c44dea61e10fe"><param name="Name" value="AX"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gaabc40350f8f80c9c718c44dea61e10fe"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gaabc40350f8f80c9c718c44dea61e10fe"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structbinary__stream.html"><param name="Name" value="binary_stream"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structbinary__stream.html#aac2aa0c781c5af722cd3b1bbf843349e"><param name="Name" value="bpf_pc"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structbinary__stream.html#a50441f9758f33af17338ad5287c77eba"><param name="Name" value="cur_ip"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structbinary__stream.html#abb3db7b09fbe9ae9c56d7ee080669cca"><param name="Name" value="ibuf"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structbinary__stream.html#a479a793a3937e38fd40e0bb6edfbfe5e"><param name="Name" value="refs"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#gadd9e03a96d297a33d7cee4d750c34eff"><param name="Name" value="BIOCGEVNAME"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#gadd9e03a96d297a33d7cee4d750c34eff"><param name="Name" value="ioctls.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#gadd9e03a96d297a33d7cee4d750c34eff"><param name="Name" value="NPF_ioctl"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#ga8ae8be8faa281644d8be1cda38b826bd"><param name="Name" value="BIOCGSTATS"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#ga8ae8be8faa281644d8be1cda38b826bd"><param name="Name" value="ioctls.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#ga8ae8be8faa281644d8be1cda38b826bd"><param name="Name" value="NPF_ioctl"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#ga874d333aca88363bc6fdcb3e8b1af05b"><param name="Name" value="BIOCISDUMPENDED"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#ga874d333aca88363bc6fdcb3e8b1af05b"><param name="Name" value="ioctls.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#ga874d333aca88363bc6fdcb3e8b1af05b"><param name="Name" value="NPF_ioctl"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#gae02ae71d6fe0bfb4b600f8027dc90ba3"><param name="Name" value="BIOCISETLOBBEH"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#gae02ae71d6fe0bfb4b600f8027dc90ba3"><param name="Name" value="ioctls.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#gae02ae71d6fe0bfb4b600f8027dc90ba3"><param name="Name" value="NPF_ioctl"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#ga5a0ab3231052ff323817e288dab2f127"><param name="Name" value="BIOCQUERYOID"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#ga5a0ab3231052ff323817e288dab2f127"><param name="Name" value="ioctls.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#ga5a0ab3231052ff323817e288dab2f127"><param name="Name" value="NPF_ioctl"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#gac50830dc08762383dcb203a66e5c853d"><param name="Name" value="BIOCSENDPACKETSNOSYNC"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#gac50830dc08762383dcb203a66e5c853d"><param name="Name" value="ioctls.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#gac50830dc08762383dcb203a66e5c853d"><param name="Name" value="NPF_ioctl"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#gab4d41e91e460bb101ef8ddb622a8e010"><param name="Name" value="BIOCSENDPACKETSSYNC"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#gab4d41e91e460bb101ef8ddb622a8e010"><param name="Name" value="ioctls.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#gab4d41e91e460bb101ef8ddb622a8e010"><param name="Name" value="NPF_ioctl"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#ga71817d3a52bf0ec819934a5f688a172c"><param name="Name" value="BIOCSETBUFFERSIZE"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#ga71817d3a52bf0ec819934a5f688a172c"><param name="Name" value="ioctls.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#ga71817d3a52bf0ec819934a5f688a172c"><param name="Name" value="NPF_ioctl"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#gac8b51f8abae12f57a2ea8e8e4c0cd53c"><param name="Name" value="BIOCSETDUMPFILENAME"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#gac8b51f8abae12f57a2ea8e8e4c0cd53c"><param name="Name" value="ioctls.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#gac8b51f8abae12f57a2ea8e8e4c0cd53c"><param name="Name" value="NPF_ioctl"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#ga3205efe3271948f253c4da5abf0e12c6"><param name="Name" value="BIOCSETDUMPLIMITS"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#ga3205efe3271948f253c4da5abf0e12c6"><param name="Name" value="ioctls.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#ga3205efe3271948f253c4da5abf0e12c6"><param name="Name" value="NPF_ioctl"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#ga31c73f09a27bb38a6040a5841096576a"><param name="Name" value="BIOCSETEVENTHANDLE"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#ga31c73f09a27bb38a6040a5841096576a"><param name="Name" value="ioctls.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#ga31c73f09a27bb38a6040a5841096576a"><param name="Name" value="NPF_ioctl"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#gaf85f500f68404076ac60ffe6e08818da"><param name="Name" value="BIOCSETF"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#gaf85f500f68404076ac60ffe6e08818da"><param name="Name" value="ioctls.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#gaf85f500f68404076ac60ffe6e08818da"><param name="Name" value="NPF_ioctl"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#gabf9a4779fd5281607510edc8b5d766dd"><param name="Name" value="BIOCSETOID"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#gabf9a4779fd5281607510edc8b5d766dd"><param name="Name" value="ioctls.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#gabf9a4779fd5281607510edc8b5d766dd"><param name="Name" value="NPF_ioctl"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#gaa827e3441e3f84abc7df5e30fcee96d1"><param name="Name" value="BIOCSMINTOCOPY"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#gaa827e3441e3f84abc7df5e30fcee96d1"><param name="Name" value="ioctls.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#gaa827e3441e3f84abc7df5e30fcee96d1"><param name="Name" value="NPF_ioctl"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#gad1012b82859d09864d246b1fa99d48d6"><param name="Name" value="BIOCSMODE"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#gad1012b82859d09864d246b1fa99d48d6"><param name="Name" value="ioctls.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#gad1012b82859d09864d246b1fa99d48d6"><param name="Name" value="NPF_ioctl"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#ga327015c2b2e347212b571d1fa3aa2f54"><param name="Name" value="BIOCSRTIMEOUT"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#ga327015c2b2e347212b571d1fa3aa2f54"><param name="Name" value="ioctls.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#ga327015c2b2e347212b571d1fa3aa2f54"><param name="Name" value="NPF_ioctl"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#ga1436997ce2947bbbe22b5400254438a1"><param name="Name" value="BIOCSWRITEREP"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#ga1436997ce2947bbbe22b5400254438a1"><param name="Name" value="ioctls.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#ga1436997ce2947bbbe22b5400254438a1"><param name="Name" value="NPF_ioctl"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gad567ea9864a3046e47ab69cdc050ecfa"><param name="Name" value="BL"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gad567ea9864a3046e47ab69cdc050ecfa"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gad567ea9864a3046e47ab69cdc050ecfa"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga82b271e081de4cfb35eb87b0c13dddba"><param name="Name" value="BP"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga82b271e081de4cfb35eb87b0c13dddba"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga82b271e081de4cfb35eb87b0c13dddba"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga8d441782c2295f2f71d32727dd3f28a0"><param name="Name" value="BPF_Destroy_JIT_Filter"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga8d441782c2295f2f71d32727dd3f28a0"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga8d441782c2295f2f71d32727dd3f28a0"><param name="Name" value="NPF_code"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#a7b833a1802fa10b0d550c6eb3e724d75"><param name="Name" value="BPF_EXECUTE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga55e96d93d223cecaa3c69437c1603c29"><param name="Name" value="BPF_filter_function"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga55e96d93d223cecaa3c69437c1603c29"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga55e96d93d223cecaa3c69437c1603c29"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#ae234c1f999720a0167b71235dd9efbd3"><param name="Name" value="BPF_GET_REGISTER_VALUE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#aab18fbabe4f6a84757afb8088827e82f"><param name="Name" value="BPF_INIT"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#ga759c6336c1d9abb462d9248c5ca5c437"><param name="Name" value="bpf_int32"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#ga759c6336c1d9abb462d9248c5ca5c437"><param name="Name" value="incs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#ga759c6336c1d9abb462d9248c5ca5c437"><param name="Name" value="wpcap_def"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gab95019314e0cce415388272574f85ed7"><param name="Name" value="BPF_jitter"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gab95019314e0cce415388272574f85ed7"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gab95019314e0cce415388272574f85ed7"><param name="Name" value="NPF_code"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#a5e77fbb97cf270c27c430722a1e6fa3b"><param name="Name" value="BPF_LOOKUP"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#a5be0e4575ff0738e013bf0f3b76dc7be"><param name="Name" value="BPF_MEM_EX"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#a8b0c82df581e67530cb69b0c737f6d13"><param name="Name" value="BPF_MEM_EX_IMM"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#ae9464818b3ae1e14e27bf7dc2a7d0a55"><param name="Name" value="BPF_MEM_EX_IND"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structbinary__stream.html#aac2aa0c781c5af722cd3b1bbf843349e"><param name="Name" value="bpf_pc"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#abb2e97aac5a34caa5ceb0d8495ca7d8c"><param name="Name" value="BPF_RESET"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#ac6ebbf4ea8c29d48aa9ebe282544f467"><param name="Name" value="BPF_SEPARATION"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#a54a2fb014f7f0ff0dbec7b8c9c319322"><param name="Name" value="BPF_SET_ACTIVE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#a2beb870e2a5cd292a00b8bc243c0ab78"><param name="Name" value="BPF_SET_ACTIVE_READ"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#a60cf9b2aab2c973697939bdc85ff4f2d"><param name="Name" value="BPF_SET_AUTODELETION"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#a53c19e47ce08fe540a1e1323b1d5eb04"><param name="Name" value="BPF_SET_MEMORY"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#afcf6a0cd9b0e14f9456d643888ae958f"><param name="Name" value="BPF_SET_REGISTER_VALUE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#aa2cac9008111e31a231a0183e2af0525"><param name="Name" value="BPF_SET_WORKING"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#ad7d6cc253b9b7d72ff13f80370a52490"><param name="Name" value="BPF_TME"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482"><param name="Name" value="bpf_u_int32"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482"><param name="Name" value="incs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482"><param name="Name" value="wpcap_def"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#a52afa333263879b18b8ef1278e9d9c38"><param name="Name" value="BPF_VALIDATE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a312a1a6ffddf98f960cd0ac2d56fce52"><param name="Name" value="bpfprogram"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gaac4070271462268d182b0dbdbfcb1a88"><param name="Name" value="BPFtoX86"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gaac4070271462268d182b0dbdbfcb1a88"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gaac4070271462268d182b0dbdbfcb1a88"><param name="Name" value="NPF_code"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__addr.html#a0077647e1560caa72d457120b36c248c"><param name="Name" value="broadaddr"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__addr.html#a0077647e1560caa72d457120b36c248c"><param name="Name" value="pcap_addr"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__findalldevs__ifaddr.html#a2689aec0100832e17df8795f1acfdef0"><param name="Name" value="rpcap_findalldevs_ifaddr"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__stat.html#a579778ac11d2b5c142ce8bc7ed37bb08"><param name="Name" value="bs_capt"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gae23323bfdb114db0bf84e73f69adf3ba"><param name="Name" value="BSWAP"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gae23323bfdb114db0bf84e73f69adf3ba"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gae23323bfdb114db0bf84e73f69adf3ba"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct____CPU__Private__Data.html#a7ed9f5e612c567cfa25af0f46a25dad4"><param name="Name" value="Buffer"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__send__queue.html#aff2566f4c366b48d73479bef43ee4d2e"><param name="Name" value="buffer"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct____CPU__Private__Data.html#a59c9030d87b24c9cb4efdabe9c7b9337"><param name="Name" value="BufferLock"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a006227bc7ca0b2df920a8adfb7740ecb"><param name="Name" value="BufferMdl"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__startcapreply.html#a115866b96012076ded74e527b0e082ea"><param name="Name" value="bufsize"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga0f37ffb2213a7e5ab25da072e87193ac"><param name="Name" value="BX"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga0f37ffb2213a7e5ab25da072e87193ac"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga0f37ffb2213a7e5ab25da072e87193ac"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct____CPU__Private__Data.html#a2df61425b58c12f1de6f0e6aaeb131ea"><param name="Name" value="C"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga7300b6880da1b61717e7ff815d579bf6"><param name="Name" value="C_ASSERT"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga7300b6880da1b61717e7ff815d579bf6"><param name="Name" value="NPF_include"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga7300b6880da1b61717e7ff815d579bf6"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__pkthdr.html#aac5771ed2efd92508bb4fe650f2ce7d7"><param name="Name" value="caplen"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__pkthdr.html#aac5771ed2efd92508bb4fe650f2ce7d7"><param name="Name" value="pcap_pkthdr"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__pkthdr.html#a7219d531cfc6ceb3447db730ffd11794"><param name="Name" value="rpcap_pkthdr"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structsf__pkthdr.html#addde4bcd837b0ac2f4ab6472162c8ec2"><param name="Name" value="sf_pkthdr"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="wpcap__remote_8htm.html#a0b27a0048ba88eaf6d523bcc6c6ef00e"><param name="Name" value="case"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga8f4ea5fa21d42f950b5f95a91e9ff227"><param name="Name" value="CL"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga8f4ea5fa21d42f950b5f95a91e9ff227"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga8f4ea5fa21d42f950b5f95a91e9ff227"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#ae00f3e1e556edb44c5bbf7f4f75f117a"><param name="Name" value="ClosePending"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga8bf965a6a78db5894fbee77707652516"><param name="Name" value="CMPid"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga8bf965a6a78db5894fbee77707652516"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga8bf965a6a78db5894fbee77707652516"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gafaea7a7a2968bf20db43abae63b865fa"><param name="Name" value="CMPodd"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gafaea7a7a2968bf20db43abae63b865fa"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gafaea7a7a2968bf20db43abae63b865fa"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gad2db4a7b20890227d0dfeccae16710e6"><param name="Name" value="CMPrd"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gad2db4a7b20890227d0dfeccae16710e6"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gad2db4a7b20890227d0dfeccae16710e6"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__filterbpf__insn.html#a17ec1b1641303c1995e0ca66ae938603"><param name="Name" value="code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="wpcap__remote_8htm.html#a9626e8afe69dfeee0e9d7a2477dedf52"><param name="Name" value="connection"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a7bd68a3950090232f1147e501a4ccf78"><param name="Name" value="CountersLock"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__PACKET__RESERVED.html#a761baf004d76cf5faf3c898787fceeb6"><param name="Name" value="Cpu"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a289c7590d7f5d96fa9051d20c2a95a04"><param name="Name" value="CpuData"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga321d8c7f608d41e095ec3508cff10764"><param name="Name" value="CpuPrivateData"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga321d8c7f608d41e095ec3508cff10764"><param name="Name" value="NPF_include"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga321d8c7f608d41e095ec3508cff10764"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structbinary__stream.html#a50441f9758f33af17338ad5287c77eba"><param name="Name" value="cur_ip"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga0b4c12a5dc8490a3cff8385334db2d13"><param name="Name" value="CX"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga0b4c12a5dc8490a3cff8385334db2d13"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga0b4c12a5dc8490a3cff8385334db2d13"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="daemon_8h.html"><param name="Name" value="daemon.h"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="daemon_8h.html#ac54125d76e6f1ed4531f2025d51297e9"><param name="Name" value="daemon_serviceloop"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="daemon_8h.html#a17c4e1f787be3e05287772cef511a91d"><param name="Name" value="pthread_suspend"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="wpcap__remote_8htm.html#a258f021c7879aa3b45bdf4d6e922d4f1"><param name="Name" value="Daemon"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="daemon_8h.html#ac54125d76e6f1ed4531f2025d51297e9"><param name="Name" value="daemon_serviceloop"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structdaemon__slpars.html"><param name="Name" value="daemon_slpars"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structdaemon__slpars.html#a56e762dd86c425a2780508a6373d5271"><param name="Name" value="activeclose"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structdaemon__slpars.html#a144e351e5de6c1ee3d9db04403434984"><param name="Name" value="isactive"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structdaemon__slpars.html#a2513fb035d3d00a2d1b3c355aab6c93a"><param name="Name" value="nullAuthAllowed"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structdaemon__slpars.html#a33939ceefa385f1e6c60f94f2474869d"><param name="Name" value="sockctrl"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__PACKET__OID__DATA.html#a4cbcc2ef0ca2424d2488748b944f4507"><param name="Name" value="Data"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__findalldevs__if.html#a9fe649a115732c913d126218054a9941"><param name="Name" value="desclen"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__if.html#a8444d6e0dfe2bbab0b5e7b24308f1559"><param name="Name" value="description"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga5091b7a273db5d38a71df5293eb52ccf"><param name="Name" value="DEVICE_EXTENSION"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga5091b7a273db5d38a71df5293eb52ccf"><param name="Name" value="NPF_include"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga5091b7a273db5d38a71df5293eb52ccf"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#aaa72c26b5a1b98197da412302325e009"><param name="Name" value="DeviceExtension"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gacabe1ee3d11be6214c678bf4dabda3c9"><param name="Name" value="DI"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gacabe1ee3d11be6214c678bf4dabda3c9"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gacabe1ee3d11be6214c678bf4dabda3c9"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gacf243ff85add192cb3105fb7a7911a7d"><param name="Name" value="DIVrd"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gacf243ff85add192cb3105fb7a7911a7d"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gacf243ff85add192cb3105fb7a7911a7d"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga7c70057f4ac04e167029eef16e7bb770"><param name="Name" value="DL"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga7c70057f4ac04e167029eef16e7bb770"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga7c70057f4ac04e167029eef16e7bb770"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga6502d781bd20234a06710b92d540baba"><param name="Name" value="DriverEntry"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga6502d781bd20234a06710b92d540baba"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga6502d781bd20234a06710b92d540baba"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct____CPU__Private__Data.html#a04eecb86252e644a73f38346274340dc"><param name="Name" value="Dropped"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__addr.html#a4a32e00e83d4b1b582ba9cef24a5d62a"><param name="Name" value="dstaddr"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__addr.html#a4a32e00e83d4b1b582ba9cef24a5d62a"><param name="Name" value="pcap_addr"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__findalldevs__ifaddr.html#a907e6142b6f02d26357a18525f2a32c1"><param name="Name" value="rpcap_findalldevs_ifaddr"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__sampling.html#ac5a9635addc2e517659182ae5b8a6fe6"><param name="Name" value="dummy1"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__sampling.html#a055fd5d9ca450d213ec8d0be4328251a"><param name="Name" value="dummy2"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__auth.html#a39840d82c8fedd34d8b6d25ae4e374c7"><param name="Name" value="dummy"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__auth.html#a39840d82c8fedd34d8b6d25ae4e374c7"><param name="Name" value="rpcap_auth"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__filter.html#a39840d82c8fedd34d8b6d25ae4e374c7"><param name="Name" value="rpcap_filter"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__findalldevs__if.html#a39840d82c8fedd34d8b6d25ae4e374c7"><param name="Name" value="rpcap_findalldevs_if"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__startcapreply.html#a39840d82c8fedd34d8b6d25ae4e374c7"><param name="Name" value="rpcap_startcapreply"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a1485cbdca5f70ed6a4eb8fd26feec1e0"><param name="Name" value="DumpEvent"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#affef27f71b541e5dfab6a3dc9ea7dd86"><param name="Name" value="DumpFileHandle"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#ad26771cfc74dde2d2ce22b38db3124b0"><param name="Name" value="DumpFileName"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a093d2624638004aafcc3193328cf2626"><param name="Name" value="DumpFileObject"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a612913cea459725cff2085d29e534aae"><param name="Name" value="DumpLimitReached"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a00c3ae6811320e03dea5b400fc5f9da8"><param name="Name" value="DumpOffset"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#afb4bb3d6e021e9b1cc1206fa23d4c8f7"><param name="Name" value="DumpThreadHandle"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#af5fc8480398782ff1f676f25f5097768"><param name="Name" value="DumpThreadObject"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga3bcbb4f56d33efbe2456169e4d94c644"><param name="Name" value="DX"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga3bcbb4f56d33efbe2456169e4d94c644"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga3bcbb4f56d33efbe2456169e4d94c644"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga2fa1397b8142d609008de2e71c83e854"><param name="Name" value="EAX"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga2fa1397b8142d609008de2e71c83e854"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga2fa1397b8142d609008de2e71c83e854"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga220a1f7741c506d2c73c9d5f0c3ad036"><param name="Name" value="EBP"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga220a1f7741c506d2c73c9d5f0c3ad036"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga220a1f7741c506d2c73c9d5f0c3ad036"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gab115c151477ddd6da5358ddc00071052"><param name="Name" value="EBX"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gab115c151477ddd6da5358ddc00071052"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gab115c151477ddd6da5358ddc00071052"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gae52163bab922ab29302d224786b8526d"><param name="Name" value="ECX"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gae52163bab922ab29302d224786b8526d"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gae52163bab922ab29302d224786b8526d"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gaebb930ae9eecaa5a8fa94d2ef4f159e0"><param name="Name" value="EDI"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gaebb930ae9eecaa5a8fa94d2ef4f159e0"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gaebb930ae9eecaa5a8fa94d2ef4f159e0"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga8104635452d33b8536b33b551d98998f"><param name="Name" value="EDX"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga8104635452d33b8536b33b551d98998f"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga8104635452d33b8536b33b551d98998f"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga9b8427d5c2ee2075f766226a6e53bfad"><param name="Name" value="emit_func"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga9b8427d5c2ee2075f766226a6e53bfad"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga9b8427d5c2ee2075f766226a6e53bfad"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gad4c46ad303098e5253b9216faff99d48"><param name="Name" value="ESI"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gad4c46ad303098e5253b9216faff99d48"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gad4c46ad303098e5253b9216faff99d48"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga473a7f647ac8d1f222e106f074c43727"><param name="Name" value="ESP"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga473a7f647ac8d1f222e106f074c43727"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga473a7f647ac8d1f222e106f074c43727"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gad6d1f5522a147ddeb7d9b11916acd50a"><param name="Name" value="EXIT_FAILURE"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gad6d1f5522a147ddeb7d9b11916acd50a"><param name="Name" value="NPF_include"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gad6d1f5522a147ddeb7d9b11916acd50a"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gacabf25322566f3bcd1e564e4939f5821"><param name="Name" value="EXIT_SUCCESS"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gacabf25322566f3bcd1e564e4939f5821"><param name="Name" value="NPF_include"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gacabf25322566f3bcd1e564e4939f5821"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__DEVICE__EXTENSION.html#a147b6ff0677e88b5721e51ab7759121a"><param name="Name" value="ExportString"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="fileconf_8h.html"><param name="Name" value="fileconf.h"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="fileconf_8h.html#a0de1d69b41cd2c4660ba69528e1efcbc"><param name="Name" value="fileconf_read"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="fileconf_8h.html#acfe7f224e7366e140e926ea972eebad3"><param name="Name" value="fileconf_save"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="fileconf_8h.html#a0de1d69b41cd2c4660ba69528e1efcbc"><param name="Name" value="fileconf_read"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="fileconf_8h.html#acfe7f224e7366e140e926ea972eebad3"><param name="Name" value="fileconf_save"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__filter.html#a1d9d57b94681191242914430f33b34f0"><param name="Name" value="filtertype"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__if.html#a304e038dd1326c14b31a206cbad18756"><param name="Name" value="flags"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__if.html#a304e038dd1326c14b31a206cbad18756"><param name="Name" value="pcap_if"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__findalldevs__if.html#a81a27ce50e78368b0d0de1e8767fd32d"><param name="Name" value="rpcap_findalldevs_if"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__startcapreq.html#ae15f0808741c35cb9a8d231105d8beea"><param name="Name" value="rpcap_startcapreq"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct____CPU__Private__Data.html#acaf5ef1e959170b06d01fc65a27bb951"><param name="Name" value="Free"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__PACKET__RESERVED.html#abc42eac7c5d3593aa809edceadb0743f"><param name="Name" value="FreeBufAfterWrite"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#gae0dc50910fabbd375fab8a1352a6cf33"><param name="Name" value="pcap_breakloop"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#gaa45a5e1a4ba9925bb3586dcbeec78560"><param name="Name" value="pcap_close"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga363bdc6f6b39b4979ddcf15ecb830c5c"><param name="Name" value="pcap_compile"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga8325b202dad14a00609db8372722ae4e"><param name="Name" value="pcap_compile_nopcap"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#gaa3111e10f930a9772a32a922b26948b0"><param name="Name" value="pcap_createsrcstr"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga64c019f851f7da6892d51cca15f12ace"><param name="Name" value="pcap_datalink"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga440b2f0757acd4804588933324909207"><param name="Name" value="pcap_datalink_name_to_val"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga3f142cd0694b49357e4a73371db71411"><param name="Name" value="pcap_datalink_val_to_description"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#gad45c16d494577f1886704af8f31ed442"><param name="Name" value="pcap_datalink_val_to_name"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga60ce104cdf28420d3361cd36d15be44c"><param name="Name" value="pcap_dispatch"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga659439bf5aa3988b5a92d31990fbf437"><param name="Name" value="pcap_dump"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga3897795c1e9fb10571092febae964ef0"><param name="Name" value="pcap_dump_close"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga8dac02f297422ff2ab5983d1e30c58b6"><param name="Name" value="pcap_dump_file"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga90404ae3dcffcd3bbe78f8b187a88984"><param name="Name" value="pcap_dump_flush"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga50de34b8b3298f76c66c82b7ca3f84de"><param name="Name" value="pcap_dump_ftell"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga9506c33d580fdb5e5c288dba0f8a085c"><param name="Name" value="pcap_dump_open"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga4c9f5690b99fb2af1f8904403f7da06b"><param name="Name" value="pcap_file"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga7b128eaeef627b408f6a6e2a2f5eb45d"><param name="Name" value="pcap_findalldevs"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga98f36e62c95c6ad81eaa8b2bbeb8f16e"><param name="Name" value="pcap_findalldevs_ex"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga346b4b0b7fd1cda4abb9a39f767dbeb1"><param name="Name" value="pcap_freealldevs"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga9e0a5aad1a5dc79d85f1edfcebe0ac13"><param name="Name" value="pcap_freecode"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga4c8f8d1b9238c74faa156494a6b98670"><param name="Name" value="pcap_get_airpcap_handle"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga81305cb154e4497e95bbb9b708631a3a"><param name="Name" value="pcap_geterr"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga2c415e9192c7b18a81a02300ae6f2c02"><param name="Name" value="pcap_getevent"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#gab25dc0bfe06545b86be4103bf010708e"><param name="Name" value="pcap_getnonblock"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#gabcba231c099919ecd9300d7160b19878"><param name="Name" value="pcap_handler"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#gaba4941e09e5e03ba39841de4b1d5d6a4"><param name="Name" value="pcap_is_swapped"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga2d92cec9ff55906b5b6fb883e4bd72f4"><param name="Name" value="pcap_lib_version"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga64e482360b0ed7d65fce1db23d56b921"><param name="Name" value="pcap_list_datalinks"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#gaedef54159d918b22a7de8e75b8a3ef4d"><param name="Name" value="pcap_live_dump"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#gafe8a334f3a7ae2dc7f52e96523da39be"><param name="Name" value="pcap_live_dump_ended"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#gaed295fc9fd86434372e8a8316f1270b1"><param name="Name" value="pcap_lookupdev"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#gaa35276d0fa530c51a455f298fa1ec453"><param name="Name" value="pcap_lookupnet"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga6bcb7c5c59d76ec16b8a699da136b5de"><param name="Name" value="pcap_loop"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga39dfb05149b443cc25b8febc455ca753"><param name="Name" value="pcap_major_version"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#gac7a9dd9cd040ee500221cf35dfb49248"><param name="Name" value="pcap_minor_version"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#gadf60257f650aaf869671e0a163611fc3"><param name="Name" value="pcap_next"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga439439c2eae61161dc1efb1e03a81133"><param name="Name" value="pcap_next_ex"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#gae92f11bfb001c19b2d0fbcd6821d222a"><param name="Name" value="pcap_offline_filter"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga2b64c7b6490090d1d37088794f1f1791"><param name="Name" value="pcap_open"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga6445eeb76f2757b9fa088b276eea2845"><param name="Name" value="pcap_open_dead"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#gaae6abe06e15c87b803f69773822beca8"><param name="Name" value="pcap_open_live"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga91078168a13de8848df2b7b83d1f5b69"><param name="Name" value="pcap_open_offline"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga090e0afd3f463b4b60a64c47eddc1ba2"><param name="Name" value="pcap_parsesrcstr"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#gac3b6784c6c2623b93b22f6f219bd470e"><param name="Name" value="pcap_perror"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga5495943cc8262db57f726e2a23f837dd"><param name="Name" value="pcap_remoteact_accept"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga7b022e0a67f5ff62fd13df5c688d6d82"><param name="Name" value="pcap_remoteact_cleanup"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga6a84e03497f946d61c440696e57e2c95"><param name="Name" value="pcap_remoteact_close"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga7ee8f666bff537aa457b7c05651cf815"><param name="Name" value="pcap_remoteact_list"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga51dbda0f1ab9da2cfe49d657486d50b2"><param name="Name" value="pcap_sendpacket"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#gab940e69631b7cc7f2232a69ea02b86d9"><param name="Name" value="pcap_sendqueue_alloc"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga72624f7a9932cc2124abf661001e0aa4"><param name="Name" value="pcap_sendqueue_destroy"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga4c57ea320d71dbfe55c5665af9db1297"><param name="Name" value="pcap_sendqueue_queue"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#gaa4d55eb047a1cccc0e28397ce04ee097"><param name="Name" value="pcap_sendqueue_transmit"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga9588b99ac118cf827873d9e941eb6c77"><param name="Name" value="pcap_set_datalink"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga124bde25ccd9e39017ff2abec2dda623"><param name="Name" value="pcap_setbuff"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#gaf5f9cfe85dad0967ff607e5159b1ba61"><param name="Name" value="pcap_setfilter"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#gab14ceacbf1c2f63026416dd73f80dc0d"><param name="Name" value="pcap_setmintocopy"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#gaef07ef49d3c75644f3fd34518e2fe720"><param name="Name" value="pcap_setmode"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga3f212141c80b59aad8ac535bb0178275"><param name="Name" value="pcap_setnonblock"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga84c7d55f5b0e7d545b38d6b8e7bde005"><param name="Name" value="pcap_setsampling"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#gae5c6e9768e89a6b82f9d720f37e6ab97"><param name="Name" value="pcap_snapshot"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#gabbd74d8c3ce1bcbccc76129ac38f4549"><param name="Name" value="pcap_stats"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#ga8050f7829956aabd243cc32b3cfabbd6"><param name="Name" value="pcap_stats_ex"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="funcs_2pcap_8h.html#gafac2067e8f66f5a5a87f19f5e2b5ad4f"><param name="Name" value="pcap_strerror"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structJIT__BPF__Filter.html#a2c70f0e9fd23c617d13b2dc57bb32162"><param name="Name" value="Function"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga980b14c18716a1788990f8e68fed9420"><param name="Name" value="g_NCpu"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga980b14c18716a1788990f8e68fed9420"><param name="Name" value="NPF_include"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga980b14c18716a1788990f8e68fed9420"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga5d6fbe2176d19b191fa7aaac4d6d6bb5"><param name="Name" value="g_NdisProtocolHandle"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga5d6fbe2176d19b191fa7aaac4d6d6bb5"><param name="Name" value="NPF_include"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga5d6fbe2176d19b191fa7aaac4d6d6bb5"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gab325d08691ab69e4f942f6a418a41db2"><param name="Name" value="g_SendPacketFlags"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gab325d08691ab69e4f942f6a418a41db2"><param name="Name" value="NPF_include"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gab325d08691ab69e4f942f6a418a41db2"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga8bd3dab633cae7a1a47c4ddb2705a31b"><param name="Name" value="G_Start_Time"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga8bd3dab633cae7a1a47c4ddb2705a31b"><param name="Name" value="NPF_include"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga8bd3dab633cae7a1a47c4ddb2705a31b"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gafc395636686df00f554efbd2010f73cb"><param name="Name" value="getAdaptersList"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gafc395636686df00f554efbd2010f73cb"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gafc395636686df00f554efbd2010f73cb"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gadd6737f745e21b37b8613b489a96687d"><param name="Name" value="GetBuffOccupation"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gadd6737f745e21b37b8613b489a96687d"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gadd6737f745e21b37b8613b489a96687d"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="utils_8h.html#ac4cbd81bf756957d5021b41159a17d0d"><param name="Name" value="getopt"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gacf0e32b371eb9283e5cf1de0dfb15629"><param name="Name" value="getTcpBindings"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gacf0e32b371eb9283e5cf1de0dfb15629"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gacf0e32b371eb9283e5cf1de0dfb15629"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structPacketHeader.html#ae2f3ed1162db1cfdbd9abe8f203426ad"><param name="Name" value="header"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structactivehosts.html#aa80ddc7d4304067f1441e3562c9b2b08"><param name="Name" value="host"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structactivehosts.html#aa80ddc7d4304067f1441e3562c9b2b08"><param name="Name" value="activehosts"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="wpcap__remote_8htm.html#a3c46d79c790748a5942fb43baa6b3073"><param name="Name" value="wpcap_remote.htm"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structbinary__stream.html#abb3db7b09fbe9ae9c56d7ee080669cca"><param name="Name" value="ibuf"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__stats.html#a1be6b9fbf42a7f74578974c611903f7d"><param name="Name" value="ifdrop"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__stats.html#a1d0c9184d7f075a1237db76400b1b503"><param name="Name" value="ifrecv"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga4f6749b7708a411df2a3341a3fcef917"><param name="Name" value="IMMEDIATE"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga4f6749b7708a411df2a3341a3fcef917"><param name="Name" value="NPF_include"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga4f6749b7708a411df2a3341a3fcef917"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="incs_2pcap_8h.html"><param name="Name" value="incs/pcap.h"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="incs_2pcap_8h.html#ga759c6336c1d9abb462d9248c5ca5c437"><param name="Name" value="bpf_int32"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="incs_2pcap_8h.html#ga37fdbc8313e90fb2041203a2e40cd482"><param name="Name" value="bpf_u_int32"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="incs_2pcap_8h.html#gac93c0a6ad1d2a3143b1115bdab3ac04d"><param name="Name" value="MODE_CAPT"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="incs_2pcap_8h.html#ga503326906a62e96c147ae6af31fb5659"><param name="Name" value="MODE_STAT"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="incs_2pcap_8h.html#gad5c2e491e2ca9d8eefe4217021c99bdc"><param name="Name" value="pcap_addr_t"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="incs_2pcap_8h.html#gab8c7858aa3a7e3158d9d58cb113a2ae8"><param name="Name" value="pcap_dumper_t"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="incs_2pcap_8h.html#gacd448353957d92c98fccc29e1fc8d927"><param name="Name" value="PCAP_ERRBUF_SIZE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="incs_2pcap_8h.html#ga43a6601bfd438efc02b0ba71c5439647"><param name="Name" value="PCAP_IF_LOOPBACK"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="incs_2pcap_8h.html#ga3a6e7cbf8d9752da3add4676c7cd4c58"><param name="Name" value="pcap_if_t"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="incs_2pcap_8h.html#ga4711d025f83503ce692efa5e45ec60a7"><param name="Name" value="pcap_t"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="incs_2pcap_8h.html#gaac031371d41e21ff96e80409e05a7ddb"><param name="Name" value="PCAP_VERSION_MAJOR"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="incs_2pcap_8h.html#ga9c200b070c9f626d38184588b16849c2"><param name="Name" value="PCAP_VERSION_MINOR"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga56f1a81c92849566ae864511088eb7e8"><param name="Name" value="int32"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga56f1a81c92849566ae864511088eb7e8"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga56f1a81c92849566ae864511088eb7e8"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga0bee4ca4dc129822e19478f88d991a31"><param name="Name" value="INTERNAL_REQUEST"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga0bee4ca4dc129822e19478f88d991a31"><param name="Name" value="NPF_include"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga0bee4ca4dc129822e19478f88d991a31"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__INTERNAL__REQUEST.html#aa27c26f410846e10408bc8ac558430b9"><param name="Name" value="InternalRequestCompletedEvent"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="ioctls_8h.html"><param name="Name" value="ioctls.h"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="ioctls_8h.html#gadd9e03a96d297a33d7cee4d750c34eff"><param name="Name" value="BIOCGEVNAME"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="ioctls_8h.html#ga8ae8be8faa281644d8be1cda38b826bd"><param name="Name" value="BIOCGSTATS"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="ioctls_8h.html#ga874d333aca88363bc6fdcb3e8b1af05b"><param name="Name" value="BIOCISDUMPENDED"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="ioctls_8h.html#gae02ae71d6fe0bfb4b600f8027dc90ba3"><param name="Name" value="BIOCISETLOBBEH"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="ioctls_8h.html#ga5a0ab3231052ff323817e288dab2f127"><param name="Name" value="BIOCQUERYOID"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="ioctls_8h.html#gac50830dc08762383dcb203a66e5c853d"><param name="Name" value="BIOCSENDPACKETSNOSYNC"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="ioctls_8h.html#gab4d41e91e460bb101ef8ddb622a8e010"><param name="Name" value="BIOCSENDPACKETSSYNC"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="ioctls_8h.html#ga71817d3a52bf0ec819934a5f688a172c"><param name="Name" value="BIOCSETBUFFERSIZE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="ioctls_8h.html#gac8b51f8abae12f57a2ea8e8e4c0cd53c"><param name="Name" value="BIOCSETDUMPFILENAME"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="ioctls_8h.html#ga3205efe3271948f253c4da5abf0e12c6"><param name="Name" value="BIOCSETDUMPLIMITS"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="ioctls_8h.html#ga31c73f09a27bb38a6040a5841096576a"><param name="Name" value="BIOCSETEVENTHANDLE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="ioctls_8h.html#gaf85f500f68404076ac60ffe6e08818da"><param name="Name" value="BIOCSETF"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="ioctls_8h.html#gabf9a4779fd5281607510edc8b5d766dd"><param name="Name" value="BIOCSETOID"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="ioctls_8h.html#gaa827e3441e3f84abc7df5e30fcee96d1"><param name="Name" value="BIOCSMINTOCOPY"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="ioctls_8h.html#gad1012b82859d09864d246b1fa99d48d6"><param name="Name" value="BIOCSMODE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="ioctls_8h.html#ga327015c2b2e347212b571d1fa3aa2f54"><param name="Name" value="BIOCSRTIMEOUT"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="ioctls_8h.html#ga1436997ce2947bbbe22b5400254438a1"><param name="Name" value="BIOCSWRITEREP"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#af4f46bc8ed07a40605aeac6743a3e760"><param name="Name" value="IOStatus"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__PACKET__RESERVED.html#a4bee02d146b824008b9d03379b085b1e"><param name="Name" value="Irp"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structdaemon__slpars.html#a144e351e5de6c1ee3d9db04403434984"><param name="Name" value="isactive"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga714569f0abf518185dab9bbc44f61e26"><param name="Name" value="JA"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga714569f0abf518185dab9bbc44f61e26"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga714569f0abf518185dab9bbc44f61e26"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gafa60b85ba5e6d1180f7fb7c1843413d5"><param name="Name" value="JAE"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gafa60b85ba5e6d1180f7fb7c1843413d5"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gafa60b85ba5e6d1180f7fb7c1843413d5"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga3ad47796cfcb6867e44b0f82c8906bee"><param name="Name" value="JE"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga3ad47796cfcb6867e44b0f82c8906bee"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga3ad47796cfcb6867e44b0f82c8906bee"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__filterbpf__insn.html#ab2a6ab7330382a0e09a46b17ecbd1f9a"><param name="Name" value="jf"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gab7aa640b19ad1d6e32833b40ee963407"><param name="Name" value="JG"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gab7aa640b19ad1d6e32833b40ee963407"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gab7aa640b19ad1d6e32833b40ee963407"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga0b03c2a76f68eb3698320a001a5f5eae"><param name="Name" value="JGE"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga0b03c2a76f68eb3698320a001a5f5eae"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga0b03c2a76f68eb3698320a001a5f5eae"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structJIT__BPF__Filter.html"><param name="Name" value="JIT_BPF_Filter"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structJIT__BPF__Filter.html#a2c70f0e9fd23c617d13b2dc57bb32162"><param name="Name" value="Function"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structJIT__BPF__Filter.html#aeb16cd6e768dbea45530de3d0fc83e51"><param name="Name" value="mem"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html"><param name="Name" value="jitter.h"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga8a2dc91cd2750ca191cb52ee28c20026"><param name="Name" value="ADD_EAXi"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga662520f1b50ce47a5019ece610362a5d"><param name="Name" value="ADDib"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga78c9a376702f4d6227d3f4c3fde45f33"><param name="Name" value="ADDid"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga406c664d3efbbc2d75412722ebec9892"><param name="Name" value="ADDrd"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#gae56562740b1159ed03061cecec40f609"><param name="Name" value="AL"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#gab3eed598cc38c958c42cf0a861948bbb"><param name="Name" value="ANDib"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga95bf0579f50e1b94e217b31e2016fa62"><param name="Name" value="ANDid"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga7828add99946b35b9e718a0f23ec7e65"><param name="Name" value="ANDrd"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#gaabc40350f8f80c9c718c44dea61e10fe"><param name="Name" value="AX"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#gad567ea9864a3046e47ab69cdc050ecfa"><param name="Name" value="BL"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga82b271e081de4cfb35eb87b0c13dddba"><param name="Name" value="BP"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga8d441782c2295f2f71d32727dd3f28a0"><param name="Name" value="BPF_Destroy_JIT_Filter"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga55e96d93d223cecaa3c69437c1603c29"><param name="Name" value="BPF_filter_function"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#gab95019314e0cce415388272574f85ed7"><param name="Name" value="BPF_jitter"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#gaac4070271462268d182b0dbdbfcb1a88"><param name="Name" value="BPFtoX86"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#gae23323bfdb114db0bf84e73f69adf3ba"><param name="Name" value="BSWAP"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga0f37ffb2213a7e5ab25da072e87193ac"><param name="Name" value="BX"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga8f4ea5fa21d42f950b5f95a91e9ff227"><param name="Name" value="CL"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga8bf965a6a78db5894fbee77707652516"><param name="Name" value="CMPid"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#gafaea7a7a2968bf20db43abae63b865fa"><param name="Name" value="CMPodd"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#gad2db4a7b20890227d0dfeccae16710e6"><param name="Name" value="CMPrd"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga0b4c12a5dc8490a3cff8385334db2d13"><param name="Name" value="CX"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#gacabe1ee3d11be6214c678bf4dabda3c9"><param name="Name" value="DI"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#gacf243ff85add192cb3105fb7a7911a7d"><param name="Name" value="DIVrd"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga7c70057f4ac04e167029eef16e7bb770"><param name="Name" value="DL"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga3bcbb4f56d33efbe2456169e4d94c644"><param name="Name" value="DX"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga2fa1397b8142d609008de2e71c83e854"><param name="Name" value="EAX"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga220a1f7741c506d2c73c9d5f0c3ad036"><param name="Name" value="EBP"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#gab115c151477ddd6da5358ddc00071052"><param name="Name" value="EBX"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#gae52163bab922ab29302d224786b8526d"><param name="Name" value="ECX"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#gaebb930ae9eecaa5a8fa94d2ef4f159e0"><param name="Name" value="EDI"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga8104635452d33b8536b33b551d98998f"><param name="Name" value="EDX"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga9b8427d5c2ee2075f766226a6e53bfad"><param name="Name" value="emit_func"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#gad4c46ad303098e5253b9216faff99d48"><param name="Name" value="ESI"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga473a7f647ac8d1f222e106f074c43727"><param name="Name" value="ESP"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga714569f0abf518185dab9bbc44f61e26"><param name="Name" value="JA"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#gafa60b85ba5e6d1180f7fb7c1843413d5"><param name="Name" value="JAE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga3ad47796cfcb6867e44b0f82c8906bee"><param name="Name" value="JE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#gab7aa640b19ad1d6e32833b40ee963407"><param name="Name" value="JG"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga0b03c2a76f68eb3698320a001a5f5eae"><param name="Name" value="JGE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga406f0ee4d13f16d867e48bae8c9ffba7"><param name="Name" value="JLE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga0987b591887a2ea41c2ba108729f30cb"><param name="Name" value="JLEb"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga76425614ab26cca1839d7378c0fd1c55"><param name="Name" value="JMP"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga2f57f0e5ef7e33157d7a7983be7a85ef"><param name="Name" value="JNEb"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga6b0eac20fe309e12eec4f204ed2cf789"><param name="Name" value="MOVid"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga737d1a1dbf2cf21569a923c9309d4222"><param name="Name" value="MOVobb"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga4088a2e95640bad67561e29de7f7559c"><param name="Name" value="MOVobd"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#gab6d82c4f6d0f83d28f1390363ce6aaf6"><param name="Name" value="MOVobw"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#gae6230510e546bf08451c362926e35a5a"><param name="Name" value="MOVodd"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga1dff1655d4ad86048c3d3541b66c1ac7"><param name="Name" value="MOVomd"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#gabe5c6ed0ba1446cc33b33d6c9cc59819"><param name="Name" value="MOVrd"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga6522410ee041327aa6ab223875d84690"><param name="Name" value="MULrd"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga032ba5ad2d179d6d8d1fe24457126621"><param name="Name" value="NEGd"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#gad16914336faf4604944facbd4c20d942"><param name="Name" value="ORid"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga15317b93f1d8d9cf088bc9f91ace844b"><param name="Name" value="ORrd"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga6da555dded4ddd3b9b053dd3218dc631"><param name="Name" value="POP"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#gaea36ce6a00fb793cb4fa9046a65e4e32"><param name="Name" value="PUSH"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#gaea5f5503d3239c71deb8366c013d6866"><param name="Name" value="RET"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#gaba18f7228bd4b7775209dca22201f77f"><param name="Name" value="SHL_CLrb"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga42b8bbc156c89aef4676834480129221"><param name="Name" value="SHLib"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga2c2cfe760fe83b9577ddcff9b87d8ab5"><param name="Name" value="SHR_CLrb"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga5b4c050f10f024995d4b721c1fc6f3d3"><param name="Name" value="SHRib"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#gaa1be7844620ac7bffe73137a180aa044"><param name="Name" value="SI"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#gaecd69d9a67487cc45c38eb184c50538a"><param name="Name" value="SP"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga99d023823bbf183e389ebac6cd7d9897"><param name="Name" value="SUB_EAXi"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#gaa3a75062cb78c0956f063797cfd4c065"><param name="Name" value="SUBrd"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="jitter_8h.html#ga3918dfe9cdec919e2331a472ff76470f"><param name="Name" value="SWAP_AX"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga406f0ee4d13f16d867e48bae8c9ffba7"><param name="Name" value="JLE"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga406f0ee4d13f16d867e48bae8c9ffba7"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga406f0ee4d13f16d867e48bae8c9ffba7"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga0987b591887a2ea41c2ba108729f30cb"><param name="Name" value="JLEb"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga0987b591887a2ea41c2ba108729f30cb"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga0987b591887a2ea41c2ba108729f30cb"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga76425614ab26cca1839d7378c0fd1c55"><param name="Name" value="JMP"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga76425614ab26cca1839d7378c0fd1c55"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga76425614ab26cca1839d7378c0fd1c55"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga2f57f0e5ef7e33157d7a7983be7a85ef"><param name="Name" value="JNEb"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga2f57f0e5ef7e33157d7a7983be7a85ef"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga2f57f0e5ef7e33157d7a7983be7a85ef"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__filterbpf__insn.html#ad4d266bd45e28984c672e886adb82907"><param name="Name" value="jt"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__filterbpf__insn.html#adf462c7c841cf6945d8552684393efcf"><param name="Name" value="k"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga9cd2ca337001428aa9e1cb512a28ecc2"><param name="Name" value="KERNEL_EVENT_NAMESPACE"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga9cd2ca337001428aa9e1cb512a28ecc2"><param name="Name" value="NPF_include"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga9cd2ca337001428aa9e1cb512a28ecc2"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__stats.html#a498da3bcc201f4f77714798c5c6b03b5"><param name="Name" value="krnldrop"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__pkthdr.html#a728f264db4f5cc304742565a2bcdbeea"><param name="Name" value="len"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__pkthdr.html#a728f264db4f5cc304742565a2bcdbeea"><param name="Name" value="pcap_pkthdr"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__send__queue.html#ab4853420730b2b590cd3ad0e72fa80ca"><param name="Name" value="pcap_send_queue"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__pkthdr.html#a63941c3a03dc9736f3234bb756d9a305"><param name="Name" value="rpcap_pkthdr"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structsf__pkthdr.html#aacda8195c98d3cc32ebece7b17dac774"><param name="Name" value="sf_pkthdr"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__PACKET__OID__DATA.html#abfb371817eb1c8f0d8a165bb2b798092"><param name="Name" value="Length"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpacket__file__header.html#ab2a8854181cde7a065a43380b56fd2a1"><param name="Name" value="linktype"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpacket__file__header.html#ab2a8854181cde7a065a43380b56fd2a1"><param name="Name" value="packet_file_header"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__file__header.html#a1c54dd90a08b2c232f2f204bfaa54496"><param name="Name" value="pcap_file_header"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__openreply.html#a114fd2309d7d5811a05db20605112955"><param name="Name" value="rpcap_openreply"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__INTERNAL__REQUEST.html#a52c50c47cc14f9989d741158ef6da1b9"><param name="Name" value="ListElement"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__INTERNAL__REQUEST.html#a52c50c47cc14f9989d741158ef6da1b9"><param name="Name" value="_INTERNAL_REQUEST"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__PACKET__RESERVED.html#a52c50c47cc14f9989d741158ef6da1b9"><param name="Name" value="_PACKET_RESERVED"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#afe174f20f512159a454365613846eca5"><param name="Name" value="MachineLock"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpacket__file__header.html#ab396ddef34e11edb49e5edfcc39c2dc7"><param name="Name" value="magic"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpacket__file__header.html#ab396ddef34e11edb49e5edfcc39c2dc7"><param name="Name" value="packet_file_header"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__file__header.html#a18b75bcc7dcee1412b74b57bb238cf3d"><param name="Name" value="pcap_file_header"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="rpcapd_8h.html#ae4c3a933a421273aece3c49c311ea51e"><param name="Name" value="main_cleanup"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="rpcapd_8h.html#a0cc389020d1b9211cfd535f6777cf305"><param name="Name" value="main_startup"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="rpcapd_8h.html#ad20af9f33ade406218abf3ba936bdc8d"><param name="Name" value="MAX_ACTIVE_LIST"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="rpcapd_8h.html#aee0706af5319f49fa11db8472e20feaa"><param name="Name" value="MAX_HOST_LIST"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="rpcapd_8h.html#a842ed03f27719bc87666bfd1f75415b8"><param name="Name" value="MAX_LINE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga8fc96cee4177a369a99de7026ebeba81"><param name="Name" value="MAX_REQUESTS"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga8fc96cee4177a369a99de7026ebeba81"><param name="Name" value="NPF_include"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga8fc96cee4177a369a99de7026ebeba81"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#acfde736fb2a011607da168a05b5100b0"><param name="Name" value="MaxDumpBytes"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a3f6accd17a8dccf9b44acc678510a094"><param name="Name" value="MaxDumpPacks"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#ac672771358770d24087aaa12a80d01cb"><param name="Name" value="MaxFrameSize"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__send__queue.html#a30305e6f9a9069760edf175b138e445d"><param name="Name" value="maxlen"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#af6a81c046e634d6149550d3475924c05"><param name="Name" value="Medium"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structJIT__BPF__Filter.html#aeb16cd6e768dbea45530de3d0fc83e51"><param name="Name" value="mem"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__samp.html#adcc9a19ad3119f823a658f6a49a24e64"><param name="Name" value="method"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__samp.html#adcc9a19ad3119f823a658f6a49a24e64"><param name="Name" value="pcap_samp"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__sampling.html#aa4da76ff1a3e6459e06e4d39af6bfef2"><param name="Name" value="rpcap_sampling"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a263f7d6f5db5625541d275380685f0b1"><param name="Name" value="MinToCopy"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a1ea5d0cb93f22f7d0fdf804bd68c3326"><param name="Name" value="mode"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#gac93c0a6ad1d2a3143b1115bdab3ac04d"><param name="Name" value="MODE_CAPT"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#gac93c0a6ad1d2a3143b1115bdab3ac04d"><param name="Name" value="incs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gac93c0a6ad1d2a3143b1115bdab3ac04d"><param name="Name" value="NPF_include"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gac93c0a6ad1d2a3143b1115bdab3ac04d"><param name="Name" value="Packet.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#gac93c0a6ad1d2a3143b1115bdab3ac04d"><param name="Name" value="wpcap_def"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga89853f93dc8cc890b0665629d16d2831"><param name="Name" value="MODE_DUMP"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga89853f93dc8cc890b0665629d16d2831"><param name="Name" value="NPF_include"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga89853f93dc8cc890b0665629d16d2831"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga528e7e542cb1a028a10a3a318880dffb"><param name="Name" value="MODE_MON"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga528e7e542cb1a028a10a3a318880dffb"><param name="Name" value="NPF_include"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga528e7e542cb1a028a10a3a318880dffb"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#ga503326906a62e96c147ae6af31fb5659"><param name="Name" value="MODE_STAT"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#ga503326906a62e96c147ae6af31fb5659"><param name="Name" value="incs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga503326906a62e96c147ae6af31fb5659"><param name="Name" value="NPF_include"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga503326906a62e96c147ae6af31fb5659"><param name="Name" value="Packet.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#ga503326906a62e96c147ae6af31fb5659"><param name="Name" value="wpcap_def"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga6b0eac20fe309e12eec4f204ed2cf789"><param name="Name" value="MOVid"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga6b0eac20fe309e12eec4f204ed2cf789"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga6b0eac20fe309e12eec4f204ed2cf789"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga737d1a1dbf2cf21569a923c9309d4222"><param name="Name" value="MOVobb"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga737d1a1dbf2cf21569a923c9309d4222"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga737d1a1dbf2cf21569a923c9309d4222"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga4088a2e95640bad67561e29de7f7559c"><param name="Name" value="MOVobd"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga4088a2e95640bad67561e29de7f7559c"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga4088a2e95640bad67561e29de7f7559c"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gab6d82c4f6d0f83d28f1390363ce6aaf6"><param name="Name" value="MOVobw"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gab6d82c4f6d0f83d28f1390363ce6aaf6"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gab6d82c4f6d0f83d28f1390363ce6aaf6"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gae6230510e546bf08451c362926e35a5a"><param name="Name" value="MOVodd"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gae6230510e546bf08451c362926e35a5a"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gae6230510e546bf08451c362926e35a5a"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga1dff1655d4ad86048c3d3541b66c1ac7"><param name="Name" value="MOVomd"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga1dff1655d4ad86048c3d3541b66c1ac7"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga1dff1655d4ad86048c3d3541b66c1ac7"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gabe5c6ed0ba1446cc33b33d6c9cc59819"><param name="Name" value="MOVrd"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gabe5c6ed0ba1446cc33b33d6c9cc59819"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gabe5c6ed0ba1446cc33b33d6c9cc59819"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga6522410ee041327aa6ab223875d84690"><param name="Name" value="MULrd"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga6522410ee041327aa6ab223875d84690"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga6522410ee041327aa6ab223875d84690"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#aaa76c3b87b73baaa785c459188d769e0"><param name="Name" value="Multiple_Write_Counter"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__findalldevs__if.html#af6e199ccfaf5ab811cc064e09f3153c3"><param name="Name" value="naddr"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__if.html#a5ac083a645d964373f022d03df4849c8"><param name="Name" value="name"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__findalldevs__if.html#ab42bca1875d25b6ce19de3ff5309a0bf"><param name="Name" value="namelen"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a87b5968c02200b033f7c6e15da439e62"><param name="Name" value="Nbytes"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga0a110077bb4fcbcc75512d8988c90de8"><param name="Name" value="NDIS_FLAGS_SKIP_LOOPBACK_W2K"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga0a110077bb4fcbcc75512d8988c90de8"><param name="Name" value="NPF_include"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga0a110077bb4fcbcc75512d8988c90de8"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a58faf70e2b245f7d3f2b1a90257e823e"><param name="Name" value="NdisOpenCloseCompleteEvent"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#af63559424b5849687cc5c5fbad184c0f"><param name="Name" value="NdisRequestEvent"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#ae16d8f96321924cea79edfba9a2aed9f"><param name="Name" value="NdisWriteCompleteEvent"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga032ba5ad2d179d6d8d1fe24457126621"><param name="Name" value="NEGd"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga032ba5ad2d179d6d8d1fe24457126621"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga032ba5ad2d179d6d8d1fe24457126621"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__addr.html#ac43963e42e4d901e55e433ab9c3ea686"><param name="Name" value="netmask"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__addr.html#ac43963e42e4d901e55e433ab9c3ea686"><param name="Name" value="pcap_addr"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__findalldevs__ifaddr.html#ae65e589cf67e45f6c5b5bd05a068b1dd"><param name="Name" value="rpcap_findalldevs_ifaddr"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct____CPU__Private__Data.html#a58f2c915dfc7041ccb0d568eb79b494e"><param name="Name" value="NewP"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structactivehosts.html#a34f7d4dc0ffb851aa4d9bf2e82ba915b"><param name="Name" value="next"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structactivehosts.html#a34f7d4dc0ffb851aa4d9bf2e82ba915b"><param name="Name" value="activehosts"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__addr.html#ab151e8e96bdb23ae8dd8d644de561999"><param name="Name" value="pcap_addr"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__if.html#a81508e6e4e41ca4235c8d6b51913c536"><param name="Name" value="pcap_if"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__filter.html#afa9a77743030f7cbceae9cffa2f8b311"><param name="Name" value="nitems"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a51a42386327e2a337854dd20cbe83061"><param name="Name" value="Npackets"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html"><param name="Name" value="NPF structures and definitions"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ggaa80226df1c5ee18b01580d23ed4f31cba3e0c0f314d2e9dc41c205ab44bf087bc"><param name="Name" value="ADAPTER_BOUND"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ggaa80226df1c5ee18b01580d23ed4f31cbadc92e852ef35fac0f033487a3be66a93"><param name="Name" value="ADAPTER_UNBINDING"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ggaa80226df1c5ee18b01580d23ed4f31cba6e4cdf9f09abf447cffdfd5058357822"><param name="Name" value="ADAPTER_UNBOUND"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga9a78f9937b2d7d00250f49dcaeb5bab0"><param name="Name" value="NPF_BindAdapter"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga9a78f9937b2d7d00250f49dcaeb5bab0"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga9a78f9937b2d7d00250f49dcaeb5bab0"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga9a97dd25ae757da4bfed3723a4eb4bce"><param name="Name" value="NPF_BufferedWrite"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga9a97dd25ae757da4bfed3723a4eb4bce"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga9a97dd25ae757da4bfed3723a4eb4bce"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gafae94a0e7fda8de180cff6e596cc2803"><param name="Name" value="NPF_Cleanup"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gafae94a0e7fda8de180cff6e596cc2803"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gafae94a0e7fda8de180cff6e596cc2803"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gaf8b70be389645c912cf09f1e9ea4b975"><param name="Name" value="NPF_Close"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gaf8b70be389645c912cf09f1e9ea4b975"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gaf8b70be389645c912cf09f1e9ea4b975"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga300118a9a6cc28c2c880f6bb39d86b53"><param name="Name" value="NPF_CloseAdapterComplete"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga300118a9a6cc28c2c880f6bb39d86b53"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga300118a9a6cc28c2c880f6bb39d86b53"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga76d4e48415cea8e0e65ba93d7355b89f"><param name="Name" value="NPF_CloseBinding"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga76d4e48415cea8e0e65ba93d7355b89f"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga76d4e48415cea8e0e65ba93d7355b89f"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gac911742b9f71c12c77452614db14c4a1"><param name="Name" value="NPF_CloseDumpFile"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gac911742b9f71c12c77452614db14c4a1"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gac911742b9f71c12c77452614db14c4a1"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga99878d91732973e7b4020d8e42b4cf32"><param name="Name" value="NPF_CloseOpenInstance"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga99878d91732973e7b4020d8e42b4cf32"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga99878d91732973e7b4020d8e42b4cf32"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html"><param name="Name" value="NPF_code"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga8d441782c2295f2f71d32727dd3f28a0"><param name="Name" value="BPF_Destroy_JIT_Filter"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gab95019314e0cce415388272574f85ed7"><param name="Name" value="BPF_jitter"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gaac4070271462268d182b0dbdbfcb1a88"><param name="Name" value="BPFtoX86"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga6502d781bd20234a06710b92d540baba"><param name="Name" value="DriverEntry"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gafc395636686df00f554efbd2010f73cb"><param name="Name" value="getAdaptersList"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gadd6737f745e21b37b8613b489a96687d"><param name="Name" value="GetBuffOccupation"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gacf0e32b371eb9283e5cf1de0dfb15629"><param name="Name" value="getTcpBindings"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga9a78f9937b2d7d00250f49dcaeb5bab0"><param name="Name" value="NPF_BindAdapter"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga9a97dd25ae757da4bfed3723a4eb4bce"><param name="Name" value="NPF_BufferedWrite"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gafae94a0e7fda8de180cff6e596cc2803"><param name="Name" value="NPF_Cleanup"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gaf8b70be389645c912cf09f1e9ea4b975"><param name="Name" value="NPF_Close"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga300118a9a6cc28c2c880f6bb39d86b53"><param name="Name" value="NPF_CloseAdapterComplete"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga76d4e48415cea8e0e65ba93d7355b89f"><param name="Name" value="NPF_CloseBinding"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gac911742b9f71c12c77452614db14c4a1"><param name="Name" value="NPF_CloseDumpFile"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga99878d91732973e7b4020d8e42b4cf32"><param name="Name" value="NPF_CloseOpenInstance"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga5d152d59c86209c5128ac788a7ae61b3"><param name="Name" value="NPF_CreateDevice"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga1566082cef91cf79ba4a855e3f44ede9"><param name="Name" value="NPF_DumpThread"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga8bad85679d2e8c57f7501052f9b07284"><param name="Name" value="NPF_GetDeviceMTU"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gad8b208720b6e5149dabcd7fb058b16f7"><param name="Name" value="NPF_IoControl"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga82e557625e52fe4395bbe2e494fe8c4a"><param name="Name" value="NPF_Open"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga155ae51be29c6d36f8109781b8f6e7b2"><param name="Name" value="NPF_OpenAdapterComplete"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gae3d1118c72b474fe214517a65afdfe09"><param name="Name" value="NPF_OpenDumpFile"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga8831b54dcd5361e81ddf0d3165f1fb8f"><param name="Name" value="NPF_QueryRegistryRoutine"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga827b1433b2d08cbac11b3844d721668f"><param name="Name" value="NPF_Read"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga1a3ce25625792c74e5792b8fa86a489c"><param name="Name" value="NPF_ReadRegistry"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gae7863db01a628ed11324c49953195855"><param name="Name" value="NPF_ReceiveComplete"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga4ff37c0fd3273f829a1f84b9ab40755b"><param name="Name" value="NPF_RequestComplete"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga4e7934d9adb1826ed5e9112b9182f74a"><param name="Name" value="NPF_ResetComplete"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gafcdcf5a4d9bfb8fbdb179963d4c789bd"><param name="Name" value="NPF_SaveCurrentBuffer"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gaed126572458eed2dcd18d1824ac86601"><param name="Name" value="NPF_SendComplete"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gaeffce124cbc3e3ae09bd7a6d10367cbb"><param name="Name" value="NPF_StartDump"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga64dab96bfced5d22cc55a42fc6339833"><param name="Name" value="NPF_StartUsingBinding"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga504e61b1229a9a604080fc8607b24084"><param name="Name" value="NPF_StartUsingOpenInstance"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga1a8cf4fdeed6e93fcf1f50da654402b7"><param name="Name" value="NPF_Status"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga70f97109adcd6de8b157534e5ecf2e56"><param name="Name" value="NPF_StatusComplete"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gacd54077d4c2d9186486d3504523ba4f0"><param name="Name" value="NPF_StopUsingBinding"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga6ceb77291c077b05efd3b588a6a30867"><param name="Name" value="NPF_StopUsingOpenInstance"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga92f84ced372baf09f1c00a6b252a0564"><param name="Name" value="NPF_tap"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga0c34f931d6718be202c7c62406f279fd"><param name="Name" value="NPF_TransferDataComplete"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga54d94e883ff4c580289eefaf0d1fc356"><param name="Name" value="NPF_UnbindAdapter"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga5eb5a8e754198d1bbc6572cbc9e59b9c"><param name="Name" value="NPF_Unload"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga8861b474efcb6578c9fe2075ff3e6aef"><param name="Name" value="NPF_WaitEndOfBufferedWrite"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga595338435296a4d1e15363ebfcb3a38c"><param name="Name" value="NPF_Write"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga57b9ee7752f00c8858bda8ca060a033b"><param name="Name" value="NPF_WriteDumpFile"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga5d152d59c86209c5128ac788a7ae61b3"><param name="Name" value="NPF_CreateDevice"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga5d152d59c86209c5128ac788a7ae61b3"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga5d152d59c86209c5128ac788a7ae61b3"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga7ccc8974741059b5ae25231a56dbed09"><param name="Name" value="NPF_DISABLE_LOOPBACK"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga7ccc8974741059b5ae25231a56dbed09"><param name="Name" value="NPF_include"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga7ccc8974741059b5ae25231a56dbed09"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga1566082cef91cf79ba4a855e3f44ede9"><param name="Name" value="NPF_DumpThread"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga1566082cef91cf79ba4a855e3f44ede9"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga1566082cef91cf79ba4a855e3f44ede9"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga4a60d1f215d5b2af2b3b86a0f2a90ae2"><param name="Name" value="NPF_ENABLE_LOOPBACK"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga4a60d1f215d5b2af2b3b86a0f2a90ae2"><param name="Name" value="NPF_include"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga4a60d1f215d5b2af2b3b86a0f2a90ae2"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga8bad85679d2e8c57f7501052f9b07284"><param name="Name" value="NPF_GetDeviceMTU"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga8bad85679d2e8c57f7501052f9b07284"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga8bad85679d2e8c57f7501052f9b07284"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html"><param name="Name" value="NPF_include"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga7300b6880da1b61717e7ff815d579bf6"><param name="Name" value="C_ASSERT"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga321d8c7f608d41e095ec3508cff10764"><param name="Name" value="CpuPrivateData"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga5091b7a273db5d38a71df5293eb52ccf"><param name="Name" value="DEVICE_EXTENSION"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gad6d1f5522a147ddeb7d9b11916acd50a"><param name="Name" value="EXIT_FAILURE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gacabf25322566f3bcd1e564e4939f5821"><param name="Name" value="EXIT_SUCCESS"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga980b14c18716a1788990f8e68fed9420"><param name="Name" value="g_NCpu"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga5d6fbe2176d19b191fa7aaac4d6d6bb5"><param name="Name" value="g_NdisProtocolHandle"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gab325d08691ab69e4f942f6a418a41db2"><param name="Name" value="g_SendPacketFlags"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga8bd3dab633cae7a1a47c4ddb2705a31b"><param name="Name" value="G_Start_Time"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga4f6749b7708a411df2a3341a3fcef917"><param name="Name" value="IMMEDIATE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga0bee4ca4dc129822e19478f88d991a31"><param name="Name" value="INTERNAL_REQUEST"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga9cd2ca337001428aa9e1cb512a28ecc2"><param name="Name" value="KERNEL_EVENT_NAMESPACE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga8fc96cee4177a369a99de7026ebeba81"><param name="Name" value="MAX_REQUESTS"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gac93c0a6ad1d2a3143b1115bdab3ac04d"><param name="Name" value="MODE_CAPT"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga89853f93dc8cc890b0665629d16d2831"><param name="Name" value="MODE_DUMP"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga528e7e542cb1a028a10a3a318880dffb"><param name="Name" value="MODE_MON"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga503326906a62e96c147ae6af31fb5659"><param name="Name" value="MODE_STAT"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga0a110077bb4fcbcc75512d8988c90de8"><param name="Name" value="NDIS_FLAGS_SKIP_LOOPBACK_W2K"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga7ccc8974741059b5ae25231a56dbed09"><param name="Name" value="NPF_DISABLE_LOOPBACK"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga4a60d1f215d5b2af2b3b86a0f2a90ae2"><param name="Name" value="NPF_ENABLE_LOOPBACK"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gafeddf3a08e141d369532061f3f8cd939"><param name="Name" value="OPEN_INSTANCE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga8463d2101446f74b83ed10006d772384"><param name="Name" value="Packet_ALIGNMENT"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga0c7b0f53860e1de014069aad53987bc6"><param name="Name" value="PACKET_OID_DATA"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga2225b3cfa793593a1849aa0652846a5c"><param name="Name" value="PACKET_RESERVED"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga6ad53095b69ed77878dc683754e3264a"><param name="Name" value="Packet_WORDALIGN"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gaac031371d41e21ff96e80409e05a7ddb"><param name="Name" value="PCAP_VERSION_MAJOR"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga9c200b070c9f626d38184588b16849c2"><param name="Name" value="PCAP_VERSION_MINOR"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gac8ad25578be589c8352fc4e1a8a99be3"><param name="Name" value="PDEVICE_EXTENSION"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga55591a7d14855359ed1e3995f7f025c3"><param name="Name" value="PINTERNAL_REQUEST"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gad3b7ff25cfe0e8fd50666782f85e76cb"><param name="Name" value="POPEN_INSTANCE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gadf678e4006b707eb64a691e611975b22"><param name="Name" value="PPACKET_OID_DATA"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga375d9973bbbe748c9722e8f546beb10c"><param name="Name" value="PPACKET_RESERVED"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga048ba8dfabc6ac16c602a1ca6fe994fc"><param name="Name" value="RESERVED"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gafedcc0aa0cf5abe7b20c68eefdfcb126"><param name="Name" value="TCPDUMP_MAGIC"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga652e6173ee1441712652d74a5533e042"><param name="Name" value="TRANSMIT_PACKETS"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gad8b208720b6e5149dabcd7fb058b16f7"><param name="Name" value="NPF_IoControl"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gad8b208720b6e5149dabcd7fb058b16f7"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gad8b208720b6e5149dabcd7fb058b16f7"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html"><param name="Name" value="NPF_ioctl"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#gadd9e03a96d297a33d7cee4d750c34eff"><param name="Name" value="BIOCGEVNAME"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#ga8ae8be8faa281644d8be1cda38b826bd"><param name="Name" value="BIOCGSTATS"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#ga874d333aca88363bc6fdcb3e8b1af05b"><param name="Name" value="BIOCISDUMPENDED"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#gae02ae71d6fe0bfb4b600f8027dc90ba3"><param name="Name" value="BIOCISETLOBBEH"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#ga5a0ab3231052ff323817e288dab2f127"><param name="Name" value="BIOCQUERYOID"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#gac50830dc08762383dcb203a66e5c853d"><param name="Name" value="BIOCSENDPACKETSNOSYNC"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#gab4d41e91e460bb101ef8ddb622a8e010"><param name="Name" value="BIOCSENDPACKETSSYNC"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#ga71817d3a52bf0ec819934a5f688a172c"><param name="Name" value="BIOCSETBUFFERSIZE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#gac8b51f8abae12f57a2ea8e8e4c0cd53c"><param name="Name" value="BIOCSETDUMPFILENAME"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#ga3205efe3271948f253c4da5abf0e12c6"><param name="Name" value="BIOCSETDUMPLIMITS"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#ga31c73f09a27bb38a6040a5841096576a"><param name="Name" value="BIOCSETEVENTHANDLE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#gaf85f500f68404076ac60ffe6e08818da"><param name="Name" value="BIOCSETF"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#gabf9a4779fd5281607510edc8b5d766dd"><param name="Name" value="BIOCSETOID"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#gaa827e3441e3f84abc7df5e30fcee96d1"><param name="Name" value="BIOCSMINTOCOPY"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#gad1012b82859d09864d246b1fa99d48d6"><param name="Name" value="BIOCSMODE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#ga327015c2b2e347212b571d1fa3aa2f54"><param name="Name" value="BIOCSRTIMEOUT"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__ioctl.html#ga1436997ce2947bbbe22b5400254438a1"><param name="Name" value="BIOCSWRITEREP"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html"><param name="Name" value="NPF_jitter"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga8a2dc91cd2750ca191cb52ee28c20026"><param name="Name" value="ADD_EAXi"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga662520f1b50ce47a5019ece610362a5d"><param name="Name" value="ADDib"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga78c9a376702f4d6227d3f4c3fde45f33"><param name="Name" value="ADDid"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga406c664d3efbbc2d75412722ebec9892"><param name="Name" value="ADDrd"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gae56562740b1159ed03061cecec40f609"><param name="Name" value="AL"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gab3eed598cc38c958c42cf0a861948bbb"><param name="Name" value="ANDib"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga95bf0579f50e1b94e217b31e2016fa62"><param name="Name" value="ANDid"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga7828add99946b35b9e718a0f23ec7e65"><param name="Name" value="ANDrd"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gaabc40350f8f80c9c718c44dea61e10fe"><param name="Name" value="AX"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gad567ea9864a3046e47ab69cdc050ecfa"><param name="Name" value="BL"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga82b271e081de4cfb35eb87b0c13dddba"><param name="Name" value="BP"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga55e96d93d223cecaa3c69437c1603c29"><param name="Name" value="BPF_filter_function"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gae23323bfdb114db0bf84e73f69adf3ba"><param name="Name" value="BSWAP"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga0f37ffb2213a7e5ab25da072e87193ac"><param name="Name" value="BX"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga8f4ea5fa21d42f950b5f95a91e9ff227"><param name="Name" value="CL"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga8bf965a6a78db5894fbee77707652516"><param name="Name" value="CMPid"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gafaea7a7a2968bf20db43abae63b865fa"><param name="Name" value="CMPodd"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gad2db4a7b20890227d0dfeccae16710e6"><param name="Name" value="CMPrd"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga0b4c12a5dc8490a3cff8385334db2d13"><param name="Name" value="CX"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gacabe1ee3d11be6214c678bf4dabda3c9"><param name="Name" value="DI"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gacf243ff85add192cb3105fb7a7911a7d"><param name="Name" value="DIVrd"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga7c70057f4ac04e167029eef16e7bb770"><param name="Name" value="DL"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga3bcbb4f56d33efbe2456169e4d94c644"><param name="Name" value="DX"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga2fa1397b8142d609008de2e71c83e854"><param name="Name" value="EAX"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga220a1f7741c506d2c73c9d5f0c3ad036"><param name="Name" value="EBP"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gab115c151477ddd6da5358ddc00071052"><param name="Name" value="EBX"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gae52163bab922ab29302d224786b8526d"><param name="Name" value="ECX"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gaebb930ae9eecaa5a8fa94d2ef4f159e0"><param name="Name" value="EDI"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga8104635452d33b8536b33b551d98998f"><param name="Name" value="EDX"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga9b8427d5c2ee2075f766226a6e53bfad"><param name="Name" value="emit_func"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gad4c46ad303098e5253b9216faff99d48"><param name="Name" value="ESI"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga473a7f647ac8d1f222e106f074c43727"><param name="Name" value="ESP"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga714569f0abf518185dab9bbc44f61e26"><param name="Name" value="JA"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gafa60b85ba5e6d1180f7fb7c1843413d5"><param name="Name" value="JAE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga3ad47796cfcb6867e44b0f82c8906bee"><param name="Name" value="JE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gab7aa640b19ad1d6e32833b40ee963407"><param name="Name" value="JG"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga0b03c2a76f68eb3698320a001a5f5eae"><param name="Name" value="JGE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga406f0ee4d13f16d867e48bae8c9ffba7"><param name="Name" value="JLE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga0987b591887a2ea41c2ba108729f30cb"><param name="Name" value="JLEb"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga76425614ab26cca1839d7378c0fd1c55"><param name="Name" value="JMP"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga2f57f0e5ef7e33157d7a7983be7a85ef"><param name="Name" value="JNEb"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga6b0eac20fe309e12eec4f204ed2cf789"><param name="Name" value="MOVid"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga737d1a1dbf2cf21569a923c9309d4222"><param name="Name" value="MOVobb"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga4088a2e95640bad67561e29de7f7559c"><param name="Name" value="MOVobd"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gab6d82c4f6d0f83d28f1390363ce6aaf6"><param name="Name" value="MOVobw"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gae6230510e546bf08451c362926e35a5a"><param name="Name" value="MOVodd"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga1dff1655d4ad86048c3d3541b66c1ac7"><param name="Name" value="MOVomd"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gabe5c6ed0ba1446cc33b33d6c9cc59819"><param name="Name" value="MOVrd"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga6522410ee041327aa6ab223875d84690"><param name="Name" value="MULrd"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga032ba5ad2d179d6d8d1fe24457126621"><param name="Name" value="NEGd"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gad16914336faf4604944facbd4c20d942"><param name="Name" value="ORid"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga15317b93f1d8d9cf088bc9f91ace844b"><param name="Name" value="ORrd"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga6da555dded4ddd3b9b053dd3218dc631"><param name="Name" value="POP"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gaea36ce6a00fb793cb4fa9046a65e4e32"><param name="Name" value="PUSH"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gaea5f5503d3239c71deb8366c013d6866"><param name="Name" value="RET"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gaba18f7228bd4b7775209dca22201f77f"><param name="Name" value="SHL_CLrb"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga42b8bbc156c89aef4676834480129221"><param name="Name" value="SHLib"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga2c2cfe760fe83b9577ddcff9b87d8ab5"><param name="Name" value="SHR_CLrb"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga5b4c050f10f024995d4b721c1fc6f3d3"><param name="Name" value="SHRib"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gaa1be7844620ac7bffe73137a180aa044"><param name="Name" value="SI"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gaecd69d9a67487cc45c38eb184c50538a"><param name="Name" value="SP"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga99d023823bbf183e389ebac6cd7d9897"><param name="Name" value="SUB_EAXi"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gaa3a75062cb78c0956f063797cfd4c065"><param name="Name" value="SUBrd"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga3918dfe9cdec919e2331a472ff76470f"><param name="Name" value="SWAP_AX"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga82e557625e52fe4395bbe2e494fe8c4a"><param name="Name" value="NPF_Open"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga82e557625e52fe4395bbe2e494fe8c4a"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga82e557625e52fe4395bbe2e494fe8c4a"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga155ae51be29c6d36f8109781b8f6e7b2"><param name="Name" value="NPF_OpenAdapterComplete"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga155ae51be29c6d36f8109781b8f6e7b2"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga155ae51be29c6d36f8109781b8f6e7b2"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gae3d1118c72b474fe214517a65afdfe09"><param name="Name" value="NPF_OpenDumpFile"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gae3d1118c72b474fe214517a65afdfe09"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gae3d1118c72b474fe214517a65afdfe09"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga8831b54dcd5361e81ddf0d3165f1fb8f"><param name="Name" value="NPF_QueryRegistryRoutine"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga8831b54dcd5361e81ddf0d3165f1fb8f"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga8831b54dcd5361e81ddf0d3165f1fb8f"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga827b1433b2d08cbac11b3844d721668f"><param name="Name" value="NPF_Read"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga827b1433b2d08cbac11b3844d721668f"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga827b1433b2d08cbac11b3844d721668f"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga1a3ce25625792c74e5792b8fa86a489c"><param name="Name" value="NPF_ReadRegistry"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga1a3ce25625792c74e5792b8fa86a489c"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga1a3ce25625792c74e5792b8fa86a489c"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gae7863db01a628ed11324c49953195855"><param name="Name" value="NPF_ReceiveComplete"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gae7863db01a628ed11324c49953195855"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gae7863db01a628ed11324c49953195855"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga4ff37c0fd3273f829a1f84b9ab40755b"><param name="Name" value="NPF_RequestComplete"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga4ff37c0fd3273f829a1f84b9ab40755b"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga4ff37c0fd3273f829a1f84b9ab40755b"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga4e7934d9adb1826ed5e9112b9182f74a"><param name="Name" value="NPF_ResetComplete"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga4e7934d9adb1826ed5e9112b9182f74a"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga4e7934d9adb1826ed5e9112b9182f74a"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gafcdcf5a4d9bfb8fbdb179963d4c789bd"><param name="Name" value="NPF_SaveCurrentBuffer"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gafcdcf5a4d9bfb8fbdb179963d4c789bd"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gafcdcf5a4d9bfb8fbdb179963d4c789bd"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gaed126572458eed2dcd18d1824ac86601"><param name="Name" value="NPF_SendComplete"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gaed126572458eed2dcd18d1824ac86601"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gaed126572458eed2dcd18d1824ac86601"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gaeffce124cbc3e3ae09bd7a6d10367cbb"><param name="Name" value="NPF_StartDump"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gaeffce124cbc3e3ae09bd7a6d10367cbb"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gaeffce124cbc3e3ae09bd7a6d10367cbb"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga64dab96bfced5d22cc55a42fc6339833"><param name="Name" value="NPF_StartUsingBinding"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga64dab96bfced5d22cc55a42fc6339833"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga64dab96bfced5d22cc55a42fc6339833"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga504e61b1229a9a604080fc8607b24084"><param name="Name" value="NPF_StartUsingOpenInstance"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga504e61b1229a9a604080fc8607b24084"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga504e61b1229a9a604080fc8607b24084"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga1a8cf4fdeed6e93fcf1f50da654402b7"><param name="Name" value="NPF_Status"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga1a8cf4fdeed6e93fcf1f50da654402b7"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga1a8cf4fdeed6e93fcf1f50da654402b7"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga70f97109adcd6de8b157534e5ecf2e56"><param name="Name" value="NPF_StatusComplete"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga70f97109adcd6de8b157534e5ecf2e56"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga70f97109adcd6de8b157534e5ecf2e56"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gacd54077d4c2d9186486d3504523ba4f0"><param name="Name" value="NPF_StopUsingBinding"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gacd54077d4c2d9186486d3504523ba4f0"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#gacd54077d4c2d9186486d3504523ba4f0"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga6ceb77291c077b05efd3b588a6a30867"><param name="Name" value="NPF_StopUsingOpenInstance"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga6ceb77291c077b05efd3b588a6a30867"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga6ceb77291c077b05efd3b588a6a30867"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga92f84ced372baf09f1c00a6b252a0564"><param name="Name" value="NPF_tap"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga92f84ced372baf09f1c00a6b252a0564"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga92f84ced372baf09f1c00a6b252a0564"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga0c34f931d6718be202c7c62406f279fd"><param name="Name" value="NPF_TransferDataComplete"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga0c34f931d6718be202c7c62406f279fd"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga0c34f931d6718be202c7c62406f279fd"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga54d94e883ff4c580289eefaf0d1fc356"><param name="Name" value="NPF_UnbindAdapter"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga54d94e883ff4c580289eefaf0d1fc356"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga54d94e883ff4c580289eefaf0d1fc356"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga5eb5a8e754198d1bbc6572cbc9e59b9c"><param name="Name" value="NPF_Unload"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga5eb5a8e754198d1bbc6572cbc9e59b9c"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga5eb5a8e754198d1bbc6572cbc9e59b9c"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga8861b474efcb6578c9fe2075ff3e6aef"><param name="Name" value="NPF_WaitEndOfBufferedWrite"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga8861b474efcb6578c9fe2075ff3e6aef"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga8861b474efcb6578c9fe2075ff3e6aef"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga595338435296a4d1e15363ebfcb3a38c"><param name="Name" value="NPF_Write"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga595338435296a4d1e15363ebfcb3a38c"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga595338435296a4d1e15363ebfcb3a38c"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga57b9ee7752f00c8858bda8ca060a033b"><param name="Name" value="NPF_WriteDumpFile"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga57b9ee7752f00c8858bda8ca060a033b"><param name="Name" value="NPF_code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__code.html#ga57b9ee7752f00c8858bda8ca060a033b"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__pkthdr.html#a18dee93b2d48c10546eb5637ba48405d"><param name="Name" value="npkt"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structdaemon__slpars.html#a2513fb035d3d00a2d1b3c355aab6c93a"><param name="Name" value="nullAuthAllowed"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#ad829423b08d53cd76dc8bed902d5af72"><param name="Name" value="NumPendingIrps"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#af6b5b0a348f7a40d795b554b0eceed73"><param name="Name" value="Nwrites"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__PACKET__OID__DATA.html#a7f776f07ead21514e4c48555980644c8"><param name="Name" value="Oid"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gafeddf3a08e141d369532061f3f8cd939"><param name="Name" value="OPEN_INSTANCE"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gafeddf3a08e141d369532061f3f8cd939"><param name="Name" value="NPF_include"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gafeddf3a08e141d369532061f3f8cd939"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#ae3c547ec9f715618b461b221fa2e3f09"><param name="Name" value="OpenCloseStatus"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a4c6d0506eca78eb6602764234ce07e62"><param name="Name" value="OpenInUseLock"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gad16914336faf4604944facbd4c20d942"><param name="Name" value="ORid"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gad16914336faf4604944facbd4c20d942"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gad16914336faf4604944facbd4c20d942"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga15317b93f1d8d9cf088bc9f91ace844b"><param name="Name" value="ORrd"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga15317b93f1d8d9cf088bc9f91ace844b"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga15317b93f1d8d9cf088bc9f91ace844b"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct____CPU__Private__Data.html#a897d2179904e0d6fafd73b3d400052de"><param name="Name" value="P"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html"><param name="Name" value="Packet.h"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga7300b6880da1b61717e7ff815d579bf6"><param name="Name" value="C_ASSERT"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga321d8c7f608d41e095ec3508cff10764"><param name="Name" value="CpuPrivateData"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga5091b7a273db5d38a71df5293eb52ccf"><param name="Name" value="DEVICE_EXTENSION"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga6502d781bd20234a06710b92d540baba"><param name="Name" value="DriverEntry"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#gad6d1f5522a147ddeb7d9b11916acd50a"><param name="Name" value="EXIT_FAILURE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#gacabf25322566f3bcd1e564e4939f5821"><param name="Name" value="EXIT_SUCCESS"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga980b14c18716a1788990f8e68fed9420"><param name="Name" value="g_NCpu"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga5d6fbe2176d19b191fa7aaac4d6d6bb5"><param name="Name" value="g_NdisProtocolHandle"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#gab325d08691ab69e4f942f6a418a41db2"><param name="Name" value="g_SendPacketFlags"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga8bd3dab633cae7a1a47c4ddb2705a31b"><param name="Name" value="G_Start_Time"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#gafc395636686df00f554efbd2010f73cb"><param name="Name" value="getAdaptersList"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#gadd6737f745e21b37b8613b489a96687d"><param name="Name" value="GetBuffOccupation"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#gacf0e32b371eb9283e5cf1de0dfb15629"><param name="Name" value="getTcpBindings"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga4f6749b7708a411df2a3341a3fcef917"><param name="Name" value="IMMEDIATE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga0bee4ca4dc129822e19478f88d991a31"><param name="Name" value="INTERNAL_REQUEST"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga9cd2ca337001428aa9e1cb512a28ecc2"><param name="Name" value="KERNEL_EVENT_NAMESPACE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga8fc96cee4177a369a99de7026ebeba81"><param name="Name" value="MAX_REQUESTS"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#gac93c0a6ad1d2a3143b1115bdab3ac04d"><param name="Name" value="MODE_CAPT"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga89853f93dc8cc890b0665629d16d2831"><param name="Name" value="MODE_DUMP"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga528e7e542cb1a028a10a3a318880dffb"><param name="Name" value="MODE_MON"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga503326906a62e96c147ae6af31fb5659"><param name="Name" value="MODE_STAT"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga0a110077bb4fcbcc75512d8988c90de8"><param name="Name" value="NDIS_FLAGS_SKIP_LOOPBACK_W2K"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga9a78f9937b2d7d00250f49dcaeb5bab0"><param name="Name" value="NPF_BindAdapter"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga9a97dd25ae757da4bfed3723a4eb4bce"><param name="Name" value="NPF_BufferedWrite"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#gafae94a0e7fda8de180cff6e596cc2803"><param name="Name" value="NPF_Cleanup"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#gaf8b70be389645c912cf09f1e9ea4b975"><param name="Name" value="NPF_Close"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga300118a9a6cc28c2c880f6bb39d86b53"><param name="Name" value="NPF_CloseAdapterComplete"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga76d4e48415cea8e0e65ba93d7355b89f"><param name="Name" value="NPF_CloseBinding"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#gac911742b9f71c12c77452614db14c4a1"><param name="Name" value="NPF_CloseDumpFile"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga99878d91732973e7b4020d8e42b4cf32"><param name="Name" value="NPF_CloseOpenInstance"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga5d152d59c86209c5128ac788a7ae61b3"><param name="Name" value="NPF_CreateDevice"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga7ccc8974741059b5ae25231a56dbed09"><param name="Name" value="NPF_DISABLE_LOOPBACK"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga1566082cef91cf79ba4a855e3f44ede9"><param name="Name" value="NPF_DumpThread"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga4a60d1f215d5b2af2b3b86a0f2a90ae2"><param name="Name" value="NPF_ENABLE_LOOPBACK"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga8bad85679d2e8c57f7501052f9b07284"><param name="Name" value="NPF_GetDeviceMTU"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#gad8b208720b6e5149dabcd7fb058b16f7"><param name="Name" value="NPF_IoControl"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga82e557625e52fe4395bbe2e494fe8c4a"><param name="Name" value="NPF_Open"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga155ae51be29c6d36f8109781b8f6e7b2"><param name="Name" value="NPF_OpenAdapterComplete"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#gae3d1118c72b474fe214517a65afdfe09"><param name="Name" value="NPF_OpenDumpFile"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga8831b54dcd5361e81ddf0d3165f1fb8f"><param name="Name" value="NPF_QueryRegistryRoutine"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga827b1433b2d08cbac11b3844d721668f"><param name="Name" value="NPF_Read"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga1a3ce25625792c74e5792b8fa86a489c"><param name="Name" value="NPF_ReadRegistry"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#gae7863db01a628ed11324c49953195855"><param name="Name" value="NPF_ReceiveComplete"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga4ff37c0fd3273f829a1f84b9ab40755b"><param name="Name" value="NPF_RequestComplete"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga4e7934d9adb1826ed5e9112b9182f74a"><param name="Name" value="NPF_ResetComplete"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#gafcdcf5a4d9bfb8fbdb179963d4c789bd"><param name="Name" value="NPF_SaveCurrentBuffer"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#gaed126572458eed2dcd18d1824ac86601"><param name="Name" value="NPF_SendComplete"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#gaeffce124cbc3e3ae09bd7a6d10367cbb"><param name="Name" value="NPF_StartDump"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga64dab96bfced5d22cc55a42fc6339833"><param name="Name" value="NPF_StartUsingBinding"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga504e61b1229a9a604080fc8607b24084"><param name="Name" value="NPF_StartUsingOpenInstance"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga1a8cf4fdeed6e93fcf1f50da654402b7"><param name="Name" value="NPF_Status"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga70f97109adcd6de8b157534e5ecf2e56"><param name="Name" value="NPF_StatusComplete"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#gacd54077d4c2d9186486d3504523ba4f0"><param name="Name" value="NPF_StopUsingBinding"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga6ceb77291c077b05efd3b588a6a30867"><param name="Name" value="NPF_StopUsingOpenInstance"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga92f84ced372baf09f1c00a6b252a0564"><param name="Name" value="NPF_tap"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga0c34f931d6718be202c7c62406f279fd"><param name="Name" value="NPF_TransferDataComplete"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga54d94e883ff4c580289eefaf0d1fc356"><param name="Name" value="NPF_UnbindAdapter"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga5eb5a8e754198d1bbc6572cbc9e59b9c"><param name="Name" value="NPF_Unload"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga8861b474efcb6578c9fe2075ff3e6aef"><param name="Name" value="NPF_WaitEndOfBufferedWrite"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga595338435296a4d1e15363ebfcb3a38c"><param name="Name" value="NPF_Write"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga57b9ee7752f00c8858bda8ca060a033b"><param name="Name" value="NPF_WriteDumpFile"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#gafeddf3a08e141d369532061f3f8cd939"><param name="Name" value="OPEN_INSTANCE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga8463d2101446f74b83ed10006d772384"><param name="Name" value="Packet_ALIGNMENT"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga0c7b0f53860e1de014069aad53987bc6"><param name="Name" value="PACKET_OID_DATA"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga2225b3cfa793593a1849aa0652846a5c"><param name="Name" value="PACKET_RESERVED"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga6ad53095b69ed77878dc683754e3264a"><param name="Name" value="Packet_WORDALIGN"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#gaac031371d41e21ff96e80409e05a7ddb"><param name="Name" value="PCAP_VERSION_MAJOR"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga9c200b070c9f626d38184588b16849c2"><param name="Name" value="PCAP_VERSION_MINOR"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#gac8ad25578be589c8352fc4e1a8a99be3"><param name="Name" value="PDEVICE_EXTENSION"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga55591a7d14855359ed1e3995f7f025c3"><param name="Name" value="PINTERNAL_REQUEST"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#gad3b7ff25cfe0e8fd50666782f85e76cb"><param name="Name" value="POPEN_INSTANCE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#gadf678e4006b707eb64a691e611975b22"><param name="Name" value="PPACKET_OID_DATA"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga375d9973bbbe748c9722e8f546beb10c"><param name="Name" value="PPACKET_RESERVED"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga048ba8dfabc6ac16c602a1ca6fe994fc"><param name="Name" value="RESERVED"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#gafedcc0aa0cf5abe7b20c68eefdfcb126"><param name="Name" value="TCPDUMP_MAGIC"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Packet_8h.html#ga652e6173ee1441712652d74a5533e042"><param name="Name" value="TRANSMIT_PACKETS"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga8463d2101446f74b83ed10006d772384"><param name="Name" value="Packet_ALIGNMENT"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga8463d2101446f74b83ed10006d772384"><param name="Name" value="NPF_include"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga8463d2101446f74b83ed10006d772384"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpacket__file__header.html"><param name="Name" value="packet_file_header"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpacket__file__header.html#ab2a8854181cde7a065a43380b56fd2a1"><param name="Name" value="linktype"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpacket__file__header.html#ab396ddef34e11edb49e5edfcc39c2dc7"><param name="Name" value="magic"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpacket__file__header.html#a5938c470e9e548ad2ac04923725e7721"><param name="Name" value="sigfigs"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpacket__file__header.html#a45b189420d67014dba25bd13da85ddae"><param name="Name" value="snaplen"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpacket__file__header.html#ab0f3e0ccc83861eb84cd3da32f01f090"><param name="Name" value="thiszone"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpacket__file__header.html#a312dffcaa516df104318626fbdc01a77"><param name="Name" value="version_major"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpacket__file__header.html#a143bc467378ffbd0460662bd8912082b"><param name="Name" value="version_minor"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga0c7b0f53860e1de014069aad53987bc6"><param name="Name" value="PACKET_OID_DATA"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga0c7b0f53860e1de014069aad53987bc6"><param name="Name" value="NPF_include"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga0c7b0f53860e1de014069aad53987bc6"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga2225b3cfa793593a1849aa0652846a5c"><param name="Name" value="PACKET_RESERVED"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga2225b3cfa793593a1849aa0652846a5c"><param name="Name" value="NPF_include"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga2225b3cfa793593a1849aa0652846a5c"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga6ad53095b69ed77878dc683754e3264a"><param name="Name" value="Packet_WORDALIGN"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga6ad53095b69ed77878dc683754e3264a"><param name="Name" value="NPF_include"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga6ad53095b69ed77878dc683754e3264a"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structPacketHeader.html"><param name="Name" value="PacketHeader"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structPacketHeader.html#ae2f3ed1162db1cfdbd9abe8f203426ad"><param name="Name" value="header"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structPacketHeader.html#afbd4efa90a98223b9ebe18574c057b47"><param name="Name" value="SN"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#abb035c7e10216edcf41fa1576fecca42"><param name="Name" value="PacketPool"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#aadfdcc0e37082d8f6b28a43ec9a0bccf"><param name="Name" value="PAirpcapHandle"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__rmtauth.html#a59460a3ff2c12443d1022e5cc0fba85c"><param name="Name" value="password"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ga56f1a81c92849566ae864511088eb7e8"><param name="Name" value="int32"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#a26b01d5a63ab6498293ec372b32c4860"><param name="Name" value="pcap_cleanup_remote"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ga5c8c6dd12f4fcdeaefd0f8d4a67b3075"><param name="Name" value="PCAP_ERR_AUTH"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ga7237f6698352751c08de3b10ae711881"><param name="Name" value="PCAP_ERR_ENDCAPTURE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#gadfbdeb5279422bc65233eefeca885661"><param name="Name" value="PCAP_ERR_FINDALLIF"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#gaf2e8f37c8ecf045242e00d9d138d4130"><param name="Name" value="PCAP_ERR_GETSTATS"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ga77b7c5dbb7399e0f73c3105c181c0eba"><param name="Name" value="PCAP_ERR_HOSTNOAUTH"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ga43cc461cdabd8d39ca2346f10c233a1b"><param name="Name" value="PCAP_ERR_INITTIMEOUT"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ga281ffdbe28e312f9fe6bc22c4d14fd68"><param name="Name" value="PCAP_ERR_NETW"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ga9f540070da23a5e61d0e27a61a300639"><param name="Name" value="PCAP_ERR_NOREMOTEIF"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ga3bfdce6d89b764b103404a1ec08bc4f9"><param name="Name" value="PCAP_ERR_OPEN"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ga61631ebf63be764b06b1259fcded1b4d"><param name="Name" value="PCAP_ERR_READEX"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ga005853d9f448e2125b9c907cd68ae77a"><param name="Name" value="PCAP_ERR_REMOTEACCEPT"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ga9a98b752c9427a52b1902b6a4aa9845a"><param name="Name" value="PCAP_ERR_RUNTIMETIMEOUT"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#gad904f96dcd2dc7ead1f50e81d27a87ee"><param name="Name" value="PCAP_ERR_SETSAMPLING"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ga2342b31cd1b83713b43e29fc1b8bbe80"><param name="Name" value="PCAP_ERR_STARTCAPTURE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#gae12279008dbc82da60f457ae639d9c98"><param name="Name" value="PCAP_ERR_UPDATEFILTER"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#gaadf8ebdb03c2852d32084792c32f5014"><param name="Name" value="PCAP_ERR_WRONGMSG"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ga27644e4198a710a3fb6763464b4cceb8"><param name="Name" value="PCAP_ERR_WRONGVER"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#aa37a07d9cf44445b81602b14c622e28a"><param name="Name" value="pcap_opensource_remote"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#a9592679e3e00af097835b4dfc5f2dbaa"><param name="Name" value="pcap_read_nocb_remote"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ab0db6e07bf653640fd14650aeffe5d5a"><param name="Name" value="pcap_read_remote"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#a3e12964f562dd76e1094d927cbe27b25"><param name="Name" value="pcap_setfilter_remote"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ae70f189ef09ba80aa809365854f2875a"><param name="Name" value="pcap_setsampling_remote"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#a0ad8f765bf454e69b98f97a3e2b002e7"><param name="Name" value="pcap_startcapture_remote"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#a6e9d9cdb69408ad2b1221c8f5dcc3c80"><param name="Name" value="pcap_stats_ex_remote"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#a566a5e39d86edb314005ed4fed4d2b99"><param name="Name" value="pcap_stats_remote"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#a27b8e02d428568edb810e6eca02f1c49"><param name="Name" value="pcap_updatefilter_remote"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ga8f32f1a7e4afc75d85adee7aa1136e2b"><param name="Name" value="RPCAP_ACTIVE_WAIT"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#aac91069eff112ab360f3834fa58ff53d"><param name="Name" value="rpcap_checkmsg"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#a16e3637e641d12618e4bef76fa2fcf2e"><param name="Name" value="rpcap_createhdr"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ga652ea27f0736f2ed16eff2f8232be733"><param name="Name" value="RPCAP_DEFAULT_NETADDR"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#gadd48856fd036eb39b1374e8722b83970"><param name="Name" value="RPCAP_DEFAULT_NETPORT"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ga3faff98b6c9e4560e58beb8ca5d62473"><param name="Name" value="RPCAP_DEFAULT_NETPORT_ACTIVE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#a67250f8933f1b6c261e9bd4136c4f2af"><param name="Name" value="rpcap_deseraddr"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ga9ca2e46ddec1744b0442e42fc77dbc36"><param name="Name" value="RPCAP_HOSTLIST_SEP"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ga558198e22dad94774670d4901069761b"><param name="Name" value="RPCAP_MSG_AUTH_REPLY"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ga967ed95127e15aae04df68d128b32dcd"><param name="Name" value="RPCAP_MSG_AUTH_REQ"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#gaaca8c569d09dd1c7b2a7cfebe2ed5017"><param name="Name" value="RPCAP_MSG_CLOSE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ga2994f9df11cfc2b2dd0e9a9d9ac4f37b"><param name="Name" value="RPCAP_MSG_ENDCAP_REPLY"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#gad6554d0a3e2e81d440a216e9ed207c99"><param name="Name" value="RPCAP_MSG_ENDCAP_REQ"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#gae794b40128a8f48e8aab742c499e4c5c"><param name="Name" value="RPCAP_MSG_ERROR"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#gab60aca69282ead1088a4565d47bdc05e"><param name="Name" value="RPCAP_MSG_FINDALLIF_REPLY"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#gac1cca8dabd5af5293a0e41515bc532a5"><param name="Name" value="RPCAP_MSG_FINDALLIF_REQ"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ga753597c2ff993d12156d7922116b1835"><param name="Name" value="RPCAP_MSG_OPEN_REPLY"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#gac99b71c29a3177c663b099c417d1de91"><param name="Name" value="RPCAP_MSG_OPEN_REQ"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#gaaa605dc088c22dd9064a38d16a5199b9"><param name="Name" value="RPCAP_MSG_PACKET"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ga59a57a83acc395c5e508dda7b8c33bad"><param name="Name" value="RPCAP_MSG_SETSAMPLING_REPLY"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ga2d8c7f1e4361c748ccc051c276f5eaa9"><param name="Name" value="RPCAP_MSG_SETSAMPLING_REQ"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ga22dcbe343e2103aef2e9856f93f40167"><param name="Name" value="RPCAP_MSG_STARTCAP_REPLY"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ga082b424838496c8cc92dcadf6333b9e1"><param name="Name" value="RPCAP_MSG_STARTCAP_REQ"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ga3d52f2b6b3210dcb4f0db7bd8b46138e"><param name="Name" value="RPCAP_MSG_STATS_REPLY"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ga29508e4fba57e33978c73997630b8159"><param name="Name" value="RPCAP_MSG_STATS_REQ"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#gaeb2561c1c6c9b9c56f4ac14ab70f6c3a"><param name="Name" value="RPCAP_MSG_UPDATEFILTER_REPLY"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ga8c77cf6f710b92b3f87257e7d03d6677"><param name="Name" value="RPCAP_MSG_UPDATEFILTER_REQ"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#gac094e3209a4b7fc379b034d3dc37acb0"><param name="Name" value="RPCAP_NETBUF_SIZE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ae0fb2ae444215e729811d958fea0309e"><param name="Name" value="rpcap_remoteact_getsock"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#a29144d786cbb343587611df6d4283886"><param name="Name" value="rpcap_sendauth"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#a7e311277cf79afe58e6683f24cd14b65"><param name="Name" value="rpcap_senderror"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ga3f87b7e89ed61dc2c9956234399058e8"><param name="Name" value="RPCAP_STARTCAPREQ_FLAG_DGRAM"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#gac22aa6103fe1490ab908a26d5c4a7c8a"><param name="Name" value="RPCAP_STARTCAPREQ_FLAG_INBOUND"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ga2b29630fe7963da543db242459c74832"><param name="Name" value="RPCAP_STARTCAPREQ_FLAG_OUTBOUND"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ga3d0b7b3a3d97ebdd265ab800a004ae8c"><param name="Name" value="RPCAP_STARTCAPREQ_FLAG_PROMISC"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ga0c5a71a9b6d5be2662c5a8872cf3032c"><param name="Name" value="RPCAP_STARTCAPREQ_FLAG_SERVEROPEN"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ga5bac38979d12b0a8755d70981fb387af"><param name="Name" value="RPCAP_SUSPEND_WRONGAUTH"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#gad5f148b0c94a8c6162ee79c33463ac95"><param name="Name" value="RPCAP_TIMEOUT_INIT"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ga1d5a54e68e71ec6de7e3d9d1b5dc35bc"><param name="Name" value="RPCAP_TIMEOUT_RUNTIME"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#gac93bee6a0991d4334eacd6e451b54240"><param name="Name" value="RPCAP_UPDATEFILTER_BPF"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#gadd52d73598f0b006a4634f6f40c85e3e"><param name="Name" value="RPCAP_VERSION"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e"><param name="Name" value="uint16"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ga1134b580f8da4de94ca6b1de4d37975e"><param name="Name" value="uint32"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#gadde6aaee8457bee49c2a92621fe22b79"><param name="Name" value="uint8"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__addr.html"><param name="Name" value="pcap_addr"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__addr.html#a4863f5b8767cd19fe6ea4db75456e5df"><param name="Name" value="addr"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__addr.html#a0077647e1560caa72d457120b36c248c"><param name="Name" value="broadaddr"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__addr.html#a4a32e00e83d4b1b582ba9cef24a5d62a"><param name="Name" value="dstaddr"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__addr.html#ac43963e42e4d901e55e433ab9c3ea686"><param name="Name" value="netmask"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__addr.html#ab151e8e96bdb23ae8dd8d644de561999"><param name="Name" value="next"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#gad5c2e491e2ca9d8eefe4217021c99bdc"><param name="Name" value="pcap_addr_t"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#gad5c2e491e2ca9d8eefe4217021c99bdc"><param name="Name" value="incs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#gad5c2e491e2ca9d8eefe4217021c99bdc"><param name="Name" value="wpcap_def"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gae0dc50910fabbd375fab8a1352a6cf33"><param name="Name" value="pcap_breakloop"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gae0dc50910fabbd375fab8a1352a6cf33"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gae0dc50910fabbd375fab8a1352a6cf33"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__struct.html#gacacb155b596f7511f714de129ae32c97"><param name="Name" value="PCAP_BUF_SIZE"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__struct.html#gacacb155b596f7511f714de129ae32c97"><param name="Name" value="remote-ext.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__struct.html#gacacb155b596f7511f714de129ae32c97"><param name="Name" value="remote_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#a26b01d5a63ab6498293ec372b32c4860"><param name="Name" value="pcap_cleanup_remote"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaa45a5e1a4ba9925bb3586dcbeec78560"><param name="Name" value="pcap_close"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaa45a5e1a4ba9925bb3586dcbeec78560"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaa45a5e1a4ba9925bb3586dcbeec78560"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga363bdc6f6b39b4979ddcf15ecb830c5c"><param name="Name" value="pcap_compile"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga363bdc6f6b39b4979ddcf15ecb830c5c"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga363bdc6f6b39b4979ddcf15ecb830c5c"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga8325b202dad14a00609db8372722ae4e"><param name="Name" value="pcap_compile_nopcap"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga8325b202dad14a00609db8372722ae4e"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga8325b202dad14a00609db8372722ae4e"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaa3111e10f930a9772a32a922b26948b0"><param name="Name" value="pcap_createsrcstr"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaa3111e10f930a9772a32a922b26948b0"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="remote-ext_8h.html#aa3111e10f930a9772a32a922b26948b0"><param name="Name" value="remote-ext.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaa3111e10f930a9772a32a922b26948b0"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga64c019f851f7da6892d51cca15f12ace"><param name="Name" value="pcap_datalink"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga64c019f851f7da6892d51cca15f12ace"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga64c019f851f7da6892d51cca15f12ace"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga440b2f0757acd4804588933324909207"><param name="Name" value="pcap_datalink_name_to_val"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga440b2f0757acd4804588933324909207"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga440b2f0757acd4804588933324909207"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga3f142cd0694b49357e4a73371db71411"><param name="Name" value="pcap_datalink_val_to_description"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga3f142cd0694b49357e4a73371db71411"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga3f142cd0694b49357e4a73371db71411"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gad45c16d494577f1886704af8f31ed442"><param name="Name" value="pcap_datalink_val_to_name"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gad45c16d494577f1886704af8f31ed442"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gad45c16d494577f1886704af8f31ed442"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c"><param name="Name" value="pcap_dispatch"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga659439bf5aa3988b5a92d31990fbf437"><param name="Name" value="pcap_dump"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga659439bf5aa3988b5a92d31990fbf437"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga659439bf5aa3988b5a92d31990fbf437"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga3897795c1e9fb10571092febae964ef0"><param name="Name" value="pcap_dump_close"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga3897795c1e9fb10571092febae964ef0"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga3897795c1e9fb10571092febae964ef0"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga8dac02f297422ff2ab5983d1e30c58b6"><param name="Name" value="pcap_dump_file"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga8dac02f297422ff2ab5983d1e30c58b6"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga8dac02f297422ff2ab5983d1e30c58b6"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga90404ae3dcffcd3bbe78f8b187a88984"><param name="Name" value="pcap_dump_flush"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga90404ae3dcffcd3bbe78f8b187a88984"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga90404ae3dcffcd3bbe78f8b187a88984"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga50de34b8b3298f76c66c82b7ca3f84de"><param name="Name" value="pcap_dump_ftell"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga50de34b8b3298f76c66c82b7ca3f84de"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga50de34b8b3298f76c66c82b7ca3f84de"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga9506c33d580fdb5e5c288dba0f8a085c"><param name="Name" value="pcap_dump_open"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga9506c33d580fdb5e5c288dba0f8a085c"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga9506c33d580fdb5e5c288dba0f8a085c"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#gab8c7858aa3a7e3158d9d58cb113a2ae8"><param name="Name" value="pcap_dumper_t"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#gab8c7858aa3a7e3158d9d58cb113a2ae8"><param name="Name" value="incs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#gab8c7858aa3a7e3158d9d58cb113a2ae8"><param name="Name" value="wpcap_def"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga5c8c6dd12f4fcdeaefd0f8d4a67b3075"><param name="Name" value="PCAP_ERR_AUTH"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga5c8c6dd12f4fcdeaefd0f8d4a67b3075"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga5c8c6dd12f4fcdeaefd0f8d4a67b3075"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga7237f6698352751c08de3b10ae711881"><param name="Name" value="PCAP_ERR_ENDCAPTURE"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga7237f6698352751c08de3b10ae711881"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga7237f6698352751c08de3b10ae711881"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gadfbdeb5279422bc65233eefeca885661"><param name="Name" value="PCAP_ERR_FINDALLIF"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gadfbdeb5279422bc65233eefeca885661"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gadfbdeb5279422bc65233eefeca885661"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gaf2e8f37c8ecf045242e00d9d138d4130"><param name="Name" value="PCAP_ERR_GETSTATS"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gaf2e8f37c8ecf045242e00d9d138d4130"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gaf2e8f37c8ecf045242e00d9d138d4130"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga77b7c5dbb7399e0f73c3105c181c0eba"><param name="Name" value="PCAP_ERR_HOSTNOAUTH"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga77b7c5dbb7399e0f73c3105c181c0eba"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga77b7c5dbb7399e0f73c3105c181c0eba"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga43cc461cdabd8d39ca2346f10c233a1b"><param name="Name" value="PCAP_ERR_INITTIMEOUT"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga43cc461cdabd8d39ca2346f10c233a1b"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga43cc461cdabd8d39ca2346f10c233a1b"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga281ffdbe28e312f9fe6bc22c4d14fd68"><param name="Name" value="PCAP_ERR_NETW"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga281ffdbe28e312f9fe6bc22c4d14fd68"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga281ffdbe28e312f9fe6bc22c4d14fd68"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga9f540070da23a5e61d0e27a61a300639"><param name="Name" value="PCAP_ERR_NOREMOTEIF"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga9f540070da23a5e61d0e27a61a300639"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga9f540070da23a5e61d0e27a61a300639"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga3bfdce6d89b764b103404a1ec08bc4f9"><param name="Name" value="PCAP_ERR_OPEN"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga3bfdce6d89b764b103404a1ec08bc4f9"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga3bfdce6d89b764b103404a1ec08bc4f9"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga61631ebf63be764b06b1259fcded1b4d"><param name="Name" value="PCAP_ERR_READEX"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga61631ebf63be764b06b1259fcded1b4d"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga61631ebf63be764b06b1259fcded1b4d"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga005853d9f448e2125b9c907cd68ae77a"><param name="Name" value="PCAP_ERR_REMOTEACCEPT"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga005853d9f448e2125b9c907cd68ae77a"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga005853d9f448e2125b9c907cd68ae77a"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga9a98b752c9427a52b1902b6a4aa9845a"><param name="Name" value="PCAP_ERR_RUNTIMETIMEOUT"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga9a98b752c9427a52b1902b6a4aa9845a"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga9a98b752c9427a52b1902b6a4aa9845a"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gad904f96dcd2dc7ead1f50e81d27a87ee"><param name="Name" value="PCAP_ERR_SETSAMPLING"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gad904f96dcd2dc7ead1f50e81d27a87ee"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gad904f96dcd2dc7ead1f50e81d27a87ee"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga2342b31cd1b83713b43e29fc1b8bbe80"><param name="Name" value="PCAP_ERR_STARTCAPTURE"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga2342b31cd1b83713b43e29fc1b8bbe80"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga2342b31cd1b83713b43e29fc1b8bbe80"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gae12279008dbc82da60f457ae639d9c98"><param name="Name" value="PCAP_ERR_UPDATEFILTER"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gae12279008dbc82da60f457ae639d9c98"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gae12279008dbc82da60f457ae639d9c98"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gaadf8ebdb03c2852d32084792c32f5014"><param name="Name" value="PCAP_ERR_WRONGMSG"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gaadf8ebdb03c2852d32084792c32f5014"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gaadf8ebdb03c2852d32084792c32f5014"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga27644e4198a710a3fb6763464b4cceb8"><param name="Name" value="PCAP_ERR_WRONGVER"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga27644e4198a710a3fb6763464b4cceb8"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga27644e4198a710a3fb6763464b4cceb8"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#gacd448353957d92c98fccc29e1fc8d927"><param name="Name" value="PCAP_ERRBUF_SIZE"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#gacd448353957d92c98fccc29e1fc8d927"><param name="Name" value="incs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#gacd448353957d92c98fccc29e1fc8d927"><param name="Name" value="wpcap_def"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga4c9f5690b99fb2af1f8904403f7da06b"><param name="Name" value="pcap_file"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga4c9f5690b99fb2af1f8904403f7da06b"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga4c9f5690b99fb2af1f8904403f7da06b"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__file__header.html"><param name="Name" value="pcap_file_header"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__file__header.html#a1c54dd90a08b2c232f2f204bfaa54496"><param name="Name" value="linktype"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__file__header.html#a18b75bcc7dcee1412b74b57bb238cf3d"><param name="Name" value="magic"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__file__header.html#a209ec264363632ccd21b412c93d2881a"><param name="Name" value="sigfigs"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__file__header.html#aa73496b51e5edb630420e4044792c897"><param name="Name" value="snaplen"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__file__header.html#ae729a1ba12145c96acbe2bb6310bc7e1"><param name="Name" value="thiszone"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__file__header.html#a571fada6e8ffbb02ad47e64f0f721d4a"><param name="Name" value="version_major"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__file__header.html#a82971bc0da75fef683f826bd48050307"><param name="Name" value="version_minor"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d"><param name="Name" value="pcap_findalldevs"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga98f36e62c95c6ad81eaa8b2bbeb8f16e"><param name="Name" value="pcap_findalldevs_ex"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga98f36e62c95c6ad81eaa8b2bbeb8f16e"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="remote-ext_8h.html#a98f36e62c95c6ad81eaa8b2bbeb8f16e"><param name="Name" value="remote-ext.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga98f36e62c95c6ad81eaa8b2bbeb8f16e"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga346b4b0b7fd1cda4abb9a39f767dbeb1"><param name="Name" value="pcap_freealldevs"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga346b4b0b7fd1cda4abb9a39f767dbeb1"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga346b4b0b7fd1cda4abb9a39f767dbeb1"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga9e0a5aad1a5dc79d85f1edfcebe0ac13"><param name="Name" value="pcap_freecode"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga9e0a5aad1a5dc79d85f1edfcebe0ac13"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga9e0a5aad1a5dc79d85f1edfcebe0ac13"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga4c8f8d1b9238c74faa156494a6b98670"><param name="Name" value="pcap_get_airpcap_handle"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga4c8f8d1b9238c74faa156494a6b98670"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#a4c8f8d1b9238c74faa156494a6b98670"><param name="Name" value="Win32-Extensions.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga4c8f8d1b9238c74faa156494a6b98670"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga81305cb154e4497e95bbb9b708631a3a"><param name="Name" value="pcap_geterr"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga81305cb154e4497e95bbb9b708631a3a"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga81305cb154e4497e95bbb9b708631a3a"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga2c415e9192c7b18a81a02300ae6f2c02"><param name="Name" value="pcap_getevent"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga2c415e9192c7b18a81a02300ae6f2c02"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#a2c415e9192c7b18a81a02300ae6f2c02"><param name="Name" value="Win32-Extensions.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga2c415e9192c7b18a81a02300ae6f2c02"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gab25dc0bfe06545b86be4103bf010708e"><param name="Name" value="pcap_getnonblock"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gab25dc0bfe06545b86be4103bf010708e"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gab25dc0bfe06545b86be4103bf010708e"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gabcba231c099919ecd9300d7160b19878"><param name="Name" value="pcap_handler"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gabcba231c099919ecd9300d7160b19878"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gabcba231c099919ecd9300d7160b19878"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__if.html"><param name="Name" value="pcap_if"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__if.html#a3910004677550db6d9b09792ba3e2cca"><param name="Name" value="addresses"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__if.html#a8444d6e0dfe2bbab0b5e7b24308f1559"><param name="Name" value="description"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__if.html#a304e038dd1326c14b31a206cbad18756"><param name="Name" value="flags"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__if.html#a5ac083a645d964373f022d03df4849c8"><param name="Name" value="name"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__if.html#a81508e6e4e41ca4235c8d6b51913c536"><param name="Name" value="next"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#ga43a6601bfd438efc02b0ba71c5439647"><param name="Name" value="PCAP_IF_LOOPBACK"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#ga43a6601bfd438efc02b0ba71c5439647"><param name="Name" value="incs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#ga43a6601bfd438efc02b0ba71c5439647"><param name="Name" value="wpcap_def"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#ga3a6e7cbf8d9752da3add4676c7cd4c58"><param name="Name" value="pcap_if_t"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#ga3a6e7cbf8d9752da3add4676c7cd4c58"><param name="Name" value="incs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#ga3a6e7cbf8d9752da3add4676c7cd4c58"><param name="Name" value="wpcap_def"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaba4941e09e5e03ba39841de4b1d5d6a4"><param name="Name" value="pcap_is_swapped"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaba4941e09e5e03ba39841de4b1d5d6a4"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaba4941e09e5e03ba39841de4b1d5d6a4"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga2d92cec9ff55906b5b6fb883e4bd72f4"><param name="Name" value="pcap_lib_version"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga2d92cec9ff55906b5b6fb883e4bd72f4"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga2d92cec9ff55906b5b6fb883e4bd72f4"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga64e482360b0ed7d65fce1db23d56b921"><param name="Name" value="pcap_list_datalinks"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga64e482360b0ed7d65fce1db23d56b921"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga64e482360b0ed7d65fce1db23d56b921"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaedef54159d918b22a7de8e75b8a3ef4d"><param name="Name" value="pcap_live_dump"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaedef54159d918b22a7de8e75b8a3ef4d"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#aedef54159d918b22a7de8e75b8a3ef4d"><param name="Name" value="Win32-Extensions.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaedef54159d918b22a7de8e75b8a3ef4d"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gafe8a334f3a7ae2dc7f52e96523da39be"><param name="Name" value="pcap_live_dump_ended"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gafe8a334f3a7ae2dc7f52e96523da39be"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#afe8a334f3a7ae2dc7f52e96523da39be"><param name="Name" value="Win32-Extensions.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gafe8a334f3a7ae2dc7f52e96523da39be"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaed295fc9fd86434372e8a8316f1270b1"><param name="Name" value="pcap_lookupdev"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaed295fc9fd86434372e8a8316f1270b1"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaed295fc9fd86434372e8a8316f1270b1"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaa35276d0fa530c51a455f298fa1ec453"><param name="Name" value="pcap_lookupnet"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaa35276d0fa530c51a455f298fa1ec453"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaa35276d0fa530c51a455f298fa1ec453"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de"><param name="Name" value="pcap_loop"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga39dfb05149b443cc25b8febc455ca753"><param name="Name" value="pcap_major_version"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga39dfb05149b443cc25b8febc455ca753"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga39dfb05149b443cc25b8febc455ca753"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gac7a9dd9cd040ee500221cf35dfb49248"><param name="Name" value="pcap_minor_version"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gac7a9dd9cd040ee500221cf35dfb49248"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gac7a9dd9cd040ee500221cf35dfb49248"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gadf60257f650aaf869671e0a163611fc3"><param name="Name" value="pcap_next"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gadf60257f650aaf869671e0a163611fc3"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gadf60257f650aaf869671e0a163611fc3"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga439439c2eae61161dc1efb1e03a81133"><param name="Name" value="pcap_next_ex"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga439439c2eae61161dc1efb1e03a81133"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga439439c2eae61161dc1efb1e03a81133"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gae92f11bfb001c19b2d0fbcd6821d222a"><param name="Name" value="pcap_offline_filter"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gae92f11bfb001c19b2d0fbcd6821d222a"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#ae92f11bfb001c19b2d0fbcd6821d222a"><param name="Name" value="Win32-Extensions.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gae92f11bfb001c19b2d0fbcd6821d222a"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791"><param name="Name" value="pcap_open"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="remote-ext_8h.html#a2b64c7b6490090d1d37088794f1f1791"><param name="Name" value="remote-ext.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga6445eeb76f2757b9fa088b276eea2845"><param name="Name" value="pcap_open_dead"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga6445eeb76f2757b9fa088b276eea2845"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga6445eeb76f2757b9fa088b276eea2845"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8"><param name="Name" value="pcap_open_live"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga91078168a13de8848df2b7b83d1f5b69"><param name="Name" value="pcap_open_offline"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga91078168a13de8848df2b7b83d1f5b69"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga91078168a13de8848df2b7b83d1f5b69"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__open__flags.html#gaca53ea1423680167cf046752337b3381"><param name="Name" value="PCAP_OPENFLAG_DATATX_UDP"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__open__flags.html#gaca53ea1423680167cf046752337b3381"><param name="Name" value="remote-ext.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__open__flags.html#gaca53ea1423680167cf046752337b3381"><param name="Name" value="remote_open_flags"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__open__flags.html#gae54e5c810d75f23f69a0c78ca7f882b1"><param name="Name" value="PCAP_OPENFLAG_MAX_RESPONSIVENESS"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__open__flags.html#gae54e5c810d75f23f69a0c78ca7f882b1"><param name="Name" value="remote-ext.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__open__flags.html#gae54e5c810d75f23f69a0c78ca7f882b1"><param name="Name" value="remote_open_flags"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__open__flags.html#ga337712d5c8d26a0d984d6bb702d0118d"><param name="Name" value="PCAP_OPENFLAG_NOCAPTURE_LOCAL"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__open__flags.html#ga337712d5c8d26a0d984d6bb702d0118d"><param name="Name" value="remote-ext.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__open__flags.html#ga337712d5c8d26a0d984d6bb702d0118d"><param name="Name" value="remote_open_flags"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__open__flags.html#ga1af46d0c195f9a3b66955acdd52b5375"><param name="Name" value="PCAP_OPENFLAG_NOCAPTURE_RPCAP"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__open__flags.html#ga1af46d0c195f9a3b66955acdd52b5375"><param name="Name" value="remote-ext.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__open__flags.html#ga1af46d0c195f9a3b66955acdd52b5375"><param name="Name" value="remote_open_flags"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__open__flags.html#ga9134ce51a9a6a7d497c3dee5affdc3b9"><param name="Name" value="PCAP_OPENFLAG_PROMISCUOUS"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__open__flags.html#ga9134ce51a9a6a7d497c3dee5affdc3b9"><param name="Name" value="remote-ext.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__open__flags.html#ga9134ce51a9a6a7d497c3dee5affdc3b9"><param name="Name" value="remote_open_flags"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#aa37a07d9cf44445b81602b14c622e28a"><param name="Name" value="pcap_opensource_remote"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga090e0afd3f463b4b60a64c47eddc1ba2"><param name="Name" value="pcap_parsesrcstr"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga090e0afd3f463b4b60a64c47eddc1ba2"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="remote-ext_8h.html#a090e0afd3f463b4b60a64c47eddc1ba2"><param name="Name" value="remote-ext.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga090e0afd3f463b4b60a64c47eddc1ba2"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gac3b6784c6c2623b93b22f6f219bd470e"><param name="Name" value="pcap_perror"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gac3b6784c6c2623b93b22f6f219bd470e"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gac3b6784c6c2623b93b22f6f219bd470e"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__pkthdr.html"><param name="Name" value="pcap_pkthdr"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__pkthdr.html#aac5771ed2efd92508bb4fe650f2ce7d7"><param name="Name" value="caplen"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__pkthdr.html#a728f264db4f5cc304742565a2bcdbeea"><param name="Name" value="len"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__pkthdr.html#a21be78b2818c91cb205885b8a6f5aed8"><param name="Name" value="ts"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#a9592679e3e00af097835b4dfc5f2dbaa"><param name="Name" value="pcap_read_nocb_remote"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ab0db6e07bf653640fd14650aeffe5d5a"><param name="Name" value="pcap_read_remote"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga5495943cc8262db57f726e2a23f837dd"><param name="Name" value="pcap_remoteact_accept"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga5495943cc8262db57f726e2a23f837dd"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="remote-ext_8h.html#a5495943cc8262db57f726e2a23f837dd"><param name="Name" value="remote-ext.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga5495943cc8262db57f726e2a23f837dd"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga7b022e0a67f5ff62fd13df5c688d6d82"><param name="Name" value="pcap_remoteact_cleanup"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga7b022e0a67f5ff62fd13df5c688d6d82"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="remote-ext_8h.html#a7b022e0a67f5ff62fd13df5c688d6d82"><param name="Name" value="remote-ext.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga7b022e0a67f5ff62fd13df5c688d6d82"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga6a84e03497f946d61c440696e57e2c95"><param name="Name" value="pcap_remoteact_close"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga6a84e03497f946d61c440696e57e2c95"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="remote-ext_8h.html#a6a84e03497f946d61c440696e57e2c95"><param name="Name" value="remote-ext.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga6a84e03497f946d61c440696e57e2c95"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga7ee8f666bff537aa457b7c05651cf815"><param name="Name" value="pcap_remoteact_list"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga7ee8f666bff537aa457b7c05651cf815"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="remote-ext_8h.html#a7ee8f666bff537aa457b7c05651cf815"><param name="Name" value="remote-ext.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga7ee8f666bff537aa457b7c05651cf815"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__rmtauth.html"><param name="Name" value="pcap_rmtauth"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__rmtauth.html#a59460a3ff2c12443d1022e5cc0fba85c"><param name="Name" value="password"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__rmtauth.html#ac765329451135abec74c45e1897abf26"><param name="Name" value="type"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__rmtauth.html#a9b20c006bd90a09e1465fb668700e81d"><param name="Name" value="username"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__samp.html"><param name="Name" value="pcap_samp"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__samp.html#adcc9a19ad3119f823a658f6a49a24e64"><param name="Name" value="method"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__samp.html#ac4f474c82e82cbb89ca7c36dd52be0ed"><param name="Name" value="value"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__samp__methods.html#ga79bf88faf9851bf82ee30beb302e3b5f"><param name="Name" value="PCAP_SAMP_1_EVERY_N"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__samp__methods.html#ga79bf88faf9851bf82ee30beb302e3b5f"><param name="Name" value="remote-ext.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__samp__methods.html#ga79bf88faf9851bf82ee30beb302e3b5f"><param name="Name" value="remote_samp_methods"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__samp__methods.html#ga5a4ae1f017ece5c1d3b44c8a399d130b"><param name="Name" value="PCAP_SAMP_FIRST_AFTER_N_MS"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__samp__methods.html#ga5a4ae1f017ece5c1d3b44c8a399d130b"><param name="Name" value="remote-ext.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__samp__methods.html#ga5a4ae1f017ece5c1d3b44c8a399d130b"><param name="Name" value="remote_samp_methods"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__samp__methods.html#ga1fc3a70120a1188f5ed4cc2af0ff0671"><param name="Name" value="PCAP_SAMP_NOSAMP"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__samp__methods.html#ga1fc3a70120a1188f5ed4cc2af0ff0671"><param name="Name" value="remote-ext.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__samp__methods.html#ga1fc3a70120a1188f5ed4cc2af0ff0671"><param name="Name" value="remote_samp_methods"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__send__queue.html"><param name="Name" value="pcap_send_queue"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__send__queue.html#aff2566f4c366b48d73479bef43ee4d2e"><param name="Name" value="buffer"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__send__queue.html#ab4853420730b2b590cd3ad0e72fa80ca"><param name="Name" value="len"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__send__queue.html#a30305e6f9a9069760edf175b138e445d"><param name="Name" value="maxlen"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#a59f37277a1b82cbf46112f0e97485696"><param name="Name" value="Win32-Extensions.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga51dbda0f1ab9da2cfe49d657486d50b2"><param name="Name" value="pcap_sendpacket"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga51dbda0f1ab9da2cfe49d657486d50b2"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga51dbda0f1ab9da2cfe49d657486d50b2"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gab940e69631b7cc7f2232a69ea02b86d9"><param name="Name" value="pcap_sendqueue_alloc"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gab940e69631b7cc7f2232a69ea02b86d9"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#ab940e69631b7cc7f2232a69ea02b86d9"><param name="Name" value="Win32-Extensions.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gab940e69631b7cc7f2232a69ea02b86d9"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga72624f7a9932cc2124abf661001e0aa4"><param name="Name" value="pcap_sendqueue_destroy"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga72624f7a9932cc2124abf661001e0aa4"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#a72624f7a9932cc2124abf661001e0aa4"><param name="Name" value="Win32-Extensions.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga72624f7a9932cc2124abf661001e0aa4"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga4c57ea320d71dbfe55c5665af9db1297"><param name="Name" value="pcap_sendqueue_queue"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga4c57ea320d71dbfe55c5665af9db1297"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#a4c57ea320d71dbfe55c5665af9db1297"><param name="Name" value="Win32-Extensions.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga4c57ea320d71dbfe55c5665af9db1297"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaa4d55eb047a1cccc0e28397ce04ee097"><param name="Name" value="pcap_sendqueue_transmit"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaa4d55eb047a1cccc0e28397ce04ee097"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#aa4d55eb047a1cccc0e28397ce04ee097"><param name="Name" value="Win32-Extensions.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaa4d55eb047a1cccc0e28397ce04ee097"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga9588b99ac118cf827873d9e941eb6c77"><param name="Name" value="pcap_set_datalink"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga9588b99ac118cf827873d9e941eb6c77"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga9588b99ac118cf827873d9e941eb6c77"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga124bde25ccd9e39017ff2abec2dda623"><param name="Name" value="pcap_setbuff"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga124bde25ccd9e39017ff2abec2dda623"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga124bde25ccd9e39017ff2abec2dda623"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaf5f9cfe85dad0967ff607e5159b1ba61"><param name="Name" value="pcap_setfilter"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaf5f9cfe85dad0967ff607e5159b1ba61"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaf5f9cfe85dad0967ff607e5159b1ba61"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#a3e12964f562dd76e1094d927cbe27b25"><param name="Name" value="pcap_setfilter_remote"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gab14ceacbf1c2f63026416dd73f80dc0d"><param name="Name" value="pcap_setmintocopy"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gab14ceacbf1c2f63026416dd73f80dc0d"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gab14ceacbf1c2f63026416dd73f80dc0d"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaef07ef49d3c75644f3fd34518e2fe720"><param name="Name" value="pcap_setmode"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaef07ef49d3c75644f3fd34518e2fe720"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaef07ef49d3c75644f3fd34518e2fe720"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga3f212141c80b59aad8ac535bb0178275"><param name="Name" value="pcap_setnonblock"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga3f212141c80b59aad8ac535bb0178275"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga3f212141c80b59aad8ac535bb0178275"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga84c7d55f5b0e7d545b38d6b8e7bde005"><param name="Name" value="pcap_setsampling"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga84c7d55f5b0e7d545b38d6b8e7bde005"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="remote-ext_8h.html#a84c7d55f5b0e7d545b38d6b8e7bde005"><param name="Name" value="remote-ext.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga84c7d55f5b0e7d545b38d6b8e7bde005"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ae70f189ef09ba80aa809365854f2875a"><param name="Name" value="pcap_setsampling_remote"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#a9b68e06df888cb005ddb92117227e0a6"><param name="Name" value="pcap_setuserbuffer"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gae5c6e9768e89a6b82f9d720f37e6ab97"><param name="Name" value="pcap_snapshot"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gae5c6e9768e89a6b82f9d720f37e6ab97"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gae5c6e9768e89a6b82f9d720f37e6ab97"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__source__ID.html#ga9188ad0fc0d12fc51d1e9f5e78bf9440"><param name="Name" value="PCAP_SRC_FILE"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__source__ID.html#ga9188ad0fc0d12fc51d1e9f5e78bf9440"><param name="Name" value="remote-ext.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__source__ID.html#ga9188ad0fc0d12fc51d1e9f5e78bf9440"><param name="Name" value="remote_source_ID"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__source__string.html#gadb108815eb410ca0ab0b444ff2e56a26"><param name="Name" value="PCAP_SRC_FILE_STRING"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__source__string.html#gadb108815eb410ca0ab0b444ff2e56a26"><param name="Name" value="remote-ext.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__source__string.html#gadb108815eb410ca0ab0b444ff2e56a26"><param name="Name" value="remote_source_string"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__source__string.html#ga6d7103b8a7e1eca8c325bd8f32c361c3"><param name="Name" value="PCAP_SRC_IF_STRING"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__source__string.html#ga6d7103b8a7e1eca8c325bd8f32c361c3"><param name="Name" value="remote-ext.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__source__string.html#ga6d7103b8a7e1eca8c325bd8f32c361c3"><param name="Name" value="remote_source_string"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__source__ID.html#ga00c875af0185ead420787d4eaba6ff71"><param name="Name" value="PCAP_SRC_IFLOCAL"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__source__ID.html#ga00c875af0185ead420787d4eaba6ff71"><param name="Name" value="remote-ext.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__source__ID.html#ga00c875af0185ead420787d4eaba6ff71"><param name="Name" value="remote_source_ID"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__source__ID.html#gae5558973e334926f6e7171e3a711e265"><param name="Name" value="PCAP_SRC_IFREMOTE"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__source__ID.html#gae5558973e334926f6e7171e3a711e265"><param name="Name" value="remote-ext.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__source__ID.html#gae5558973e334926f6e7171e3a711e265"><param name="Name" value="remote_source_ID"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#a6455abf1f09abfd5493e2e0e914aa612"><param name="Name" value="pcap_start_oem"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#a0ad8f765bf454e69b98f97a3e2b002e7"><param name="Name" value="pcap_startcapture_remote"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__stat.html"><param name="Name" value="pcap_stat"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__stat.html#a579778ac11d2b5c142ce8bc7ed37bb08"><param name="Name" value="bs_capt"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__stat.html#a2cfc89d84a0ba404cacfa59f6b112bc1"><param name="Name" value="ps_drop"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__stat.html#abc51be1ec5423e462bde5eac5a9b7c56"><param name="Name" value="ps_ifdrop"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__stat.html#a825c8bdb589e7de8e597f6d6f7af8125"><param name="Name" value="ps_recv"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gabbd74d8c3ce1bcbccc76129ac38f4549"><param name="Name" value="pcap_stats"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gabbd74d8c3ce1bcbccc76129ac38f4549"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gabbd74d8c3ce1bcbccc76129ac38f4549"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga8050f7829956aabd243cc32b3cfabbd6"><param name="Name" value="pcap_stats_ex"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga8050f7829956aabd243cc32b3cfabbd6"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#a8050f7829956aabd243cc32b3cfabbd6"><param name="Name" value="Win32-Extensions.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga8050f7829956aabd243cc32b3cfabbd6"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#a6e9d9cdb69408ad2b1221c8f5dcc3c80"><param name="Name" value="pcap_stats_ex_remote"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#a566a5e39d86edb314005ed4fed4d2b99"><param name="Name" value="pcap_stats_remote"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gafac2067e8f66f5a5a87f19f5e2b5ad4f"><param name="Name" value="pcap_strerror"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gafac2067e8f66f5a5a87f19f5e2b5ad4f"><param name="Name" value="funcs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gafac2067e8f66f5a5a87f19f5e2b5ad4f"><param name="Name" value="wpcapfunc"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7"><param name="Name" value="pcap_t"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7"><param name="Name" value="incs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7"><param name="Name" value="wpcap_def"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#a27b8e02d428568edb810e6eca02f1c49"><param name="Name" value="pcap_updatefilter_remote"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#gaac031371d41e21ff96e80409e05a7ddb"><param name="Name" value="PCAP_VERSION_MAJOR"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#gaac031371d41e21ff96e80409e05a7ddb"><param name="Name" value="incs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gaac031371d41e21ff96e80409e05a7ddb"><param name="Name" value="NPF_include"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gaac031371d41e21ff96e80409e05a7ddb"><param name="Name" value="Packet.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#gaac031371d41e21ff96e80409e05a7ddb"><param name="Name" value="wpcap_def"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#ga9c200b070c9f626d38184588b16849c2"><param name="Name" value="PCAP_VERSION_MINOR"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#ga9c200b070c9f626d38184588b16849c2"><param name="Name" value="incs/pcap.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga9c200b070c9f626d38184588b16849c2"><param name="Name" value="NPF_include"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga9c200b070c9f626d38184588b16849c2"><param name="Name" value="Packet.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#ga9c200b070c9f626d38184588b16849c2"><param name="Name" value="wpcap_def"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gac8ad25578be589c8352fc4e1a8a99be3"><param name="Name" value="PDEVICE_EXTENSION"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gac8ad25578be589c8352fc4e1a8a99be3"><param name="Name" value="NPF_include"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gac8ad25578be589c8352fc4e1a8a99be3"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga55591a7d14855359ed1e3995f7f025c3"><param name="Name" value="PINTERNAL_REQUEST"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga55591a7d14855359ed1e3995f7f025c3"><param name="Name" value="NPF_include"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga55591a7d14855359ed1e3995f7f025c3"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__header.html#a9f51ae02e66e202ec26632a2bce78942"><param name="Name" value="plen"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__PACKET__RESERVED.html#a3bbb67b64845622d97356325852ef6be"><param name="Name" value="pMdl"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga6da555dded4ddd3b9b053dd3218dc631"><param name="Name" value="POP"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga6da555dded4ddd3b9b053dd3218dc631"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga6da555dded4ddd3b9b053dd3218dc631"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gad3b7ff25cfe0e8fd50666782f85e76cb"><param name="Name" value="POPEN_INSTANCE"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gad3b7ff25cfe0e8fd50666782f85e76cb"><param name="Name" value="NPF_include"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gad3b7ff25cfe0e8fd50666782f85e76cb"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structactive__pars.html#a27201989fe772052edc147c02e61ae00"><param name="Name" value="port"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__startcapreply.html#a914e4f42058b208f03d04a65c902bff3"><param name="Name" value="portdata"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__startcapreply.html#a914e4f42058b208f03d04a65c902bff3"><param name="Name" value="rpcap_startcapreply"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__startcapreq.html#a914e4f42058b208f03d04a65c902bff3"><param name="Name" value="rpcap_startcapreq"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gadf678e4006b707eb64a691e611975b22"><param name="Name" value="PPACKET_OID_DATA"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gadf678e4006b707eb64a691e611975b22"><param name="Name" value="NPF_include"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gadf678e4006b707eb64a691e611975b22"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga375d9973bbbe748c9722e8f546beb10c"><param name="Name" value="PPACKET_RESERVED"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga375d9973bbbe748c9722e8f546beb10c"><param name="Name" value="NPF_include"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga375d9973bbbe748c9722e8f546beb10c"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="rpcapd_8h.html#a3b6a35b8be8405a9db72cc5dea97954b"><param name="Name" value="PROGRAM_NAME"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__stat.html#a2cfc89d84a0ba404cacfa59f6b112bc1"><param name="Name" value="ps_drop"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__stat.html#abc51be1ec5423e462bde5eac5a9b7c56"><param name="Name" value="ps_ifdrop"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__stat.html#a825c8bdb589e7de8e597f6d6f7af8125"><param name="Name" value="ps_recv"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="daemon_8h.html#a17c4e1f787be3e05287772cef511a91d"><param name="Name" value="pthread_suspend"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gaea36ce6a00fb793cb4fa9046a65e4e32"><param name="Name" value="PUSH"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gaea36ce6a00fb793cb4fa9046a65e4e32"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gaea36ce6a00fb793cb4fa9046a65e4e32"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__startcapreq.html#a189e41efb9a00f52c242e0287e341543"><param name="Name" value="read_timeout"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a80fd41275e80049cbe8238917a1dfb33"><param name="Name" value="ReaderSN"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a6139735ab3e4fa797d344e314bba6473"><param name="Name" value="ReadEvent"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct____CPU__Private__Data.html#a82febc79f3f3bbf857a4fd34447b5ca2"><param name="Name" value="Received"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structbinary__stream.html#a479a793a3937e38fd40e0bb6edfbfe5e"><param name="Name" value="refs"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="remote-ext_8h.html"><param name="Name" value="remote-ext.h"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="remote-ext_8h.html#gacacb155b596f7511f714de129ae32c97"><param name="Name" value="PCAP_BUF_SIZE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="remote-ext_8h.html#aa3111e10f930a9772a32a922b26948b0"><param name="Name" value="pcap_createsrcstr"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="remote-ext_8h.html#a98f36e62c95c6ad81eaa8b2bbeb8f16e"><param name="Name" value="pcap_findalldevs_ex"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="remote-ext_8h.html#a2b64c7b6490090d1d37088794f1f1791"><param name="Name" value="pcap_open"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="remote-ext_8h.html#gaca53ea1423680167cf046752337b3381"><param name="Name" value="PCAP_OPENFLAG_DATATX_UDP"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="remote-ext_8h.html#gae54e5c810d75f23f69a0c78ca7f882b1"><param name="Name" value="PCAP_OPENFLAG_MAX_RESPONSIVENESS"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="remote-ext_8h.html#ga337712d5c8d26a0d984d6bb702d0118d"><param name="Name" value="PCAP_OPENFLAG_NOCAPTURE_LOCAL"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="remote-ext_8h.html#ga1af46d0c195f9a3b66955acdd52b5375"><param name="Name" value="PCAP_OPENFLAG_NOCAPTURE_RPCAP"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="remote-ext_8h.html#ga9134ce51a9a6a7d497c3dee5affdc3b9"><param name="Name" value="PCAP_OPENFLAG_PROMISCUOUS"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="remote-ext_8h.html#a090e0afd3f463b4b60a64c47eddc1ba2"><param name="Name" value="pcap_parsesrcstr"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="remote-ext_8h.html#a5495943cc8262db57f726e2a23f837dd"><param name="Name" value="pcap_remoteact_accept"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="remote-ext_8h.html#a7b022e0a67f5ff62fd13df5c688d6d82"><param name="Name" value="pcap_remoteact_cleanup"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="remote-ext_8h.html#a6a84e03497f946d61c440696e57e2c95"><param name="Name" value="pcap_remoteact_close"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="remote-ext_8h.html#a7ee8f666bff537aa457b7c05651cf815"><param name="Name" value="pcap_remoteact_list"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="remote-ext_8h.html#ga79bf88faf9851bf82ee30beb302e3b5f"><param name="Name" value="PCAP_SAMP_1_EVERY_N"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="remote-ext_8h.html#ga5a4ae1f017ece5c1d3b44c8a399d130b"><param name="Name" value="PCAP_SAMP_FIRST_AFTER_N_MS"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="remote-ext_8h.html#ga1fc3a70120a1188f5ed4cc2af0ff0671"><param name="Name" value="PCAP_SAMP_NOSAMP"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="remote-ext_8h.html#a84c7d55f5b0e7d545b38d6b8e7bde005"><param name="Name" value="pcap_setsampling"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="remote-ext_8h.html#ga9188ad0fc0d12fc51d1e9f5e78bf9440"><param name="Name" value="PCAP_SRC_FILE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="remote-ext_8h.html#gadb108815eb410ca0ab0b444ff2e56a26"><param name="Name" value="PCAP_SRC_FILE_STRING"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="remote-ext_8h.html#ga6d7103b8a7e1eca8c325bd8f32c361c3"><param name="Name" value="PCAP_SRC_IF_STRING"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="remote-ext_8h.html#ga00c875af0185ead420787d4eaba6ff71"><param name="Name" value="PCAP_SRC_IFLOCAL"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="remote-ext_8h.html#gae5558973e334926f6e7171e3a711e265"><param name="Name" value="PCAP_SRC_IFREMOTE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="remote-ext_8h.html#gad71cfa3b6dd1dacb2e8d6cef4ae67723"><param name="Name" value="RPCAP_HOSTLIST_SIZE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="remote-ext_8h.html#gacf895bca5fa091307dcfa3a7cb6c8882"><param name="Name" value="RPCAP_RMTAUTH_NULL"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="remote-ext_8h.html#gab73de990af3daaf44ff88119050634fb"><param name="Name" value="RPCAP_RMTAUTH_PWD"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__auth__methods.html"><param name="Name" value="remote_auth_methods"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__auth__methods.html#gacf895bca5fa091307dcfa3a7cb6c8882"><param name="Name" value="RPCAP_RMTAUTH_NULL"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__auth__methods.html#gab73de990af3daaf44ff88119050634fb"><param name="Name" value="RPCAP_RMTAUTH_PWD"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__open__flags.html"><param name="Name" value="remote_open_flags"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__open__flags.html#gaca53ea1423680167cf046752337b3381"><param name="Name" value="PCAP_OPENFLAG_DATATX_UDP"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__open__flags.html#gae54e5c810d75f23f69a0c78ca7f882b1"><param name="Name" value="PCAP_OPENFLAG_MAX_RESPONSIVENESS"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__open__flags.html#ga337712d5c8d26a0d984d6bb702d0118d"><param name="Name" value="PCAP_OPENFLAG_NOCAPTURE_LOCAL"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__open__flags.html#ga1af46d0c195f9a3b66955acdd52b5375"><param name="Name" value="PCAP_OPENFLAG_NOCAPTURE_RPCAP"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__open__flags.html#ga9134ce51a9a6a7d497c3dee5affdc3b9"><param name="Name" value="PCAP_OPENFLAG_PROMISCUOUS"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html"><param name="Name" value="remote_pri_struct"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga56f1a81c92849566ae864511088eb7e8"><param name="Name" value="int32"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga5c8c6dd12f4fcdeaefd0f8d4a67b3075"><param name="Name" value="PCAP_ERR_AUTH"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga7237f6698352751c08de3b10ae711881"><param name="Name" value="PCAP_ERR_ENDCAPTURE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gadfbdeb5279422bc65233eefeca885661"><param name="Name" value="PCAP_ERR_FINDALLIF"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gaf2e8f37c8ecf045242e00d9d138d4130"><param name="Name" value="PCAP_ERR_GETSTATS"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga77b7c5dbb7399e0f73c3105c181c0eba"><param name="Name" value="PCAP_ERR_HOSTNOAUTH"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga43cc461cdabd8d39ca2346f10c233a1b"><param name="Name" value="PCAP_ERR_INITTIMEOUT"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga281ffdbe28e312f9fe6bc22c4d14fd68"><param name="Name" value="PCAP_ERR_NETW"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga9f540070da23a5e61d0e27a61a300639"><param name="Name" value="PCAP_ERR_NOREMOTEIF"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga3bfdce6d89b764b103404a1ec08bc4f9"><param name="Name" value="PCAP_ERR_OPEN"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga61631ebf63be764b06b1259fcded1b4d"><param name="Name" value="PCAP_ERR_READEX"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga005853d9f448e2125b9c907cd68ae77a"><param name="Name" value="PCAP_ERR_REMOTEACCEPT"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga9a98b752c9427a52b1902b6a4aa9845a"><param name="Name" value="PCAP_ERR_RUNTIMETIMEOUT"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gad904f96dcd2dc7ead1f50e81d27a87ee"><param name="Name" value="PCAP_ERR_SETSAMPLING"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga2342b31cd1b83713b43e29fc1b8bbe80"><param name="Name" value="PCAP_ERR_STARTCAPTURE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gae12279008dbc82da60f457ae639d9c98"><param name="Name" value="PCAP_ERR_UPDATEFILTER"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gaadf8ebdb03c2852d32084792c32f5014"><param name="Name" value="PCAP_ERR_WRONGMSG"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga27644e4198a710a3fb6763464b4cceb8"><param name="Name" value="PCAP_ERR_WRONGVER"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga8f32f1a7e4afc75d85adee7aa1136e2b"><param name="Name" value="RPCAP_ACTIVE_WAIT"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga652ea27f0736f2ed16eff2f8232be733"><param name="Name" value="RPCAP_DEFAULT_NETADDR"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gadd48856fd036eb39b1374e8722b83970"><param name="Name" value="RPCAP_DEFAULT_NETPORT"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga3faff98b6c9e4560e58beb8ca5d62473"><param name="Name" value="RPCAP_DEFAULT_NETPORT_ACTIVE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga9ca2e46ddec1744b0442e42fc77dbc36"><param name="Name" value="RPCAP_HOSTLIST_SEP"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga558198e22dad94774670d4901069761b"><param name="Name" value="RPCAP_MSG_AUTH_REPLY"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga967ed95127e15aae04df68d128b32dcd"><param name="Name" value="RPCAP_MSG_AUTH_REQ"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gaaca8c569d09dd1c7b2a7cfebe2ed5017"><param name="Name" value="RPCAP_MSG_CLOSE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga2994f9df11cfc2b2dd0e9a9d9ac4f37b"><param name="Name" value="RPCAP_MSG_ENDCAP_REPLY"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gad6554d0a3e2e81d440a216e9ed207c99"><param name="Name" value="RPCAP_MSG_ENDCAP_REQ"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gae794b40128a8f48e8aab742c499e4c5c"><param name="Name" value="RPCAP_MSG_ERROR"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gab60aca69282ead1088a4565d47bdc05e"><param name="Name" value="RPCAP_MSG_FINDALLIF_REPLY"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gac1cca8dabd5af5293a0e41515bc532a5"><param name="Name" value="RPCAP_MSG_FINDALLIF_REQ"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga753597c2ff993d12156d7922116b1835"><param name="Name" value="RPCAP_MSG_OPEN_REPLY"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gac99b71c29a3177c663b099c417d1de91"><param name="Name" value="RPCAP_MSG_OPEN_REQ"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gaaa605dc088c22dd9064a38d16a5199b9"><param name="Name" value="RPCAP_MSG_PACKET"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga59a57a83acc395c5e508dda7b8c33bad"><param name="Name" value="RPCAP_MSG_SETSAMPLING_REPLY"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga2d8c7f1e4361c748ccc051c276f5eaa9"><param name="Name" value="RPCAP_MSG_SETSAMPLING_REQ"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga22dcbe343e2103aef2e9856f93f40167"><param name="Name" value="RPCAP_MSG_STARTCAP_REPLY"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga082b424838496c8cc92dcadf6333b9e1"><param name="Name" value="RPCAP_MSG_STARTCAP_REQ"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga3d52f2b6b3210dcb4f0db7bd8b46138e"><param name="Name" value="RPCAP_MSG_STATS_REPLY"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga29508e4fba57e33978c73997630b8159"><param name="Name" value="RPCAP_MSG_STATS_REQ"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gaeb2561c1c6c9b9c56f4ac14ab70f6c3a"><param name="Name" value="RPCAP_MSG_UPDATEFILTER_REPLY"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga8c77cf6f710b92b3f87257e7d03d6677"><param name="Name" value="RPCAP_MSG_UPDATEFILTER_REQ"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gac094e3209a4b7fc379b034d3dc37acb0"><param name="Name" value="RPCAP_NETBUF_SIZE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga3f87b7e89ed61dc2c9956234399058e8"><param name="Name" value="RPCAP_STARTCAPREQ_FLAG_DGRAM"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gac22aa6103fe1490ab908a26d5c4a7c8a"><param name="Name" value="RPCAP_STARTCAPREQ_FLAG_INBOUND"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga2b29630fe7963da543db242459c74832"><param name="Name" value="RPCAP_STARTCAPREQ_FLAG_OUTBOUND"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga3d0b7b3a3d97ebdd265ab800a004ae8c"><param name="Name" value="RPCAP_STARTCAPREQ_FLAG_PROMISC"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga0c5a71a9b6d5be2662c5a8872cf3032c"><param name="Name" value="RPCAP_STARTCAPREQ_FLAG_SERVEROPEN"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga5bac38979d12b0a8755d70981fb387af"><param name="Name" value="RPCAP_SUSPEND_WRONGAUTH"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gad5f148b0c94a8c6162ee79c33463ac95"><param name="Name" value="RPCAP_TIMEOUT_INIT"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga1d5a54e68e71ec6de7e3d9d1b5dc35bc"><param name="Name" value="RPCAP_TIMEOUT_RUNTIME"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gac93bee6a0991d4334eacd6e451b54240"><param name="Name" value="RPCAP_UPDATEFILTER_BPF"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gadd52d73598f0b006a4634f6f40c85e3e"><param name="Name" value="RPCAP_VERSION"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e"><param name="Name" value="uint16"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e"><param name="Name" value="uint32"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gadde6aaee8457bee49c2a92621fe22b79"><param name="Name" value="uint8"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__samp__methods.html"><param name="Name" value="remote_samp_methods"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__samp__methods.html#ga79bf88faf9851bf82ee30beb302e3b5f"><param name="Name" value="PCAP_SAMP_1_EVERY_N"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__samp__methods.html#ga5a4ae1f017ece5c1d3b44c8a399d130b"><param name="Name" value="PCAP_SAMP_FIRST_AFTER_N_MS"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__samp__methods.html#ga1fc3a70120a1188f5ed4cc2af0ff0671"><param name="Name" value="PCAP_SAMP_NOSAMP"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__source__ID.html"><param name="Name" value="remote_source_ID"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__source__ID.html#ga9188ad0fc0d12fc51d1e9f5e78bf9440"><param name="Name" value="PCAP_SRC_FILE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__source__ID.html#ga00c875af0185ead420787d4eaba6ff71"><param name="Name" value="PCAP_SRC_IFLOCAL"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__source__ID.html#gae5558973e334926f6e7171e3a711e265"><param name="Name" value="PCAP_SRC_IFREMOTE"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__source__string.html"><param name="Name" value="remote_source_string"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__source__string.html#gadb108815eb410ca0ab0b444ff2e56a26"><param name="Name" value="PCAP_SRC_FILE_STRING"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__source__string.html#ga6d7103b8a7e1eca8c325bd8f32c361c3"><param name="Name" value="PCAP_SRC_IF_STRING"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__struct.html"><param name="Name" value="remote_struct"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__struct.html#gacacb155b596f7511f714de129ae32c97"><param name="Name" value="PCAP_BUF_SIZE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__struct.html#gad71cfa3b6dd1dacb2e8d6cef4ae67723"><param name="Name" value="RPCAP_HOSTLIST_SIZE"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__INTERNAL__REQUEST.html#a9d22abed5e537b5a86700c0cae0aeeda"><param name="Name" value="Request"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a805c530d7fa5f6078b9170dc0cd03f5c"><param name="Name" value="RequestList"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a9a6854a154d332159dbcb19e5d104441"><param name="Name" value="Requests"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#abe53f2762ef5451c80b2fcadeff59884"><param name="Name" value="RequestSpinLock"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__INTERNAL__REQUEST.html#a1948690a3012c81acf392ba489b32b60"><param name="Name" value="RequestStatus"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga048ba8dfabc6ac16c602a1ca6fe994fc"><param name="Name" value="RESERVED"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga048ba8dfabc6ac16c602a1ca6fe994fc"><param name="Name" value="NPF_include"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga048ba8dfabc6ac16c602a1ca6fe994fc"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a1836c9a11084bf113d902946c5c41499"><param name="Name" value="ResetIrpList"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gaea5f5503d3239c71deb8366c013d6866"><param name="Name" value="RET"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gaea5f5503d3239c71deb8366c013d6866"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gaea5f5503d3239c71deb8366c013d6866"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga8f32f1a7e4afc75d85adee7aa1136e2b"><param name="Name" value="RPCAP_ACTIVE_WAIT"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga8f32f1a7e4afc75d85adee7aa1136e2b"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga8f32f1a7e4afc75d85adee7aa1136e2b"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__auth.html"><param name="Name" value="rpcap_auth"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__auth.html#a39840d82c8fedd34d8b6d25ae4e374c7"><param name="Name" value="dummy"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__auth.html#a893c04f91ad73ad97125a7b451ad9f79"><param name="Name" value="slen1"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__auth.html#aa8114dce6bebe43b9a350a9716128cd1"><param name="Name" value="slen2"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__auth.html#af9b2e23a8f32ca09cfeb7d828436fb01"><param name="Name" value="type"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#aac91069eff112ab360f3834fa58ff53d"><param name="Name" value="rpcap_checkmsg"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#a16e3637e641d12618e4bef76fa2fcf2e"><param name="Name" value="rpcap_createhdr"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga652ea27f0736f2ed16eff2f8232be733"><param name="Name" value="RPCAP_DEFAULT_NETADDR"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga652ea27f0736f2ed16eff2f8232be733"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga652ea27f0736f2ed16eff2f8232be733"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gadd48856fd036eb39b1374e8722b83970"><param name="Name" value="RPCAP_DEFAULT_NETPORT"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gadd48856fd036eb39b1374e8722b83970"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gadd48856fd036eb39b1374e8722b83970"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga3faff98b6c9e4560e58beb8ca5d62473"><param name="Name" value="RPCAP_DEFAULT_NETPORT_ACTIVE"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga3faff98b6c9e4560e58beb8ca5d62473"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga3faff98b6c9e4560e58beb8ca5d62473"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#a67250f8933f1b6c261e9bd4136c4f2af"><param name="Name" value="rpcap_deseraddr"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__filter.html"><param name="Name" value="rpcap_filter"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__filter.html#a39840d82c8fedd34d8b6d25ae4e374c7"><param name="Name" value="dummy"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__filter.html#a1d9d57b94681191242914430f33b34f0"><param name="Name" value="filtertype"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__filter.html#afa9a77743030f7cbceae9cffa2f8b311"><param name="Name" value="nitems"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__filterbpf__insn.html"><param name="Name" value="rpcap_filterbpf_insn"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__filterbpf__insn.html#a17ec1b1641303c1995e0ca66ae938603"><param name="Name" value="code"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__filterbpf__insn.html#ab2a6ab7330382a0e09a46b17ecbd1f9a"><param name="Name" value="jf"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__filterbpf__insn.html#ad4d266bd45e28984c672e886adb82907"><param name="Name" value="jt"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__filterbpf__insn.html#adf462c7c841cf6945d8552684393efcf"><param name="Name" value="k"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__findalldevs__if.html"><param name="Name" value="rpcap_findalldevs_if"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__findalldevs__if.html#a9fe649a115732c913d126218054a9941"><param name="Name" value="desclen"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__findalldevs__if.html#a39840d82c8fedd34d8b6d25ae4e374c7"><param name="Name" value="dummy"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__findalldevs__if.html#a81a27ce50e78368b0d0de1e8767fd32d"><param name="Name" value="flags"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__findalldevs__if.html#af6e199ccfaf5ab811cc064e09f3153c3"><param name="Name" value="naddr"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__findalldevs__if.html#ab42bca1875d25b6ce19de3ff5309a0bf"><param name="Name" value="namelen"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__findalldevs__ifaddr.html"><param name="Name" value="rpcap_findalldevs_ifaddr"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__findalldevs__ifaddr.html#a7fe4b3f87e7a49d2520a0d26563bb921"><param name="Name" value="addr"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__findalldevs__ifaddr.html#a2689aec0100832e17df8795f1acfdef0"><param name="Name" value="broadaddr"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__findalldevs__ifaddr.html#a907e6142b6f02d26357a18525f2a32c1"><param name="Name" value="dstaddr"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__findalldevs__ifaddr.html#ae65e589cf67e45f6c5b5bd05a068b1dd"><param name="Name" value="netmask"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__header.html"><param name="Name" value="rpcap_header"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__header.html#a9f51ae02e66e202ec26632a2bce78942"><param name="Name" value="plen"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__header.html#a0d5276797b2358f6093607c68006bde8"><param name="Name" value="type"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__header.html#a4dd7e7f197e82dc6db279eed0a5dc820"><param name="Name" value="value"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__header.html#ad284ddbfb04b14b9f8341f4dea79076e"><param name="Name" value="ver"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga9ca2e46ddec1744b0442e42fc77dbc36"><param name="Name" value="RPCAP_HOSTLIST_SEP"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga9ca2e46ddec1744b0442e42fc77dbc36"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga9ca2e46ddec1744b0442e42fc77dbc36"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__struct.html#gad71cfa3b6dd1dacb2e8d6cef4ae67723"><param name="Name" value="RPCAP_HOSTLIST_SIZE"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__struct.html#gad71cfa3b6dd1dacb2e8d6cef4ae67723"><param name="Name" value="remote-ext.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__struct.html#gad71cfa3b6dd1dacb2e8d6cef4ae67723"><param name="Name" value="remote_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga558198e22dad94774670d4901069761b"><param name="Name" value="RPCAP_MSG_AUTH_REPLY"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga558198e22dad94774670d4901069761b"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga558198e22dad94774670d4901069761b"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga967ed95127e15aae04df68d128b32dcd"><param name="Name" value="RPCAP_MSG_AUTH_REQ"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga967ed95127e15aae04df68d128b32dcd"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga967ed95127e15aae04df68d128b32dcd"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gaaca8c569d09dd1c7b2a7cfebe2ed5017"><param name="Name" value="RPCAP_MSG_CLOSE"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gaaca8c569d09dd1c7b2a7cfebe2ed5017"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gaaca8c569d09dd1c7b2a7cfebe2ed5017"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga2994f9df11cfc2b2dd0e9a9d9ac4f37b"><param name="Name" value="RPCAP_MSG_ENDCAP_REPLY"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga2994f9df11cfc2b2dd0e9a9d9ac4f37b"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga2994f9df11cfc2b2dd0e9a9d9ac4f37b"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gad6554d0a3e2e81d440a216e9ed207c99"><param name="Name" value="RPCAP_MSG_ENDCAP_REQ"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gad6554d0a3e2e81d440a216e9ed207c99"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gad6554d0a3e2e81d440a216e9ed207c99"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gae794b40128a8f48e8aab742c499e4c5c"><param name="Name" value="RPCAP_MSG_ERROR"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gae794b40128a8f48e8aab742c499e4c5c"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gae794b40128a8f48e8aab742c499e4c5c"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gab60aca69282ead1088a4565d47bdc05e"><param name="Name" value="RPCAP_MSG_FINDALLIF_REPLY"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gab60aca69282ead1088a4565d47bdc05e"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gab60aca69282ead1088a4565d47bdc05e"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gac1cca8dabd5af5293a0e41515bc532a5"><param name="Name" value="RPCAP_MSG_FINDALLIF_REQ"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gac1cca8dabd5af5293a0e41515bc532a5"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gac1cca8dabd5af5293a0e41515bc532a5"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga753597c2ff993d12156d7922116b1835"><param name="Name" value="RPCAP_MSG_OPEN_REPLY"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga753597c2ff993d12156d7922116b1835"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga753597c2ff993d12156d7922116b1835"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gac99b71c29a3177c663b099c417d1de91"><param name="Name" value="RPCAP_MSG_OPEN_REQ"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gac99b71c29a3177c663b099c417d1de91"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gac99b71c29a3177c663b099c417d1de91"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gaaa605dc088c22dd9064a38d16a5199b9"><param name="Name" value="RPCAP_MSG_PACKET"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gaaa605dc088c22dd9064a38d16a5199b9"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gaaa605dc088c22dd9064a38d16a5199b9"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga59a57a83acc395c5e508dda7b8c33bad"><param name="Name" value="RPCAP_MSG_SETSAMPLING_REPLY"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga59a57a83acc395c5e508dda7b8c33bad"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga59a57a83acc395c5e508dda7b8c33bad"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga2d8c7f1e4361c748ccc051c276f5eaa9"><param name="Name" value="RPCAP_MSG_SETSAMPLING_REQ"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga2d8c7f1e4361c748ccc051c276f5eaa9"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga2d8c7f1e4361c748ccc051c276f5eaa9"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga22dcbe343e2103aef2e9856f93f40167"><param name="Name" value="RPCAP_MSG_STARTCAP_REPLY"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga22dcbe343e2103aef2e9856f93f40167"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga22dcbe343e2103aef2e9856f93f40167"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga082b424838496c8cc92dcadf6333b9e1"><param name="Name" value="RPCAP_MSG_STARTCAP_REQ"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga082b424838496c8cc92dcadf6333b9e1"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga082b424838496c8cc92dcadf6333b9e1"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga3d52f2b6b3210dcb4f0db7bd8b46138e"><param name="Name" value="RPCAP_MSG_STATS_REPLY"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga3d52f2b6b3210dcb4f0db7bd8b46138e"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga3d52f2b6b3210dcb4f0db7bd8b46138e"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga29508e4fba57e33978c73997630b8159"><param name="Name" value="RPCAP_MSG_STATS_REQ"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga29508e4fba57e33978c73997630b8159"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga29508e4fba57e33978c73997630b8159"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gaeb2561c1c6c9b9c56f4ac14ab70f6c3a"><param name="Name" value="RPCAP_MSG_UPDATEFILTER_REPLY"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gaeb2561c1c6c9b9c56f4ac14ab70f6c3a"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gaeb2561c1c6c9b9c56f4ac14ab70f6c3a"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga8c77cf6f710b92b3f87257e7d03d6677"><param name="Name" value="RPCAP_MSG_UPDATEFILTER_REQ"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga8c77cf6f710b92b3f87257e7d03d6677"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga8c77cf6f710b92b3f87257e7d03d6677"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gac094e3209a4b7fc379b034d3dc37acb0"><param name="Name" value="RPCAP_NETBUF_SIZE"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gac094e3209a4b7fc379b034d3dc37acb0"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gac094e3209a4b7fc379b034d3dc37acb0"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__openreply.html"><param name="Name" value="rpcap_openreply"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__openreply.html#a114fd2309d7d5811a05db20605112955"><param name="Name" value="linktype"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__openreply.html#a3d91df4637112c85432c1f3c59b2c5ae"><param name="Name" value="tzoff"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__pkthdr.html"><param name="Name" value="rpcap_pkthdr"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__pkthdr.html#a7219d531cfc6ceb3447db730ffd11794"><param name="Name" value="caplen"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__pkthdr.html#a63941c3a03dc9736f3234bb756d9a305"><param name="Name" value="len"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__pkthdr.html#a18dee93b2d48c10546eb5637ba48405d"><param name="Name" value="npkt"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__pkthdr.html#a0878eda64803556abde60998d96cae36"><param name="Name" value="timestamp_sec"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__pkthdr.html#a590071a7578068cca2e22ab465a8af68"><param name="Name" value="timestamp_usec"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#ae0fb2ae444215e729811d958fea0309e"><param name="Name" value="rpcap_remoteact_getsock"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__auth__methods.html#gacf895bca5fa091307dcfa3a7cb6c8882"><param name="Name" value="RPCAP_RMTAUTH_NULL"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__auth__methods.html#gacf895bca5fa091307dcfa3a7cb6c8882"><param name="Name" value="remote-ext.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__auth__methods.html#gacf895bca5fa091307dcfa3a7cb6c8882"><param name="Name" value="remote_auth_methods"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__auth__methods.html#gab73de990af3daaf44ff88119050634fb"><param name="Name" value="RPCAP_RMTAUTH_PWD"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__auth__methods.html#gab73de990af3daaf44ff88119050634fb"><param name="Name" value="remote-ext.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__auth__methods.html#gab73de990af3daaf44ff88119050634fb"><param name="Name" value="remote_auth_methods"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__sampling.html"><param name="Name" value="rpcap_sampling"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__sampling.html#ac5a9635addc2e517659182ae5b8a6fe6"><param name="Name" value="dummy1"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__sampling.html#a055fd5d9ca450d213ec8d0be4328251a"><param name="Name" value="dummy2"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__sampling.html#aa4da76ff1a3e6459e06e4d39af6bfef2"><param name="Name" value="method"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__sampling.html#a825a6aa3f85d5b289f6e1a3b3a2beb83"><param name="Name" value="value"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#a29144d786cbb343587611df6d4283886"><param name="Name" value="rpcap_sendauth"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="pcap-remote_8h.html#a7e311277cf79afe58e6683f24cd14b65"><param name="Name" value="rpcap_senderror"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__startcapreply.html"><param name="Name" value="rpcap_startcapreply"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__startcapreply.html#a115866b96012076ded74e527b0e082ea"><param name="Name" value="bufsize"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__startcapreply.html#a39840d82c8fedd34d8b6d25ae4e374c7"><param name="Name" value="dummy"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__startcapreply.html#a914e4f42058b208f03d04a65c902bff3"><param name="Name" value="portdata"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__startcapreq.html"><param name="Name" value="rpcap_startcapreq"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__startcapreq.html#ae15f0808741c35cb9a8d231105d8beea"><param name="Name" value="flags"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__startcapreq.html#a914e4f42058b208f03d04a65c902bff3"><param name="Name" value="portdata"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__startcapreq.html#a189e41efb9a00f52c242e0287e341543"><param name="Name" value="read_timeout"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__startcapreq.html#aebbb13cc569d948514d286df698443d2"><param name="Name" value="snaplen"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga3f87b7e89ed61dc2c9956234399058e8"><param name="Name" value="RPCAP_STARTCAPREQ_FLAG_DGRAM"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga3f87b7e89ed61dc2c9956234399058e8"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga3f87b7e89ed61dc2c9956234399058e8"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gac22aa6103fe1490ab908a26d5c4a7c8a"><param name="Name" value="RPCAP_STARTCAPREQ_FLAG_INBOUND"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gac22aa6103fe1490ab908a26d5c4a7c8a"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gac22aa6103fe1490ab908a26d5c4a7c8a"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga2b29630fe7963da543db242459c74832"><param name="Name" value="RPCAP_STARTCAPREQ_FLAG_OUTBOUND"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga2b29630fe7963da543db242459c74832"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga2b29630fe7963da543db242459c74832"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga3d0b7b3a3d97ebdd265ab800a004ae8c"><param name="Name" value="RPCAP_STARTCAPREQ_FLAG_PROMISC"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga3d0b7b3a3d97ebdd265ab800a004ae8c"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga3d0b7b3a3d97ebdd265ab800a004ae8c"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga0c5a71a9b6d5be2662c5a8872cf3032c"><param name="Name" value="RPCAP_STARTCAPREQ_FLAG_SERVEROPEN"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga0c5a71a9b6d5be2662c5a8872cf3032c"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga0c5a71a9b6d5be2662c5a8872cf3032c"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__stats.html"><param name="Name" value="rpcap_stats"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__stats.html#a1be6b9fbf42a7f74578974c611903f7d"><param name="Name" value="ifdrop"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__stats.html#a1d0c9184d7f075a1237db76400b1b503"><param name="Name" value="ifrecv"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__stats.html#a498da3bcc201f4f77714798c5c6b03b5"><param name="Name" value="krnldrop"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__stats.html#a42ea5a69add0a420c6cb2b8961482a76"><param name="Name" value="svrcapt"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga5bac38979d12b0a8755d70981fb387af"><param name="Name" value="RPCAP_SUSPEND_WRONGAUTH"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga5bac38979d12b0a8755d70981fb387af"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga5bac38979d12b0a8755d70981fb387af"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gad5f148b0c94a8c6162ee79c33463ac95"><param name="Name" value="RPCAP_TIMEOUT_INIT"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gad5f148b0c94a8c6162ee79c33463ac95"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gad5f148b0c94a8c6162ee79c33463ac95"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga1d5a54e68e71ec6de7e3d9d1b5dc35bc"><param name="Name" value="RPCAP_TIMEOUT_RUNTIME"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga1d5a54e68e71ec6de7e3d9d1b5dc35bc"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga1d5a54e68e71ec6de7e3d9d1b5dc35bc"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gac93bee6a0991d4334eacd6e451b54240"><param name="Name" value="RPCAP_UPDATEFILTER_BPF"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gac93bee6a0991d4334eacd6e451b54240"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gac93bee6a0991d4334eacd6e451b54240"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gadd52d73598f0b006a4634f6f40c85e3e"><param name="Name" value="RPCAP_VERSION"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gadd52d73598f0b006a4634f6f40c85e3e"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gadd52d73598f0b006a4634f6f40c85e3e"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="rpcapd_8h.html"><param name="Name" value="rpcapd.h"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="rpcapd_8h.html#ae4c3a933a421273aece3c49c311ea51e"><param name="Name" value="main_cleanup"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="rpcapd_8h.html#a0cc389020d1b9211cfd535f6777cf305"><param name="Name" value="main_startup"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="rpcapd_8h.html#ad20af9f33ade406218abf3ba936bdc8d"><param name="Name" value="MAX_ACTIVE_LIST"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="rpcapd_8h.html#aee0706af5319f49fa11db8472e20feaa"><param name="Name" value="MAX_HOST_LIST"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="rpcapd_8h.html#a842ed03f27719bc87666bfd1f75415b8"><param name="Name" value="MAX_LINE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="rpcapd_8h.html#a3b6a35b8be8405a9db72cc5dea97954b"><param name="Name" value="PROGRAM_NAME"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="rpcapd_8h.html#a402c3bd0564ae5f2446b91ec60ef4d09"><param name="Name" value="SOCKET_MAXCONN"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structsf__pkthdr.html"><param name="Name" value="sf_pkthdr"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structsf__pkthdr.html#addde4bcd837b0ac2f4ab6472162c8ec2"><param name="Name" value="caplen"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structsf__pkthdr.html#aacda8195c98d3cc32ebece7b17dac774"><param name="Name" value="len"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structsf__pkthdr.html#a21be78b2818c91cb205885b8a6f5aed8"><param name="Name" value="ts"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gaba18f7228bd4b7775209dca22201f77f"><param name="Name" value="SHL_CLrb"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gaba18f7228bd4b7775209dca22201f77f"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gaba18f7228bd4b7775209dca22201f77f"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga42b8bbc156c89aef4676834480129221"><param name="Name" value="SHLib"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga42b8bbc156c89aef4676834480129221"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga42b8bbc156c89aef4676834480129221"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga2c2cfe760fe83b9577ddcff9b87d8ab5"><param name="Name" value="SHR_CLrb"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga2c2cfe760fe83b9577ddcff9b87d8ab5"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga2c2cfe760fe83b9577ddcff9b87d8ab5"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga5b4c050f10f024995d4b721c1fc6f3d3"><param name="Name" value="SHRib"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga5b4c050f10f024995d4b721c1fc6f3d3"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga5b4c050f10f024995d4b721c1fc6f3d3"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gaa1be7844620ac7bffe73137a180aa044"><param name="Name" value="SI"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gaa1be7844620ac7bffe73137a180aa044"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gaa1be7844620ac7bffe73137a180aa044"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpacket__file__header.html#a5938c470e9e548ad2ac04923725e7721"><param name="Name" value="sigfigs"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpacket__file__header.html#a5938c470e9e548ad2ac04923725e7721"><param name="Name" value="packet_file_header"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__file__header.html#a209ec264363632ccd21b412c93d2881a"><param name="Name" value="pcap_file_header"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a1ce5ea4c97c82145e50d4b5157889a0e"><param name="Name" value="Size"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a445a6029d067430cd761ae692443b573"><param name="Name" value="SkipSentPackets"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__auth.html#a893c04f91ad73ad97125a7b451ad9f79"><param name="Name" value="slen1"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__auth.html#aa8114dce6bebe43b9a350a9716128cd1"><param name="Name" value="slen2"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structPacketHeader.html#afbd4efa90a98223b9ebe18574c057b47"><param name="Name" value="SN"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpacket__file__header.html#a45b189420d67014dba25bd13da85ddae"><param name="Name" value="snaplen"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpacket__file__header.html#a45b189420d67014dba25bd13da85ddae"><param name="Name" value="packet_file_header"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__file__header.html#aa73496b51e5edb630420e4044792c897"><param name="Name" value="pcap_file_header"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__startcapreq.html#aebbb13cc569d948514d286df698443d2"><param name="Name" value="rpcap_startcapreq"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structactivehosts.html#a33939ceefa385f1e6c60f94f2474869d"><param name="Name" value="sockctrl"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structactivehosts.html#a33939ceefa385f1e6c60f94f2474869d"><param name="Name" value="activehosts"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structdaemon__slpars.html#a33939ceefa385f1e6c60f94f2474869d"><param name="Name" value="daemon_slpars"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="rpcapd_8h.html#a402c3bd0564ae5f2446b91ec60ef4d09"><param name="Name" value="SOCKET_MAXCONN"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gaecd69d9a67487cc45c38eb184c50538a"><param name="Name" value="SP"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gaecd69d9a67487cc45c38eb184c50538a"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gaecd69d9a67487cc45c38eb184c50538a"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga99d023823bbf183e389ebac6cd7d9897"><param name="Name" value="SUB_EAXi"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga99d023823bbf183e389ebac6cd7d9897"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga99d023823bbf183e389ebac6cd7d9897"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gaa3a75062cb78c0956f063797cfd4c065"><param name="Name" value="SUBrd"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gaa3a75062cb78c0956f063797cfd4c065"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#gaa3a75062cb78c0956f063797cfd4c065"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="win32-svc_8h.html#ac70f5868df364c34acf38ac3e2262224"><param name="Name" value="svc_start"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__stats.html#a42ea5a69add0a420c6cb2b8961482a76"><param name="Name" value="svrcapt"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga3918dfe9cdec919e2331a472ff76470f"><param name="Name" value="SWAP_AX"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga3918dfe9cdec919e2331a472ff76470f"><param name="Name" value="jitter.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__jitter.html#ga3918dfe9cdec919e2331a472ff76470f"><param name="Name" value="NPF_jitter"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gafedcc0aa0cf5abe7b20c68eefdfcb126"><param name="Name" value="TCPDUMP_MAGIC"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gafedcc0aa0cf5abe7b20c68eefdfcb126"><param name="Name" value="NPF_include"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#gafedcc0aa0cf5abe7b20c68eefdfcb126"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="wpcap__remote_8htm.html#a751ff7ed91d2e43008930137c9fa6925"><param name="Name" value="then"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpacket__file__header.html#ab0f3e0ccc83861eb84cd3da32f01f090"><param name="Name" value="thiszone"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpacket__file__header.html#ab0f3e0ccc83861eb84cd3da32f01f090"><param name="Name" value="packet_file_header"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__file__header.html#ae729a1ba12145c96acbe2bb6310bc7e1"><param name="Name" value="pcap_file_header"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#aa6709070de8443c026e3b86913942c2b"><param name="Name" value="TimeOut"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__pkthdr.html#a0878eda64803556abde60998d96cae36"><param name="Name" value="timestamp_sec"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__pkthdr.html#a590071a7578068cca2e22ab465a8af68"><param name="Name" value="timestamp_usec"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct____CPU__Private__Data.html#acae03ade5065032ceaeef0bd03217b4f"><param name="Name" value="TransferMdl1"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct____CPU__Private__Data.html#a17b59e156d00ef5c76bdfe454c73ca49"><param name="Name" value="TransferMdl2"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga652e6173ee1441712652d74a5533e042"><param name="Name" value="TRANSMIT_PACKETS"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga652e6173ee1441712652d74a5533e042"><param name="Name" value="NPF_include"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__NPF__include.html#ga652e6173ee1441712652d74a5533e042"><param name="Name" value="Packet.h"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a3134a9bd6b67acf8eb8f5fd7a36228d7"><param name="Name" value="TransmitPendingPackets"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__pkthdr.html#a21be78b2818c91cb205885b8a6f5aed8"><param name="Name" value="ts"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__pkthdr.html#a21be78b2818c91cb205885b8a6f5aed8"><param name="Name" value="pcap_pkthdr"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structsf__pkthdr.html#a21be78b2818c91cb205885b8a6f5aed8"><param name="Name" value="sf_pkthdr"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__rmtauth.html#ac765329451135abec74c45e1897abf26"><param name="Name" value="type"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__rmtauth.html#ac765329451135abec74c45e1897abf26"><param name="Name" value="pcap_rmtauth"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__auth.html#af9b2e23a8f32ca09cfeb7d828436fb01"><param name="Name" value="rpcap_auth"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__header.html#a0d5276797b2358f6093607c68006bde8"><param name="Name" value="rpcap_header"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__openreply.html#a3d91df4637112c85432c1f3c59b2c5ae"><param name="Name" value="tzoff"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e"><param name="Name" value="uint16"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e"><param name="Name" value="uint32"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gadde6aaee8457bee49c2a92621fe22b79"><param name="Name" value="uint8"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gadde6aaee8457bee49c2a92621fe22b79"><param name="Name" value="pcap-remote.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__remote__pri__struct.html#gadde6aaee8457bee49c2a92621fe22b79"><param name="Name" value="remote_pri_struct"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__rmtauth.html#a9b20c006bd90a09e1465fb668700e81d"><param name="Name" value="username"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="utils_8h.html"><param name="Name" value="utils.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__samp.html#ac4f474c82e82cbb89ca7c36dd52be0ed"><param name="Name" value="value"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__samp.html#ac4f474c82e82cbb89ca7c36dd52be0ed"><param name="Name" value="pcap_samp"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__header.html#a4dd7e7f197e82dc6db279eed0a5dc820"><param name="Name" value="rpcap_header"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__sampling.html#a825a6aa3f85d5b289f6e1a3b3a2beb83"><param name="Name" value="rpcap_sampling"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structrpcap__header.html#ad284ddbfb04b14b9f8341f4dea79076e"><param name="Name" value="ver"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpacket__file__header.html#a312dffcaa516df104318626fbdc01a77"><param name="Name" value="version_major"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpacket__file__header.html#a312dffcaa516df104318626fbdc01a77"><param name="Name" value="packet_file_header"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__file__header.html#a571fada6e8ffbb02ad47e64f0f721d4a"><param name="Name" value="pcap_file_header"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpacket__file__header.html#a143bc467378ffbd0460662bd8912082b"><param name="Name" value="version_minor"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpacket__file__header.html#a143bc467378ffbd0460662bd8912082b"><param name="Name" value="packet_file_header"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="structpcap__file__header.html#a82971bc0da75fef683f826bd48050307"><param name="Name" value="pcap_file_header"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html"><param name="Name" value="Win32-Extensions.h"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#ac635b6b5d4d6d9958cfb72d44550bd36"><param name="Name" value="AIRPCAP_HANDLE__EAE405F5_0171_9592_B3C2_C19EC426AD34__DEFINED_"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#a7b833a1802fa10b0d550c6eb3e724d75"><param name="Name" value="BPF_EXECUTE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#ae234c1f999720a0167b71235dd9efbd3"><param name="Name" value="BPF_GET_REGISTER_VALUE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#aab18fbabe4f6a84757afb8088827e82f"><param name="Name" value="BPF_INIT"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#a5e77fbb97cf270c27c430722a1e6fa3b"><param name="Name" value="BPF_LOOKUP"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#a5be0e4575ff0738e013bf0f3b76dc7be"><param name="Name" value="BPF_MEM_EX"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#a8b0c82df581e67530cb69b0c737f6d13"><param name="Name" value="BPF_MEM_EX_IMM"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#ae9464818b3ae1e14e27bf7dc2a7d0a55"><param name="Name" value="BPF_MEM_EX_IND"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#abb2e97aac5a34caa5ceb0d8495ca7d8c"><param name="Name" value="BPF_RESET"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#ac6ebbf4ea8c29d48aa9ebe282544f467"><param name="Name" value="BPF_SEPARATION"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#a54a2fb014f7f0ff0dbec7b8c9c319322"><param name="Name" value="BPF_SET_ACTIVE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#a2beb870e2a5cd292a00b8bc243c0ab78"><param name="Name" value="BPF_SET_ACTIVE_READ"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#a60cf9b2aab2c973697939bdc85ff4f2d"><param name="Name" value="BPF_SET_AUTODELETION"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#a53c19e47ce08fe540a1e1323b1d5eb04"><param name="Name" value="BPF_SET_MEMORY"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#afcf6a0cd9b0e14f9456d643888ae958f"><param name="Name" value="BPF_SET_REGISTER_VALUE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#aa2cac9008111e31a231a0183e2af0525"><param name="Name" value="BPF_SET_WORKING"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#ad7d6cc253b9b7d72ff13f80370a52490"><param name="Name" value="BPF_TME"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#a52afa333263879b18b8ef1278e9d9c38"><param name="Name" value="BPF_VALIDATE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#aadfdcc0e37082d8f6b28a43ec9a0bccf"><param name="Name" value="PAirpcapHandle"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#a4c8f8d1b9238c74faa156494a6b98670"><param name="Name" value="pcap_get_airpcap_handle"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#a2c415e9192c7b18a81a02300ae6f2c02"><param name="Name" value="pcap_getevent"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#aedef54159d918b22a7de8e75b8a3ef4d"><param name="Name" value="pcap_live_dump"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#afe8a334f3a7ae2dc7f52e96523da39be"><param name="Name" value="pcap_live_dump_ended"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#ae92f11bfb001c19b2d0fbcd6821d222a"><param name="Name" value="pcap_offline_filter"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#a59f37277a1b82cbf46112f0e97485696"><param name="Name" value="pcap_send_queue"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#ab940e69631b7cc7f2232a69ea02b86d9"><param name="Name" value="pcap_sendqueue_alloc"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#a72624f7a9932cc2124abf661001e0aa4"><param name="Name" value="pcap_sendqueue_destroy"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#a4c57ea320d71dbfe55c5665af9db1297"><param name="Name" value="pcap_sendqueue_queue"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#aa4d55eb047a1cccc0e28397ce04ee097"><param name="Name" value="pcap_sendqueue_transmit"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#a9b68e06df888cb005ddb92117227e0a6"><param name="Name" value="pcap_setuserbuffer"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#a6455abf1f09abfd5493e2e0e914aa612"><param name="Name" value="pcap_start_oem"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="Win32-Extensions_8h.html#a8050f7829956aabd243cc32b3cfabbd6"><param name="Name" value="pcap_stats_ex"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="win32-svc_8h.html"><param name="Name" value="win32-svc.h"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html"><param name="Name" value="wpcap_def"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#ga759c6336c1d9abb462d9248c5ca5c437"><param name="Name" value="bpf_int32"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482"><param name="Name" value="bpf_u_int32"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#gac93c0a6ad1d2a3143b1115bdab3ac04d"><param name="Name" value="MODE_CAPT"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#ga503326906a62e96c147ae6af31fb5659"><param name="Name" value="MODE_STAT"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#gad5c2e491e2ca9d8eefe4217021c99bdc"><param name="Name" value="pcap_addr_t"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#gab8c7858aa3a7e3158d9d58cb113a2ae8"><param name="Name" value="pcap_dumper_t"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#gacd448353957d92c98fccc29e1fc8d927"><param name="Name" value="PCAP_ERRBUF_SIZE"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#ga43a6601bfd438efc02b0ba71c5439647"><param name="Name" value="PCAP_IF_LOOPBACK"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#ga3a6e7cbf8d9752da3add4676c7cd4c58"><param name="Name" value="pcap_if_t"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7"><param name="Name" value="pcap_t"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#gaac031371d41e21ff96e80409e05a7ddb"><param name="Name" value="PCAP_VERSION_MAJOR"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcap__def.html#ga9c200b070c9f626d38184588b16849c2"><param name="Name" value="PCAP_VERSION_MINOR"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="wpcap__remote_8htm.html"><param name="Name" value="wpcap_remote.htm"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="wpcap__remote_8htm.html#a0b27a0048ba88eaf6d523bcc6c6ef00e"><param name="Name" value="case"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="wpcap__remote_8htm.html#a9626e8afe69dfeee0e9d7a2477dedf52"><param name="Name" value="connection"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="wpcap__remote_8htm.html#a258f021c7879aa3b45bdf4d6e922d4f1"><param name="Name" value="Daemon"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="wpcap__remote_8htm.html#a3c46d79c790748a5942fb43baa6b3073"><param name="Name" value="host"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="wpcap__remote_8htm.html#a751ff7ed91d2e43008930137c9fa6925"><param name="Name" value="then"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html"><param name="Name" value="wpcapfunc"></OBJECT>
+ <UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gae0dc50910fabbd375fab8a1352a6cf33"><param name="Name" value="pcap_breakloop"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaa45a5e1a4ba9925bb3586dcbeec78560"><param name="Name" value="pcap_close"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga363bdc6f6b39b4979ddcf15ecb830c5c"><param name="Name" value="pcap_compile"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga8325b202dad14a00609db8372722ae4e"><param name="Name" value="pcap_compile_nopcap"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaa3111e10f930a9772a32a922b26948b0"><param name="Name" value="pcap_createsrcstr"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga64c019f851f7da6892d51cca15f12ace"><param name="Name" value="pcap_datalink"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga440b2f0757acd4804588933324909207"><param name="Name" value="pcap_datalink_name_to_val"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga3f142cd0694b49357e4a73371db71411"><param name="Name" value="pcap_datalink_val_to_description"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gad45c16d494577f1886704af8f31ed442"><param name="Name" value="pcap_datalink_val_to_name"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga60ce104cdf28420d3361cd36d15be44c"><param name="Name" value="pcap_dispatch"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga659439bf5aa3988b5a92d31990fbf437"><param name="Name" value="pcap_dump"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga3897795c1e9fb10571092febae964ef0"><param name="Name" value="pcap_dump_close"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga8dac02f297422ff2ab5983d1e30c58b6"><param name="Name" value="pcap_dump_file"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga90404ae3dcffcd3bbe78f8b187a88984"><param name="Name" value="pcap_dump_flush"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga50de34b8b3298f76c66c82b7ca3f84de"><param name="Name" value="pcap_dump_ftell"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga9506c33d580fdb5e5c288dba0f8a085c"><param name="Name" value="pcap_dump_open"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga4c9f5690b99fb2af1f8904403f7da06b"><param name="Name" value="pcap_file"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d"><param name="Name" value="pcap_findalldevs"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga98f36e62c95c6ad81eaa8b2bbeb8f16e"><param name="Name" value="pcap_findalldevs_ex"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga346b4b0b7fd1cda4abb9a39f767dbeb1"><param name="Name" value="pcap_freealldevs"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga9e0a5aad1a5dc79d85f1edfcebe0ac13"><param name="Name" value="pcap_freecode"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga4c8f8d1b9238c74faa156494a6b98670"><param name="Name" value="pcap_get_airpcap_handle"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga81305cb154e4497e95bbb9b708631a3a"><param name="Name" value="pcap_geterr"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga2c415e9192c7b18a81a02300ae6f2c02"><param name="Name" value="pcap_getevent"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gab25dc0bfe06545b86be4103bf010708e"><param name="Name" value="pcap_getnonblock"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gabcba231c099919ecd9300d7160b19878"><param name="Name" value="pcap_handler"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaba4941e09e5e03ba39841de4b1d5d6a4"><param name="Name" value="pcap_is_swapped"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga2d92cec9ff55906b5b6fb883e4bd72f4"><param name="Name" value="pcap_lib_version"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga64e482360b0ed7d65fce1db23d56b921"><param name="Name" value="pcap_list_datalinks"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaedef54159d918b22a7de8e75b8a3ef4d"><param name="Name" value="pcap_live_dump"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gafe8a334f3a7ae2dc7f52e96523da39be"><param name="Name" value="pcap_live_dump_ended"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaed295fc9fd86434372e8a8316f1270b1"><param name="Name" value="pcap_lookupdev"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaa35276d0fa530c51a455f298fa1ec453"><param name="Name" value="pcap_lookupnet"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga6bcb7c5c59d76ec16b8a699da136b5de"><param name="Name" value="pcap_loop"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga39dfb05149b443cc25b8febc455ca753"><param name="Name" value="pcap_major_version"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gac7a9dd9cd040ee500221cf35dfb49248"><param name="Name" value="pcap_minor_version"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gadf60257f650aaf869671e0a163611fc3"><param name="Name" value="pcap_next"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga439439c2eae61161dc1efb1e03a81133"><param name="Name" value="pcap_next_ex"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gae92f11bfb001c19b2d0fbcd6821d222a"><param name="Name" value="pcap_offline_filter"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791"><param name="Name" value="pcap_open"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga6445eeb76f2757b9fa088b276eea2845"><param name="Name" value="pcap_open_dead"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8"><param name="Name" value="pcap_open_live"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga91078168a13de8848df2b7b83d1f5b69"><param name="Name" value="pcap_open_offline"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga090e0afd3f463b4b60a64c47eddc1ba2"><param name="Name" value="pcap_parsesrcstr"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gac3b6784c6c2623b93b22f6f219bd470e"><param name="Name" value="pcap_perror"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga5495943cc8262db57f726e2a23f837dd"><param name="Name" value="pcap_remoteact_accept"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga7b022e0a67f5ff62fd13df5c688d6d82"><param name="Name" value="pcap_remoteact_cleanup"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga6a84e03497f946d61c440696e57e2c95"><param name="Name" value="pcap_remoteact_close"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga7ee8f666bff537aa457b7c05651cf815"><param name="Name" value="pcap_remoteact_list"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga51dbda0f1ab9da2cfe49d657486d50b2"><param name="Name" value="pcap_sendpacket"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gab940e69631b7cc7f2232a69ea02b86d9"><param name="Name" value="pcap_sendqueue_alloc"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga72624f7a9932cc2124abf661001e0aa4"><param name="Name" value="pcap_sendqueue_destroy"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga4c57ea320d71dbfe55c5665af9db1297"><param name="Name" value="pcap_sendqueue_queue"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaa4d55eb047a1cccc0e28397ce04ee097"><param name="Name" value="pcap_sendqueue_transmit"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga9588b99ac118cf827873d9e941eb6c77"><param name="Name" value="pcap_set_datalink"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga124bde25ccd9e39017ff2abec2dda623"><param name="Name" value="pcap_setbuff"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaf5f9cfe85dad0967ff607e5159b1ba61"><param name="Name" value="pcap_setfilter"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gab14ceacbf1c2f63026416dd73f80dc0d"><param name="Name" value="pcap_setmintocopy"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gaef07ef49d3c75644f3fd34518e2fe720"><param name="Name" value="pcap_setmode"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga3f212141c80b59aad8ac535bb0178275"><param name="Name" value="pcap_setnonblock"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga84c7d55f5b0e7d545b38d6b8e7bde005"><param name="Name" value="pcap_setsampling"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gae5c6e9768e89a6b82f9d720f37e6ab97"><param name="Name" value="pcap_snapshot"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gabbd74d8c3ce1bcbccc76129ac38f4549"><param name="Name" value="pcap_stats"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#ga8050f7829956aabd243cc32b3cfabbd6"><param name="Name" value="pcap_stats_ex"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="group__wpcapfunc.html#gafac2067e8f66f5a5a87f19f5e2b5ad4f"><param name="Name" value="pcap_strerror"></OBJECT>
+ </UL>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a46f6423b318291c7cc6ae32c226b33fd"><param name="Name" value="WriteEvent"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#af854d4eefa0f15302eaccee06e1ef447"><param name="Name" value="WriteInProgress"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#a44ab7ba650b09972a0677958ad0ea4e0"><param name="Name" value="WriteLock"></OBJECT>
+ <LI><OBJECT type="text/sitemap"><param name="Local" value="struct__OPEN__INSTANCE.html#ae58565fec941091aa7164b49121ffe2b"><param name="Name" value="WriterSN"></OBJECT>
+</UL>
+</BODY>
+</HTML>
diff --git a/3rdparty/winpcap/docs/html/index.hhp b/3rdparty/winpcap/docs/html/index.hhp
new file mode 100644
index 00000000000..0ececa2ef2d
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/index.hhp
@@ -0,0 +1,160 @@
+[OPTIONS]
+Compatibility=1.1
+Full-text search=Yes
+Contents file=index.hhc
+Default Window=main
+Default topic=main.html
+Index file=index.hhk
+Language=0x409 English (United States)
+Binary TOC=YES
+Title=WinPcap
+
+[WINDOWS]
+main="WinPcap","index.hhc","index.hhk","main.html","main.html",,,,,0x23520,,0x10387e,,,,,,,,0
+
+[FILES]
+main.html
+pages.html
+daemon_8h_source.html
+fileconf_8h_source.html
+ioctls_8h_source.html
+jitter_8h_source.html
+Packet_8h_source.html
+pcap-remote_8h_source.html
+incs_2pcap_8h_source.html
+funcs_2pcap_8h_source.html
+remote-ext_8h_source.html
+rpcapd_8h_source.html
+utils_8h_source.html
+Win32-Extensions_8h_source.html
+win32-svc_8h_source.html
+wpcap__remote_8htm_source.html
+daemon_8h.html
+doxygen__groups_8txt.html
+fileconf_8h.html
+ioctls_8h.html
+jitter_8h.html
+main_8txt.html
+Packet_8h.html
+pcap-remote_8h.html
+incs_2pcap_8h.html
+funcs_2pcap_8h.html
+remote-ext_8h.html
+rpcapd_8h.html
+utils_8h.html
+Win32-Extensions_8h.html
+win32-svc_8h.html
+wpcap__remote_8htm.html
+wpcap__tut_8txt.html
+wpcap__tut1_8txt.html
+wpcap__tut2_8txt.html
+wpcap__tut3_8txt.html
+wpcap__tut4_8txt.html
+wpcap__tut5_8txt.html
+wpcap__tut6_8txt.html
+wpcap__tut7_8txt.html
+wpcap__tut8_8txt.html
+wpcap__tut9_8txt.html
+deprecated.html
+group__NPF__ioctl.html
+group__NPF__include.html
+group__NPF__code.html
+group__NPF__jitter.html
+group__wpcap__def.html
+group__wpcapfunc.html
+group__wpcap__tut.html
+group__wpcap__tut1.html
+group__wpcap__tut2.html
+group__wpcap__tut3.html
+group__wpcap__tut4.html
+group__wpcap__tut5.html
+group__wpcap__tut6.html
+group__wpcap__tut7.html
+group__wpcap__tut8.html
+group__wpcap__tut9.html
+group__internals.html
+group__NPF.html
+group__compilation.html
+group__packetapi.html
+group__wpcap.html
+group__language.html
+group__wpcapsamps.html
+group__remote.html
+group__remote__struct.html
+group__remotefunc.html
+group__remote__pri__func.html
+group__remote__pri__struct.html
+group__remote__source__string.html
+group__remote__source__ID.html
+group__remote__open__flags.html
+group__remote__samp__methods.html
+group__remote__auth__methods.html
+modules.html
+annotated.html
+classes.html
+functions.html
+functions_vars.html
+struct____CPU__Private__Data.html
+struct__DEVICE__EXTENSION.html
+struct__INTERNAL__REQUEST.html
+struct__OPEN__INSTANCE.html
+struct__PACKET__OID__DATA.html
+struct__PACKET__RESERVED.html
+structactive__pars.html
+structactivehosts.html
+structbinary__stream.html
+structdaemon__slpars.html
+structJIT__BPF__Filter.html
+structpacket__file__header.html
+structPacketHeader.html
+structpcap__addr.html
+structpcap__file__header.html
+structpcap__if.html
+structpcap__pkthdr.html
+structpcap__rmtauth.html
+structpcap__samp.html
+structpcap__send__queue.html
+structpcap__stat.html
+structrpcap__auth.html
+structrpcap__filter.html
+structrpcap__filterbpf__insn.html
+structrpcap__findalldevs__if.html
+structrpcap__findalldevs__ifaddr.html
+structrpcap__header.html
+structrpcap__openreply.html
+structrpcap__pkthdr.html
+structrpcap__sampling.html
+structrpcap__startcapreply.html
+structrpcap__startcapreq.html
+structrpcap__stats.html
+structsf__pkthdr.html
+files.html
+globals.html
+globals_0x62.html
+globals_0x63.html
+globals_0x64.html
+globals_0x65.html
+globals_0x66.html
+globals_0x67.html
+globals_0x68.html
+globals_0x69.html
+globals_0x6a.html
+globals_0x6b.html
+globals_0x6d.html
+globals_0x6e.html
+globals_0x6f.html
+globals_0x70.html
+globals_0x72.html
+globals_0x73.html
+globals_0x74.html
+globals_0x75.html
+globals_func.html
+globals_vars.html
+globals_type.html
+globals_enum.html
+globals_eval.html
+globals_defs.html
+tabs.css
+tab_b.gif
+tab_l.gif
+tab_r.gif
diff --git a/3rdparty/winpcap/docs/html/index.html b/3rdparty/winpcap/docs/html/index.html
new file mode 100644
index 00000000000..c5a530d65b2
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/index.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap</title>
+</head>
+<frameset cols="250,*">
+ <frame src="tree.html" name="treefrm"/>
+ <frame src="main.html" name="basefrm"/>
+ <noframes>
+ <body>
+ <a href="main.html">Frames are disabled. Click here to go to the main page.</a>
+ </body>
+ </noframes>
+</frameset>
+</html>
diff --git a/3rdparty/winpcap/docs/html/internals-arch.gif b/3rdparty/winpcap/docs/html/internals-arch.gif
new file mode 100644
index 00000000000..37b7ea6758d
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/internals-arch.gif
Binary files differ
diff --git a/3rdparty/winpcap/docs/html/ioctls_8h.html b/3rdparty/winpcap/docs/html/ioctls_8h.html
new file mode 100644
index 00000000000..50bd03bd6c4
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/ioctls_8h.html
@@ -0,0 +1,73 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: ioctls.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>ioctls.h File Reference</h1>
+<p><a href="ioctls_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__ioctl.html#ga71817d3a52bf0ec819934a5f688a172c">BIOCSETBUFFERSIZE</a>&nbsp;&nbsp;&nbsp;9592</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IOCTL code: set kernel buffer size. <a href="group__NPF__ioctl.html#ga71817d3a52bf0ec819934a5f688a172c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__ioctl.html#gaf85f500f68404076ac60ffe6e08818da">BIOCSETF</a>&nbsp;&nbsp;&nbsp;9030</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IOCTL code: set packet filtering program. <a href="group__NPF__ioctl.html#gaf85f500f68404076ac60ffe6e08818da"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__ioctl.html#ga8ae8be8faa281644d8be1cda38b826bd">BIOCGSTATS</a>&nbsp;&nbsp;&nbsp;9031</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IOCTL code: get the capture stats. <a href="group__NPF__ioctl.html#ga8ae8be8faa281644d8be1cda38b826bd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__ioctl.html#ga327015c2b2e347212b571d1fa3aa2f54">BIOCSRTIMEOUT</a>&nbsp;&nbsp;&nbsp;7416</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IOCTL code: set the read timeout. <a href="group__NPF__ioctl.html#ga327015c2b2e347212b571d1fa3aa2f54"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__ioctl.html#gad1012b82859d09864d246b1fa99d48d6">BIOCSMODE</a>&nbsp;&nbsp;&nbsp;7412</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IOCTL code: set working mode. <a href="group__NPF__ioctl.html#gad1012b82859d09864d246b1fa99d48d6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__ioctl.html#ga1436997ce2947bbbe22b5400254438a1">BIOCSWRITEREP</a>&nbsp;&nbsp;&nbsp;7413</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IOCTL code: set number of physical repetions of every packet written by the app. <a href="group__NPF__ioctl.html#ga1436997ce2947bbbe22b5400254438a1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__ioctl.html#gaa827e3441e3f84abc7df5e30fcee96d1">BIOCSMINTOCOPY</a>&nbsp;&nbsp;&nbsp;7414</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IOCTL code: set minimum amount of data in the kernel buffer that unlocks a read call. <a href="group__NPF__ioctl.html#gaa827e3441e3f84abc7df5e30fcee96d1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__ioctl.html#gabf9a4779fd5281607510edc8b5d766dd">BIOCSETOID</a>&nbsp;&nbsp;&nbsp;0x80000000</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IOCTL code: set an OID value. <a href="group__NPF__ioctl.html#gabf9a4779fd5281607510edc8b5d766dd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__ioctl.html#ga5a0ab3231052ff323817e288dab2f127">BIOCQUERYOID</a>&nbsp;&nbsp;&nbsp;0x80000004</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IOCTL code: get an OID value. <a href="group__NPF__ioctl.html#ga5a0ab3231052ff323817e288dab2f127"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__ioctl.html#gac8b51f8abae12f57a2ea8e8e4c0cd53c">BIOCSETDUMPFILENAME</a>&nbsp;&nbsp;&nbsp;9029</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IOCTL code: set the name of a the file used by kernel dump mode. <a href="group__NPF__ioctl.html#gac8b51f8abae12f57a2ea8e8e4c0cd53c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__ioctl.html#gadd9e03a96d297a33d7cee4d750c34eff">BIOCGEVNAME</a>&nbsp;&nbsp;&nbsp;7415</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IOCTL code: get the name of the event that the driver signals when some data is present in the buffer. <a href="group__NPF__ioctl.html#gadd9e03a96d297a33d7cee4d750c34eff"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__ioctl.html#gac50830dc08762383dcb203a66e5c853d">BIOCSENDPACKETSNOSYNC</a>&nbsp;&nbsp;&nbsp;9032</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IOCTL code: Send a buffer containing multiple packets to the network, ignoring the timestamps. <a href="group__NPF__ioctl.html#gac50830dc08762383dcb203a66e5c853d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__ioctl.html#gab4d41e91e460bb101ef8ddb622a8e010">BIOCSENDPACKETSSYNC</a>&nbsp;&nbsp;&nbsp;9033</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IOCTL code: Send a buffer containing multiple packets to the network, considering the timestamps. <a href="group__NPF__ioctl.html#gab4d41e91e460bb101ef8ddb622a8e010"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__ioctl.html#ga3205efe3271948f253c4da5abf0e12c6">BIOCSETDUMPLIMITS</a>&nbsp;&nbsp;&nbsp;9034</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IOCTL code: Set the dump file limits. <a href="group__NPF__ioctl.html#ga3205efe3271948f253c4da5abf0e12c6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__ioctl.html#ga874d333aca88363bc6fdcb3e8b1af05b">BIOCISDUMPENDED</a>&nbsp;&nbsp;&nbsp;7411</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IOCTL code: Get the status of the kernel dump process. <a href="group__NPF__ioctl.html#ga874d333aca88363bc6fdcb3e8b1af05b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__ioctl.html#gae02ae71d6fe0bfb4b600f8027dc90ba3">BIOCISETLOBBEH</a>&nbsp;&nbsp;&nbsp;7410</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IOCTL code: set the loopback behavior. <a href="group__NPF__ioctl.html#gae02ae71d6fe0bfb4b600f8027dc90ba3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__ioctl.html#ga31c73f09a27bb38a6040a5841096576a">BIOCSETEVENTHANDLE</a>&nbsp;&nbsp;&nbsp;7920</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This IOCTL passes the read event HANDLE allocated by the user (packet.dll) to kernel level. <a href="group__NPF__ioctl.html#ga31c73f09a27bb38a6040a5841096576a"></a><br/></td></tr>
+</table>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/ioctls_8h_source.html b/3rdparty/winpcap/docs/html/ioctls_8h_source.html
new file mode 100644
index 00000000000..68d2da60c0d
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/ioctls_8h_source.html
@@ -0,0 +1,105 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: ioctls.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+<h1>ioctls.h</h1><a href="ioctls_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (c) 2007 CACE Technologies, Davis (California)</span>
+<a name="l00003"></a>00003 <span class="comment"> * All rights reserved.</span>
+<a name="l00004"></a>00004 <span class="comment"> *</span>
+<a name="l00005"></a>00005 <span class="comment"> * Redistribution and use in source and binary forms, with or without</span>
+<a name="l00006"></a>00006 <span class="comment"> * modification, are permitted provided that the following conditions</span>
+<a name="l00007"></a>00007 <span class="comment"> * are met:</span>
+<a name="l00008"></a>00008 <span class="comment"> *</span>
+<a name="l00009"></a>00009 <span class="comment"> * 1. Redistributions of source code must retain the above copyright</span>
+<a name="l00010"></a>00010 <span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
+<a name="l00011"></a>00011 <span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright</span>
+<a name="l00012"></a>00012 <span class="comment"> * notice, this list of conditions and the following disclaimer in the</span>
+<a name="l00013"></a>00013 <span class="comment"> * documentation and/or other materials provided with the distribution.</span>
+<a name="l00014"></a>00014 <span class="comment"> * 3. Neither the name of CACE Technologies nor the names of its </span>
+<a name="l00015"></a>00015 <span class="comment"> * contributors may be used to endorse or promote products derived from </span>
+<a name="l00016"></a>00016 <span class="comment"> * this software without specific prior written permission.</span>
+<a name="l00017"></a>00017 <span class="comment"> *</span>
+<a name="l00018"></a>00018 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
+<a name="l00019"></a>00019 <span class="comment"> * &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
+<a name="l00020"></a>00020 <span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
+<a name="l00021"></a>00021 <span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
+<a name="l00022"></a>00022 <span class="comment"> * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
+<a name="l00023"></a>00023 <span class="comment"> * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
+<a name="l00024"></a>00024 <span class="comment"> * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
+<a name="l00025"></a>00025 <span class="comment"> * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
+<a name="l00026"></a>00026 <span class="comment"> * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
+<a name="l00027"></a>00027 <span class="comment"> * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
+<a name="l00028"></a>00028 <span class="comment"> * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
+<a name="l00029"></a>00029 <span class="comment"> *</span>
+<a name="l00030"></a>00030 <span class="comment"> */</span>
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="preprocessor">#ifndef __NPF_IOCTLS_H__</span>
+<a name="l00033"></a>00033 <span class="preprocessor"></span><span class="preprocessor">#define __NPF_IOCTLS_H__</span>
+<a name="l00034"></a>00034 <span class="preprocessor"></span>
+<a name="l00035"></a>00035 <span class="comment">/***************************/</span>
+<a name="l00036"></a>00036 <span class="comment">/* IOCTLs */</span>
+<a name="l00037"></a>00037 <span class="comment">/***************************/</span>
+<a name="l00038"></a>00038
+<a name="l00055"></a><a class="code" href="group__NPF__ioctl.html#ga71817d3a52bf0ec819934a5f688a172c">00055</a> <span class="preprocessor">#define BIOCSETBUFFERSIZE 9592</span>
+<a name="l00056"></a>00056 <span class="preprocessor"></span>
+<a name="l00067"></a><a class="code" href="group__NPF__ioctl.html#gaf85f500f68404076ac60ffe6e08818da">00067</a> <span class="preprocessor">#define BIOCSETF 9030</span>
+<a name="l00068"></a>00068 <span class="preprocessor"></span>
+<a name="l00075"></a><a class="code" href="group__NPF__ioctl.html#ga8ae8be8faa281644d8be1cda38b826bd">00075</a> <span class="preprocessor">#define BIOCGSTATS 9031</span>
+<a name="l00076"></a>00076 <span class="preprocessor"></span>
+<a name="l00082"></a><a class="code" href="group__NPF__ioctl.html#ga327015c2b2e347212b571d1fa3aa2f54">00082</a> <span class="preprocessor">#define BIOCSRTIMEOUT 7416</span>
+<a name="l00083"></a>00083 <span class="preprocessor"></span>
+<a name="l00091"></a><a class="code" href="group__NPF__ioctl.html#gad1012b82859d09864d246b1fa99d48d6">00091</a> <span class="preprocessor">#define BIOCSMODE 7412</span>
+<a name="l00092"></a>00092 <span class="preprocessor"></span>
+<a name="l00099"></a><a class="code" href="group__NPF__ioctl.html#ga1436997ce2947bbbe22b5400254438a1">00099</a> <span class="preprocessor">#define BIOCSWRITEREP 7413</span>
+<a name="l00100"></a>00100 <span class="preprocessor"></span>
+<a name="l00106"></a><a class="code" href="group__NPF__ioctl.html#gaa827e3441e3f84abc7df5e30fcee96d1">00106</a> <span class="preprocessor">#define BIOCSMINTOCOPY 7414</span>
+<a name="l00107"></a>00107 <span class="preprocessor"></span>
+<a name="l00113"></a><a class="code" href="group__NPF__ioctl.html#gabf9a4779fd5281607510edc8b5d766dd">00113</a> <span class="preprocessor">#define BIOCSETOID 0x80000000</span>
+<a name="l00114"></a>00114 <span class="preprocessor"></span>
+<a name="l00120"></a><a class="code" href="group__NPF__ioctl.html#ga5a0ab3231052ff323817e288dab2f127">00120</a> <span class="preprocessor">#define BIOCQUERYOID 0x80000004</span>
+<a name="l00121"></a>00121 <span class="preprocessor"></span>
+<a name="l00129"></a><a class="code" href="group__NPF__ioctl.html#gac8b51f8abae12f57a2ea8e8e4c0cd53c">00129</a> <span class="preprocessor">#define BIOCSETDUMPFILENAME 9029</span>
+<a name="l00130"></a>00130 <span class="preprocessor"></span>
+<a name="l00137"></a><a class="code" href="group__NPF__ioctl.html#gadd9e03a96d297a33d7cee4d750c34eff">00137</a> <span class="preprocessor">#define BIOCGEVNAME 7415</span>
+<a name="l00138"></a>00138 <span class="preprocessor"></span>
+<a name="l00146"></a><a class="code" href="group__NPF__ioctl.html#gac50830dc08762383dcb203a66e5c853d">00146</a> <span class="preprocessor">#define BIOCSENDPACKETSNOSYNC 9032</span>
+<a name="l00147"></a>00147 <span class="preprocessor"></span>
+<a name="l00156"></a><a class="code" href="group__NPF__ioctl.html#gab4d41e91e460bb101ef8ddb622a8e010">00156</a> <span class="preprocessor">#define BIOCSENDPACKETSSYNC 9033</span>
+<a name="l00157"></a>00157 <span class="preprocessor"></span>
+<a name="l00164"></a><a class="code" href="group__NPF__ioctl.html#ga3205efe3271948f253c4da5abf0e12c6">00164</a> <span class="preprocessor">#define BIOCSETDUMPLIMITS 9034</span>
+<a name="l00165"></a>00165 <span class="preprocessor"></span>
+<a name="l00172"></a><a class="code" href="group__NPF__ioctl.html#ga874d333aca88363bc6fdcb3e8b1af05b">00172</a> <span class="preprocessor">#define BIOCISDUMPENDED 7411</span>
+<a name="l00173"></a>00173 <span class="preprocessor"></span>
+<a name="l00179"></a><a class="code" href="group__NPF__ioctl.html#gae02ae71d6fe0bfb4b600f8027dc90ba3">00179</a> <span class="preprocessor">#define BIOCISETLOBBEH 7410 </span>
+<a name="l00180"></a>00180 <span class="preprocessor"></span>
+<a name="l00190"></a><a class="code" href="group__NPF__ioctl.html#ga31c73f09a27bb38a6040a5841096576a">00190</a> <span class="preprocessor">#define BIOCSETEVENTHANDLE 7920</span>
+<a name="l00191"></a>00191 <span class="preprocessor"></span>
+<a name="l00203"></a>00203 <span class="preprocessor">#endif //__NPF_IOCTLS_H__</span>
+</pre></div></div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/jitter_8h.html b/3rdparty/winpcap/docs/html/jitter_8h.html
new file mode 100644
index 00000000000..96912af55b0
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/jitter_8h.html
@@ -0,0 +1,160 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: jitter.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>jitter.h File Reference</h1>
+<p><a href="jitter_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbinary__stream.html">binary_stream</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A stream of X86 binary code. <a href="structbinary__stream.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structJIT__BPF__Filter.html">JIT_BPF_Filter</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure describing a x86 filtering program created by the jitter. <a href="structJIT__BPF__Filter.html#_details">More...</a><br/></td></tr>
+<tr><td colspan="2"><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga2fa1397b8142d609008de2e71c83e854">EAX</a>&nbsp;&nbsp;&nbsp;0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gae52163bab922ab29302d224786b8526d">ECX</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga8104635452d33b8536b33b551d98998f">EDX</a>&nbsp;&nbsp;&nbsp;2</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gab115c151477ddd6da5358ddc00071052">EBX</a>&nbsp;&nbsp;&nbsp;3</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga473a7f647ac8d1f222e106f074c43727">ESP</a>&nbsp;&nbsp;&nbsp;4</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga220a1f7741c506d2c73c9d5f0c3ad036">EBP</a>&nbsp;&nbsp;&nbsp;5</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gad4c46ad303098e5253b9216faff99d48">ESI</a>&nbsp;&nbsp;&nbsp;6</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gaebb930ae9eecaa5a8fa94d2ef4f159e0">EDI</a>&nbsp;&nbsp;&nbsp;7</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gaabc40350f8f80c9c718c44dea61e10fe">AX</a>&nbsp;&nbsp;&nbsp;0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga0b4c12a5dc8490a3cff8385334db2d13">CX</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga3bcbb4f56d33efbe2456169e4d94c644">DX</a>&nbsp;&nbsp;&nbsp;2</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga0f37ffb2213a7e5ab25da072e87193ac">BX</a>&nbsp;&nbsp;&nbsp;3</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gaecd69d9a67487cc45c38eb184c50538a">SP</a>&nbsp;&nbsp;&nbsp;4</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga82b271e081de4cfb35eb87b0c13dddba">BP</a>&nbsp;&nbsp;&nbsp;5</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gaa1be7844620ac7bffe73137a180aa044">SI</a>&nbsp;&nbsp;&nbsp;6</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gacabe1ee3d11be6214c678bf4dabda3c9">DI</a>&nbsp;&nbsp;&nbsp;7</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gae56562740b1159ed03061cecec40f609">AL</a>&nbsp;&nbsp;&nbsp;0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga8f4ea5fa21d42f950b5f95a91e9ff227">CL</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga7c70057f4ac04e167029eef16e7bb770">DL</a>&nbsp;&nbsp;&nbsp;2</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gad567ea9864a3046e47ab69cdc050ecfa">BL</a>&nbsp;&nbsp;&nbsp;3</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga6b0eac20fe309e12eec4f204ed2cf789">MOVid</a>(r32, i32)&nbsp;&nbsp;&nbsp;emitm(&amp;stream, 11 &lt;&lt; 4 | 1 &lt;&lt; 3 | r32 &amp; 0x7, 1); emitm(&amp;stream, i32, 4);</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">mov r32,i32 <a href="group__NPF__jitter.html#ga6b0eac20fe309e12eec4f204ed2cf789"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gabe5c6ed0ba1446cc33b33d6c9cc59819">MOVrd</a>(dr32, sr32)&nbsp;&nbsp;&nbsp;emitm(&amp;stream, 8 &lt;&lt; 4 | 3 | 1 &lt;&lt; 3, 1); emitm(&amp;stream, 3 &lt;&lt; 6 | (dr32 &amp; 0x7) &lt;&lt; 3 | sr32 &amp; 0x7, 1);</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">mov dr32,sr32 <a href="group__NPF__jitter.html#gabe5c6ed0ba1446cc33b33d6c9cc59819"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gae6230510e546bf08451c362926e35a5a">MOVodd</a>(dr32, sr32, off)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">mov dr32,sr32[off] <a href="group__NPF__jitter.html#gae6230510e546bf08451c362926e35a5a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga4088a2e95640bad67561e29de7f7559c">MOVobd</a>(dr32, sr32, or32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">mov dr32,sr32[or32] <a href="group__NPF__jitter.html#ga4088a2e95640bad67561e29de7f7559c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gab6d82c4f6d0f83d28f1390363ce6aaf6">MOVobw</a>(dr32, sr32, or32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">mov dr16,sr32[or32] <a href="group__NPF__jitter.html#gab6d82c4f6d0f83d28f1390363ce6aaf6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga737d1a1dbf2cf21569a923c9309d4222">MOVobb</a>(dr8, sr32, or32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">mov dr8,sr32[or32] <a href="group__NPF__jitter.html#ga737d1a1dbf2cf21569a923c9309d4222"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga1dff1655d4ad86048c3d3541b66c1ac7">MOVomd</a>(dr32, or32, sr32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">mov [dr32][or32],sr32 <a href="group__NPF__jitter.html#ga1dff1655d4ad86048c3d3541b66c1ac7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gae23323bfdb114db0bf84e73f69adf3ba">BSWAP</a>(dr32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">bswap dr32 <a href="group__NPF__jitter.html#gae23323bfdb114db0bf84e73f69adf3ba"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga3918dfe9cdec919e2331a472ff76470f">SWAP_AX</a>()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">xchg al,ah <a href="group__NPF__jitter.html#ga3918dfe9cdec919e2331a472ff76470f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gaea36ce6a00fb793cb4fa9046a65e4e32">PUSH</a>(r32)&nbsp;&nbsp;&nbsp;emitm(&amp;stream, 5 &lt;&lt; 4 | 0 &lt;&lt; 3 | r32 &amp; 0x7, 1);</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">push r32 <a href="group__NPF__jitter.html#gaea36ce6a00fb793cb4fa9046a65e4e32"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga6da555dded4ddd3b9b053dd3218dc631">POP</a>(r32)&nbsp;&nbsp;&nbsp;emitm(&amp;stream, 5 &lt;&lt; 4 | 1 &lt;&lt; 3 | r32 &amp; 0x7, 1);</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pop r32 <a href="group__NPF__jitter.html#ga6da555dded4ddd3b9b053dd3218dc631"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gaea5f5503d3239c71deb8366c013d6866">RET</a>()&nbsp;&nbsp;&nbsp;emitm(&amp;stream, 12 &lt;&lt; 4 | 0 &lt;&lt; 3 | 3, 1);</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ret <a href="group__NPF__jitter.html#gaea5f5503d3239c71deb8366c013d6866"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga406c664d3efbbc2d75412722ebec9892">ADDrd</a>(dr32, sr32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">add dr32,sr32 <a href="group__NPF__jitter.html#ga406c664d3efbbc2d75412722ebec9892"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga8a2dc91cd2750ca191cb52ee28c20026">ADD_EAXi</a>(i32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">add eax,i32 <a href="group__NPF__jitter.html#ga8a2dc91cd2750ca191cb52ee28c20026"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga78c9a376702f4d6227d3f4c3fde45f33">ADDid</a>(r32, i32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">add r32,i32 <a href="group__NPF__jitter.html#ga78c9a376702f4d6227d3f4c3fde45f33"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga662520f1b50ce47a5019ece610362a5d">ADDib</a>(r32, i8)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">add r32,i8 <a href="group__NPF__jitter.html#ga662520f1b50ce47a5019ece610362a5d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gaa3a75062cb78c0956f063797cfd4c065">SUBrd</a>(dr32, sr32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">sub dr32,sr32 <a href="group__NPF__jitter.html#gaa3a75062cb78c0956f063797cfd4c065"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga99d023823bbf183e389ebac6cd7d9897">SUB_EAXi</a>(i32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">sub eax,i32 <a href="group__NPF__jitter.html#ga99d023823bbf183e389ebac6cd7d9897"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga6522410ee041327aa6ab223875d84690">MULrd</a>(r32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">mul r32 <a href="group__NPF__jitter.html#ga6522410ee041327aa6ab223875d84690"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gacf243ff85add192cb3105fb7a7911a7d">DIVrd</a>(r32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">div r32 <a href="group__NPF__jitter.html#gacf243ff85add192cb3105fb7a7911a7d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gab3eed598cc38c958c42cf0a861948bbb">ANDib</a>(r8, i8)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">and r8,i8 <a href="group__NPF__jitter.html#gab3eed598cc38c958c42cf0a861948bbb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga95bf0579f50e1b94e217b31e2016fa62">ANDid</a>(r32, i32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">and r32,i32 <a href="group__NPF__jitter.html#ga95bf0579f50e1b94e217b31e2016fa62"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga7828add99946b35b9e718a0f23ec7e65">ANDrd</a>(dr32, sr32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">and dr32,sr32 <a href="group__NPF__jitter.html#ga7828add99946b35b9e718a0f23ec7e65"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga15317b93f1d8d9cf088bc9f91ace844b">ORrd</a>(dr32, sr32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">or dr32,sr32 <a href="group__NPF__jitter.html#ga15317b93f1d8d9cf088bc9f91ace844b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gad16914336faf4604944facbd4c20d942">ORid</a>(r32, i32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">or r32,i32 <a href="group__NPF__jitter.html#gad16914336faf4604944facbd4c20d942"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga42b8bbc156c89aef4676834480129221">SHLib</a>(r32, i8)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">shl r32,i8 <a href="group__NPF__jitter.html#ga42b8bbc156c89aef4676834480129221"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gaba18f7228bd4b7775209dca22201f77f">SHL_CLrb</a>(dr32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">shl dr32,cl <a href="group__NPF__jitter.html#gaba18f7228bd4b7775209dca22201f77f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga5b4c050f10f024995d4b721c1fc6f3d3">SHRib</a>(r32, i8)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">shr r32,i8 <a href="group__NPF__jitter.html#ga5b4c050f10f024995d4b721c1fc6f3d3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga2c2cfe760fe83b9577ddcff9b87d8ab5">SHR_CLrb</a>(dr32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">shr dr32,cl <a href="group__NPF__jitter.html#ga2c2cfe760fe83b9577ddcff9b87d8ab5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga032ba5ad2d179d6d8d1fe24457126621">NEGd</a>(r32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">neg r32 <a href="group__NPF__jitter.html#ga032ba5ad2d179d6d8d1fe24457126621"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gafaea7a7a2968bf20db43abae63b865fa">CMPodd</a>(dr32, sr32, off)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">cmp dr32,sr32[off] <a href="group__NPF__jitter.html#gafaea7a7a2968bf20db43abae63b865fa"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gad2db4a7b20890227d0dfeccae16710e6">CMPrd</a>(dr32, sr32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">cmp dr32,sr32 <a href="group__NPF__jitter.html#gad2db4a7b20890227d0dfeccae16710e6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga8bf965a6a78db5894fbee77707652516">CMPid</a>(dr32, i32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">cmp dr32,i32 <a href="group__NPF__jitter.html#ga8bf965a6a78db5894fbee77707652516"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga2f57f0e5ef7e33157d7a7983be7a85ef">JNEb</a>(off8)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">jne off32 <a href="group__NPF__jitter.html#ga2f57f0e5ef7e33157d7a7983be7a85ef"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga3ad47796cfcb6867e44b0f82c8906bee">JE</a>(off32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">je off32 <a href="group__NPF__jitter.html#ga3ad47796cfcb6867e44b0f82c8906bee"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga406f0ee4d13f16d867e48bae8c9ffba7">JLE</a>(off32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">jle off32 <a href="group__NPF__jitter.html#ga406f0ee4d13f16d867e48bae8c9ffba7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga0987b591887a2ea41c2ba108729f30cb">JLEb</a>(off8)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">jle off8 <a href="group__NPF__jitter.html#ga0987b591887a2ea41c2ba108729f30cb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga714569f0abf518185dab9bbc44f61e26">JA</a>(off32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ja off32 <a href="group__NPF__jitter.html#ga714569f0abf518185dab9bbc44f61e26"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gafa60b85ba5e6d1180f7fb7c1843413d5">JAE</a>(off32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">jae off32 <a href="group__NPF__jitter.html#gafa60b85ba5e6d1180f7fb7c1843413d5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#gab7aa640b19ad1d6e32833b40ee963407">JG</a>(off32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">jg off32 <a href="group__NPF__jitter.html#gab7aa640b19ad1d6e32833b40ee963407"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga0b03c2a76f68eb3698320a001a5f5eae">JGE</a>(off32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">jge off32 <a href="group__NPF__jitter.html#ga0b03c2a76f68eb3698320a001a5f5eae"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga76425614ab26cca1839d7378c0fd1c55">JMP</a>(off32)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">jmp off32 <a href="group__NPF__jitter.html#ga76425614ab26cca1839d7378c0fd1c55"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef UINT(__cdecl *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga55e96d93d223cecaa3c69437c1603c29">BPF_filter_function</a> )(PVOID *, ULONG, UINT)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prototype of a filtering function created by the jitter. <a href="group__NPF__jitter.html#ga55e96d93d223cecaa3c69437c1603c29"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__jitter.html#ga9b8427d5c2ee2075f766226a6e53bfad">emit_func</a> )(<a class="el" href="structbinary__stream.html">binary_stream</a> *stream, ULONG value, UINT n)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prototype of the emit functions. <a href="group__NPF__jitter.html#ga9b8427d5c2ee2075f766226a6e53bfad"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structJIT__BPF__Filter.html">JIT_BPF_Filter</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gab95019314e0cce415388272574f85ed7">BPF_jitter</a> (struct bpf_insn *fp, INT nins)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">BPF jitter, builds an x86 function from a BPF program. <a href="group__NPF__code.html#gab95019314e0cce415388272574f85ed7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__NPF__jitter.html#ga55e96d93d223cecaa3c69437c1603c29">BPF_filter_function</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gaac4070271462268d182b0dbdbfcb1a88">BPFtoX86</a> (struct bpf_insn *ins, UINT nins, INT *mem)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Translates a set of BPF instructions in a set of x86 ones. <a href="group__NPF__code.html#gaac4070271462268d182b0dbdbfcb1a88"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ga8d441782c2295f2f71d32727dd3f28a0">BPF_Destroy_JIT_Filter</a> (<a class="el" href="structJIT__BPF__Filter.html">JIT_BPF_Filter</a> *Filter)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deletes a filtering function that was previously created by <a class="el" href="group__NPF__code.html#gab95019314e0cce415388272574f85ed7" title="BPF jitter, builds an x86 function from a BPF program.">BPF_jitter()</a>. <a href="group__NPF__code.html#ga8d441782c2295f2f71d32727dd3f28a0"></a><br/></td></tr>
+</table>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/jitter_8h_source.html b/3rdparty/winpcap/docs/html/jitter_8h_source.html
new file mode 100644
index 00000000000..6a968aec21f
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/jitter_8h_source.html
@@ -0,0 +1,321 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: jitter.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+<h1>jitter.h</h1><a href="jitter_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (c) 2002 - 2005 NetGroup, Politecnico di Torino (Italy)</span>
+<a name="l00003"></a>00003 <span class="comment"> * Copyright (c) 2005 - 2007 CACE Technologies, Davis (California)</span>
+<a name="l00004"></a>00004 <span class="comment"> * All rights reserved.</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * Redistribution and use in source and binary forms, with or without</span>
+<a name="l00007"></a>00007 <span class="comment"> * modification, are permitted provided that the following conditions</span>
+<a name="l00008"></a>00008 <span class="comment"> * are met:</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * 1. Redistributions of source code must retain the above copyright</span>
+<a name="l00011"></a>00011 <span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
+<a name="l00012"></a>00012 <span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright</span>
+<a name="l00013"></a>00013 <span class="comment"> * notice, this list of conditions and the following disclaimer in the</span>
+<a name="l00014"></a>00014 <span class="comment"> * documentation and/or other materials provided with the distribution.</span>
+<a name="l00015"></a>00015 <span class="comment"> * 3. Neither the name of the Politecnico di Torino, CACE Technologies </span>
+<a name="l00016"></a>00016 <span class="comment"> * nor the names of its contributors may be used to endorse or promote </span>
+<a name="l00017"></a>00017 <span class="comment"> * products derived from this software without specific prior written </span>
+<a name="l00018"></a>00018 <span class="comment"> * permission.</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
+<a name="l00021"></a>00021 <span class="comment"> * &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
+<a name="l00022"></a>00022 <span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
+<a name="l00023"></a>00023 <span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
+<a name="l00024"></a>00024 <span class="comment"> * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
+<a name="l00025"></a>00025 <span class="comment"> * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
+<a name="l00026"></a>00026 <span class="comment"> * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
+<a name="l00027"></a>00027 <span class="comment"> * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
+<a name="l00028"></a>00028 <span class="comment"> * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
+<a name="l00029"></a>00029 <span class="comment"> * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
+<a name="l00030"></a>00030 <span class="comment"> * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
+<a name="l00031"></a>00031 <span class="comment"> *</span>
+<a name="l00032"></a>00032 <span class="comment"> */</span>
+<a name="l00033"></a>00033
+<a name="l00042"></a>00042 <span class="comment">//</span>
+<a name="l00043"></a>00043 <span class="comment">// Registers</span>
+<a name="l00044"></a>00044 <span class="comment">//</span>
+<a name="l00045"></a><a class="code" href="group__NPF__jitter.html#ga2fa1397b8142d609008de2e71c83e854">00045</a> <span class="preprocessor">#define EAX 0</span>
+<a name="l00046"></a><a class="code" href="group__NPF__jitter.html#gae52163bab922ab29302d224786b8526d">00046</a> <span class="preprocessor"></span><span class="preprocessor">#define ECX 1</span>
+<a name="l00047"></a><a class="code" href="group__NPF__jitter.html#ga8104635452d33b8536b33b551d98998f">00047</a> <span class="preprocessor"></span><span class="preprocessor">#define EDX 2</span>
+<a name="l00048"></a><a class="code" href="group__NPF__jitter.html#gab115c151477ddd6da5358ddc00071052">00048</a> <span class="preprocessor"></span><span class="preprocessor">#define EBX 3</span>
+<a name="l00049"></a><a class="code" href="group__NPF__jitter.html#ga473a7f647ac8d1f222e106f074c43727">00049</a> <span class="preprocessor"></span><span class="preprocessor">#define ESP 4</span>
+<a name="l00050"></a><a class="code" href="group__NPF__jitter.html#ga220a1f7741c506d2c73c9d5f0c3ad036">00050</a> <span class="preprocessor"></span><span class="preprocessor">#define EBP 5</span>
+<a name="l00051"></a><a class="code" href="group__NPF__jitter.html#gad4c46ad303098e5253b9216faff99d48">00051</a> <span class="preprocessor"></span><span class="preprocessor">#define ESI 6</span>
+<a name="l00052"></a><a class="code" href="group__NPF__jitter.html#gaebb930ae9eecaa5a8fa94d2ef4f159e0">00052</a> <span class="preprocessor"></span><span class="preprocessor">#define EDI 7</span>
+<a name="l00053"></a>00053 <span class="preprocessor"></span>
+<a name="l00054"></a><a class="code" href="group__NPF__jitter.html#gaabc40350f8f80c9c718c44dea61e10fe">00054</a> <span class="preprocessor">#define AX 0</span>
+<a name="l00055"></a><a class="code" href="group__NPF__jitter.html#ga0b4c12a5dc8490a3cff8385334db2d13">00055</a> <span class="preprocessor"></span><span class="preprocessor">#define CX 1</span>
+<a name="l00056"></a><a class="code" href="group__NPF__jitter.html#ga3bcbb4f56d33efbe2456169e4d94c644">00056</a> <span class="preprocessor"></span><span class="preprocessor">#define DX 2</span>
+<a name="l00057"></a><a class="code" href="group__NPF__jitter.html#ga0f37ffb2213a7e5ab25da072e87193ac">00057</a> <span class="preprocessor"></span><span class="preprocessor">#define BX 3</span>
+<a name="l00058"></a><a class="code" href="group__NPF__jitter.html#gaecd69d9a67487cc45c38eb184c50538a">00058</a> <span class="preprocessor"></span><span class="preprocessor">#define SP 4</span>
+<a name="l00059"></a><a class="code" href="group__NPF__jitter.html#ga82b271e081de4cfb35eb87b0c13dddba">00059</a> <span class="preprocessor"></span><span class="preprocessor">#define BP 5</span>
+<a name="l00060"></a><a class="code" href="group__NPF__jitter.html#gaa1be7844620ac7bffe73137a180aa044">00060</a> <span class="preprocessor"></span><span class="preprocessor">#define SI 6</span>
+<a name="l00061"></a><a class="code" href="group__NPF__jitter.html#gacabe1ee3d11be6214c678bf4dabda3c9">00061</a> <span class="preprocessor"></span><span class="preprocessor">#define DI 7</span>
+<a name="l00062"></a>00062 <span class="preprocessor"></span>
+<a name="l00063"></a><a class="code" href="group__NPF__jitter.html#gae56562740b1159ed03061cecec40f609">00063</a> <span class="preprocessor">#define AL 0</span>
+<a name="l00064"></a><a class="code" href="group__NPF__jitter.html#ga8f4ea5fa21d42f950b5f95a91e9ff227">00064</a> <span class="preprocessor"></span><span class="preprocessor">#define CL 1</span>
+<a name="l00065"></a><a class="code" href="group__NPF__jitter.html#ga7c70057f4ac04e167029eef16e7bb770">00065</a> <span class="preprocessor"></span><span class="preprocessor">#define DL 2</span>
+<a name="l00066"></a><a class="code" href="group__NPF__jitter.html#gad567ea9864a3046e47ab69cdc050ecfa">00066</a> <span class="preprocessor"></span><span class="preprocessor">#define BL 3</span>
+<a name="l00067"></a>00067 <span class="preprocessor"></span>
+<a name="l00069"></a><a class="code" href="structbinary__stream.html">00069</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structbinary__stream.html" title="A stream of X86 binary code.">binary_stream</a>{
+<a name="l00070"></a><a class="code" href="structbinary__stream.html#a50441f9758f33af17338ad5287c77eba">00070</a> INT <a class="code" href="structbinary__stream.html#a50441f9758f33af17338ad5287c77eba" title="Current X86 instruction pointer.">cur_ip</a>;
+<a name="l00071"></a><a class="code" href="structbinary__stream.html#aac2aa0c781c5af722cd3b1bbf843349e">00071</a> INT <a class="code" href="structbinary__stream.html#aac2aa0c781c5af722cd3b1bbf843349e" title="Current BPF instruction pointer, i.e. position in the BPF program reached by the...">bpf_pc</a>;
+<a name="l00072"></a><a class="code" href="structbinary__stream.html#abb3db7b09fbe9ae9c56d7ee080669cca">00072</a> PCHAR <a class="code" href="structbinary__stream.html#abb3db7b09fbe9ae9c56d7ee080669cca" title="Instruction buffer, contains the X86 generated code.">ibuf</a>;
+<a name="l00073"></a><a class="code" href="structbinary__stream.html#a479a793a3937e38fd40e0bb6edfbfe5e">00073</a> PUINT <a class="code" href="structbinary__stream.html#a479a793a3937e38fd40e0bb6edfbfe5e" title="Jumps reference table.">refs</a>;
+<a name="l00074"></a>00074 }<a class="code" href="structbinary__stream.html" title="A stream of X86 binary code.">binary_stream</a>;
+<a name="l00075"></a>00075
+<a name="l00076"></a>00076
+<a name="l00082"></a><a class="code" href="group__NPF__jitter.html#ga55e96d93d223cecaa3c69437c1603c29">00082</a> <span class="keyword">typedef</span> UINT (__cdecl *<a class="code" href="group__NPF__jitter.html#ga55e96d93d223cecaa3c69437c1603c29" title="Prototype of a filtering function created by the jitter.">BPF_filter_function</a>)( PVOID *, ULONG, UINT);
+<a name="l00083"></a>00083
+<a name="l00092"></a><a class="code" href="group__NPF__jitter.html#ga9b8427d5c2ee2075f766226a6e53bfad">00092</a> <span class="keyword">typedef</span> void (*<a class="code" href="group__NPF__jitter.html#ga9b8427d5c2ee2075f766226a6e53bfad" title="Prototype of the emit functions.">emit_func</a>)(<a class="code" href="structbinary__stream.html" title="A stream of X86 binary code.">binary_stream</a> *stream, ULONG value, UINT n);
+<a name="l00093"></a>00093
+<a name="l00095"></a><a class="code" href="structJIT__BPF__Filter.html">00095</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structJIT__BPF__Filter.html" title="Structure describing a x86 filtering program created by the jitter.">JIT_BPF_Filter</a>{
+<a name="l00096"></a><a class="code" href="structJIT__BPF__Filter.html#a2c70f0e9fd23c617d13b2dc57bb32162">00096</a> <a class="code" href="group__NPF__jitter.html#ga55e96d93d223cecaa3c69437c1603c29" title="Prototype of a filtering function created by the jitter.">BPF_filter_function</a> <a class="code" href="structJIT__BPF__Filter.html#a2c70f0e9fd23c617d13b2dc57bb32162" title="The x86 filtering binary, in the form of a BPF_filter_function.">Function</a>;
+<a name="l00097"></a><a class="code" href="structJIT__BPF__Filter.html#aeb16cd6e768dbea45530de3d0fc83e51">00097</a> PINT <a class="code" href="structJIT__BPF__Filter.html#aeb16cd6e768dbea45530de3d0fc83e51">mem</a>;
+<a name="l00098"></a>00098 }
+<a name="l00099"></a>00099 <a class="code" href="structJIT__BPF__Filter.html" title="Structure describing a x86 filtering program created by the jitter.">JIT_BPF_Filter</a>;
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103
+<a name="l00104"></a>00104 <span class="comment">/**************************/</span>
+<a name="l00105"></a>00105 <span class="comment">/* X86 INSTRUCTION MACROS */</span>
+<a name="l00106"></a>00106 <span class="comment">/**************************/</span>
+<a name="l00107"></a>00107
+<a name="l00109"></a><a class="code" href="group__NPF__jitter.html#ga6b0eac20fe309e12eec4f204ed2cf789">00109</a> <span class="preprocessor">#define MOVid(r32, i32) \</span>
+<a name="l00110"></a>00110 <span class="preprocessor"> emitm(&amp;stream, 11 &lt;&lt; 4 | 1 &lt;&lt; 3 | r32 &amp; 0x7, 1); emitm(&amp;stream, i32, 4);</span>
+<a name="l00111"></a>00111 <span class="preprocessor"></span>
+<a name="l00113"></a><a class="code" href="group__NPF__jitter.html#gabe5c6ed0ba1446cc33b33d6c9cc59819">00113</a> <span class="preprocessor">#define MOVrd(dr32, sr32) \</span>
+<a name="l00114"></a>00114 <span class="preprocessor"> emitm(&amp;stream, 8 &lt;&lt; 4 | 3 | 1 &lt;&lt; 3, 1); emitm(&amp;stream, 3 &lt;&lt; 6 | (dr32 &amp; 0x7) &lt;&lt; 3 | sr32 &amp; 0x7, 1);</span>
+<a name="l00115"></a>00115 <span class="preprocessor"></span>
+<a name="l00117"></a><a class="code" href="group__NPF__jitter.html#gae6230510e546bf08451c362926e35a5a">00117</a> <span class="preprocessor">#define MOVodd(dr32, sr32, off) \</span>
+<a name="l00118"></a>00118 <span class="preprocessor"> emitm(&amp;stream, 8 &lt;&lt; 4 | 3 | 1 &lt;&lt; 3, 1); \</span>
+<a name="l00119"></a>00119 <span class="preprocessor"> emitm(&amp;stream, 1 &lt;&lt; 6 | (dr32 &amp; 0x7) &lt;&lt; 3 | sr32 &amp; 0x7, 1);\</span>
+<a name="l00120"></a>00120 <span class="preprocessor"> emitm(&amp;stream, off, 1);</span>
+<a name="l00121"></a>00121 <span class="preprocessor"></span>
+<a name="l00123"></a><a class="code" href="group__NPF__jitter.html#ga4088a2e95640bad67561e29de7f7559c">00123</a> <span class="preprocessor">#define MOVobd(dr32, sr32, or32) \</span>
+<a name="l00124"></a>00124 <span class="preprocessor"> emitm(&amp;stream, 8 &lt;&lt; 4 | 3 | 1 &lt;&lt; 3, 1); \</span>
+<a name="l00125"></a>00125 <span class="preprocessor"> emitm(&amp;stream, (dr32 &amp; 0x7) &lt;&lt; 3 | 4 , 1);\</span>
+<a name="l00126"></a>00126 <span class="preprocessor"> emitm(&amp;stream, (or32 &amp; 0x7) &lt;&lt; 3 | (sr32 &amp; 0x7) , 1);</span>
+<a name="l00127"></a>00127 <span class="preprocessor"></span>
+<a name="l00129"></a><a class="code" href="group__NPF__jitter.html#gab6d82c4f6d0f83d28f1390363ce6aaf6">00129</a> <span class="preprocessor">#define MOVobw(dr32, sr32, or32) \</span>
+<a name="l00130"></a>00130 <span class="preprocessor"> emitm(&amp;stream, 0x66, 1); \</span>
+<a name="l00131"></a>00131 <span class="preprocessor"> emitm(&amp;stream, 8 &lt;&lt; 4 | 3 | 1 &lt;&lt; 3, 1); \</span>
+<a name="l00132"></a>00132 <span class="preprocessor"> emitm(&amp;stream, (dr32 &amp; 0x7) &lt;&lt; 3 | 4 , 1);\</span>
+<a name="l00133"></a>00133 <span class="preprocessor"> emitm(&amp;stream, (or32 &amp; 0x7) &lt;&lt; 3 | (sr32 &amp; 0x7) , 1);</span>
+<a name="l00134"></a>00134 <span class="preprocessor"></span>
+<a name="l00136"></a><a class="code" href="group__NPF__jitter.html#ga737d1a1dbf2cf21569a923c9309d4222">00136</a> <span class="preprocessor">#define MOVobb(dr8, sr32, or32) \</span>
+<a name="l00137"></a>00137 <span class="preprocessor"> emitm(&amp;stream, 0x8a, 1); \</span>
+<a name="l00138"></a>00138 <span class="preprocessor"> emitm(&amp;stream, (dr8 &amp; 0x7) &lt;&lt; 3 | 4 , 1);\</span>
+<a name="l00139"></a>00139 <span class="preprocessor"> emitm(&amp;stream, (or32 &amp; 0x7) &lt;&lt; 3 | (sr32 &amp; 0x7) , 1);</span>
+<a name="l00140"></a>00140 <span class="preprocessor"></span>
+<a name="l00142"></a><a class="code" href="group__NPF__jitter.html#ga1dff1655d4ad86048c3d3541b66c1ac7">00142</a> <span class="preprocessor">#define MOVomd(dr32, or32, sr32) \</span>
+<a name="l00143"></a>00143 <span class="preprocessor"> emitm(&amp;stream, 0x89, 1); \</span>
+<a name="l00144"></a>00144 <span class="preprocessor"> emitm(&amp;stream, (sr32 &amp; 0x7) &lt;&lt; 3 | 4 , 1);\</span>
+<a name="l00145"></a>00145 <span class="preprocessor"> emitm(&amp;stream, (or32 &amp; 0x7) &lt;&lt; 3 | (dr32 &amp; 0x7) , 1);</span>
+<a name="l00146"></a>00146 <span class="preprocessor"></span>
+<a name="l00148"></a><a class="code" href="group__NPF__jitter.html#gae23323bfdb114db0bf84e73f69adf3ba">00148</a> <span class="preprocessor">#define BSWAP(dr32) \</span>
+<a name="l00149"></a>00149 <span class="preprocessor"> emitm(&amp;stream, 0xf, 1); \</span>
+<a name="l00150"></a>00150 <span class="preprocessor"> emitm(&amp;stream, 0x19 &lt;&lt; 3 | dr32 , 1);</span>
+<a name="l00151"></a>00151 <span class="preprocessor"></span>
+<a name="l00153"></a><a class="code" href="group__NPF__jitter.html#ga3918dfe9cdec919e2331a472ff76470f">00153</a> <span class="preprocessor">#define SWAP_AX() \</span>
+<a name="l00154"></a>00154 <span class="preprocessor"> emitm(&amp;stream, 0x86, 1); \</span>
+<a name="l00155"></a>00155 <span class="preprocessor"> emitm(&amp;stream, 0xc4 , 1);</span>
+<a name="l00156"></a>00156 <span class="preprocessor"></span>
+<a name="l00158"></a><a class="code" href="group__NPF__jitter.html#gaea36ce6a00fb793cb4fa9046a65e4e32">00158</a> <span class="preprocessor">#define PUSH(r32) \</span>
+<a name="l00159"></a>00159 <span class="preprocessor"> emitm(&amp;stream, 5 &lt;&lt; 4 | 0 &lt;&lt; 3 | r32 &amp; 0x7, 1);</span>
+<a name="l00160"></a>00160 <span class="preprocessor"></span>
+<a name="l00162"></a><a class="code" href="group__NPF__jitter.html#ga6da555dded4ddd3b9b053dd3218dc631">00162</a> <span class="preprocessor">#define POP(r32) \</span>
+<a name="l00163"></a>00163 <span class="preprocessor"> emitm(&amp;stream, 5 &lt;&lt; 4 | 1 &lt;&lt; 3 | r32 &amp; 0x7, 1);</span>
+<a name="l00164"></a>00164 <span class="preprocessor"></span>
+<a name="l00166"></a><a class="code" href="group__NPF__jitter.html#gaea5f5503d3239c71deb8366c013d6866">00166</a> <span class="preprocessor">#define RET() \</span>
+<a name="l00167"></a>00167 <span class="preprocessor"> emitm(&amp;stream, 12 &lt;&lt; 4 | 0 &lt;&lt; 3 | 3, 1);</span>
+<a name="l00168"></a>00168 <span class="preprocessor"></span>
+<a name="l00170"></a><a class="code" href="group__NPF__jitter.html#ga406c664d3efbbc2d75412722ebec9892">00170</a> <span class="preprocessor">#define ADDrd(dr32, sr32) \</span>
+<a name="l00171"></a>00171 <span class="preprocessor"> emitm(&amp;stream, 0x03, 1);\</span>
+<a name="l00172"></a>00172 <span class="preprocessor"> emitm(&amp;stream, 3 &lt;&lt; 6 | (dr32 &amp; 0x7) &lt;&lt; 3 | (sr32 &amp; 0x7), 1);</span>
+<a name="l00173"></a>00173 <span class="preprocessor"></span>
+<a name="l00175"></a><a class="code" href="group__NPF__jitter.html#ga8a2dc91cd2750ca191cb52ee28c20026">00175</a> <span class="preprocessor">#define ADD_EAXi(i32) \</span>
+<a name="l00176"></a>00176 <span class="preprocessor"> emitm(&amp;stream, 0x05, 1);\</span>
+<a name="l00177"></a>00177 <span class="preprocessor"> emitm(&amp;stream, i32, 4);</span>
+<a name="l00178"></a>00178 <span class="preprocessor"></span>
+<a name="l00180"></a><a class="code" href="group__NPF__jitter.html#ga78c9a376702f4d6227d3f4c3fde45f33">00180</a> <span class="preprocessor">#define ADDid(r32, i32) \</span>
+<a name="l00181"></a>00181 <span class="preprocessor"> emitm(&amp;stream, 0x81, 1);\</span>
+<a name="l00182"></a>00182 <span class="preprocessor"> emitm(&amp;stream, 24 &lt;&lt; 3 | r32, 1);\</span>
+<a name="l00183"></a>00183 <span class="preprocessor"> emitm(&amp;stream, i32, 4);</span>
+<a name="l00184"></a>00184 <span class="preprocessor"></span>
+<a name="l00186"></a><a class="code" href="group__NPF__jitter.html#ga662520f1b50ce47a5019ece610362a5d">00186</a> <span class="preprocessor">#define ADDib(r32, i8) \</span>
+<a name="l00187"></a>00187 <span class="preprocessor"> emitm(&amp;stream, 0x83, 1);\</span>
+<a name="l00188"></a>00188 <span class="preprocessor"> emitm(&amp;stream, 24 &lt;&lt; 3 | r32, 1);\</span>
+<a name="l00189"></a>00189 <span class="preprocessor"> emitm(&amp;stream, i8, 1);</span>
+<a name="l00190"></a>00190 <span class="preprocessor"></span>
+<a name="l00192"></a><a class="code" href="group__NPF__jitter.html#gaa3a75062cb78c0956f063797cfd4c065">00192</a> <span class="preprocessor">#define SUBrd(dr32, sr32) \</span>
+<a name="l00193"></a>00193 <span class="preprocessor"> emitm(&amp;stream, 0x2b, 1);\</span>
+<a name="l00194"></a>00194 <span class="preprocessor"> emitm(&amp;stream, 3 &lt;&lt; 6 | (dr32 &amp; 0x7) &lt;&lt; 3 | (sr32 &amp; 0x7), 1);</span>
+<a name="l00195"></a>00195 <span class="preprocessor"></span>
+<a name="l00197"></a><a class="code" href="group__NPF__jitter.html#ga99d023823bbf183e389ebac6cd7d9897">00197</a> <span class="preprocessor">#define SUB_EAXi(i32) \</span>
+<a name="l00198"></a>00198 <span class="preprocessor"> emitm(&amp;stream, 0x2d, 1);\</span>
+<a name="l00199"></a>00199 <span class="preprocessor"> emitm(&amp;stream, i32, 4);</span>
+<a name="l00200"></a>00200 <span class="preprocessor"></span>
+<a name="l00202"></a><a class="code" href="group__NPF__jitter.html#ga6522410ee041327aa6ab223875d84690">00202</a> <span class="preprocessor">#define MULrd(r32) \</span>
+<a name="l00203"></a>00203 <span class="preprocessor"> emitm(&amp;stream, 0xf7, 1);\</span>
+<a name="l00204"></a>00204 <span class="preprocessor"> emitm(&amp;stream, 7 &lt;&lt; 5 | (r32 &amp; 0x7), 1);</span>
+<a name="l00205"></a>00205 <span class="preprocessor"></span>
+<a name="l00207"></a><a class="code" href="group__NPF__jitter.html#gacf243ff85add192cb3105fb7a7911a7d">00207</a> <span class="preprocessor">#define DIVrd(r32) \</span>
+<a name="l00208"></a>00208 <span class="preprocessor"> emitm(&amp;stream, 0xf7, 1);\</span>
+<a name="l00209"></a>00209 <span class="preprocessor"> emitm(&amp;stream, 15 &lt;&lt; 4 | (r32 &amp; 0x7), 1);</span>
+<a name="l00210"></a>00210 <span class="preprocessor"></span>
+<a name="l00212"></a><a class="code" href="group__NPF__jitter.html#gab3eed598cc38c958c42cf0a861948bbb">00212</a> <span class="preprocessor">#define ANDib(r8, i8) \</span>
+<a name="l00213"></a>00213 <span class="preprocessor"> emitm(&amp;stream, 0x80, 1);\</span>
+<a name="l00214"></a>00214 <span class="preprocessor"> emitm(&amp;stream, 7 &lt;&lt; 5 | r8, 1);\</span>
+<a name="l00215"></a>00215 <span class="preprocessor"> emitm(&amp;stream, i8, 1);</span>
+<a name="l00216"></a>00216 <span class="preprocessor"></span>
+<a name="l00218"></a><a class="code" href="group__NPF__jitter.html#ga95bf0579f50e1b94e217b31e2016fa62">00218</a> <span class="preprocessor">#define ANDid(r32, i32) \</span>
+<a name="l00219"></a>00219 <span class="preprocessor"> if (r32 == EAX){ \</span>
+<a name="l00220"></a>00220 <span class="preprocessor"> emitm(&amp;stream, 0x25, 1);\</span>
+<a name="l00221"></a>00221 <span class="preprocessor"> emitm(&amp;stream, i32, 4);}\</span>
+<a name="l00222"></a>00222 <span class="preprocessor"> else{ \</span>
+<a name="l00223"></a>00223 <span class="preprocessor"> emitm(&amp;stream, 0x81, 1);\</span>
+<a name="l00224"></a>00224 <span class="preprocessor"> emitm(&amp;stream, 7 &lt;&lt; 5 | r32, 1);\</span>
+<a name="l00225"></a>00225 <span class="preprocessor"> emitm(&amp;stream, i32, 4);}</span>
+<a name="l00226"></a>00226 <span class="preprocessor"></span>
+<a name="l00228"></a><a class="code" href="group__NPF__jitter.html#ga7828add99946b35b9e718a0f23ec7e65">00228</a> <span class="preprocessor">#define ANDrd(dr32, sr32) \</span>
+<a name="l00229"></a>00229 <span class="preprocessor"> emitm(&amp;stream, 0x23, 1);\</span>
+<a name="l00230"></a>00230 <span class="preprocessor"> emitm(&amp;stream, 3 &lt;&lt; 6 | (dr32 &amp; 0x7) &lt;&lt; 3 | sr32 &amp; 0x7, 1);</span>
+<a name="l00231"></a>00231 <span class="preprocessor"></span>
+<a name="l00233"></a><a class="code" href="group__NPF__jitter.html#ga15317b93f1d8d9cf088bc9f91ace844b">00233</a> <span class="preprocessor">#define ORrd(dr32, sr32) \</span>
+<a name="l00234"></a>00234 <span class="preprocessor"> emitm(&amp;stream, 0x0b, 1);\</span>
+<a name="l00235"></a>00235 <span class="preprocessor"> emitm(&amp;stream, 3 &lt;&lt; 6 | (dr32 &amp; 0x7) &lt;&lt; 3 | sr32 &amp; 0x7, 1);</span>
+<a name="l00236"></a>00236 <span class="preprocessor"></span>
+<a name="l00238"></a><a class="code" href="group__NPF__jitter.html#gad16914336faf4604944facbd4c20d942">00238</a> <span class="preprocessor">#define ORid(r32, i32) \</span>
+<a name="l00239"></a>00239 <span class="preprocessor"> if (r32 == EAX){ \</span>
+<a name="l00240"></a>00240 <span class="preprocessor"> emitm(&amp;stream, 0x0d, 1);\</span>
+<a name="l00241"></a>00241 <span class="preprocessor"> emitm(&amp;stream, i32, 4);}\</span>
+<a name="l00242"></a>00242 <span class="preprocessor"> else{ \</span>
+<a name="l00243"></a>00243 <span class="preprocessor"> emitm(&amp;stream, 0x81, 1);\</span>
+<a name="l00244"></a>00244 <span class="preprocessor"> emitm(&amp;stream, 25 &lt;&lt; 3 | r32, 1);\</span>
+<a name="l00245"></a>00245 <span class="preprocessor"> emitm(&amp;stream, i32, 4);}</span>
+<a name="l00246"></a>00246 <span class="preprocessor"></span>
+<a name="l00248"></a><a class="code" href="group__NPF__jitter.html#ga42b8bbc156c89aef4676834480129221">00248</a> <span class="preprocessor">#define SHLib(r32, i8) \</span>
+<a name="l00249"></a>00249 <span class="preprocessor"> emitm(&amp;stream, 0xc1, 1);\</span>
+<a name="l00250"></a>00250 <span class="preprocessor"> emitm(&amp;stream, 7 &lt;&lt; 5 | r32 &amp; 0x7, 1);\</span>
+<a name="l00251"></a>00251 <span class="preprocessor"> emitm(&amp;stream, i8, 1);</span>
+<a name="l00252"></a>00252 <span class="preprocessor"></span>
+<a name="l00254"></a><a class="code" href="group__NPF__jitter.html#gaba18f7228bd4b7775209dca22201f77f">00254</a> <span class="preprocessor">#define SHL_CLrb(dr32) \</span>
+<a name="l00255"></a>00255 <span class="preprocessor"> emitm(&amp;stream, 0xd3, 1);\</span>
+<a name="l00256"></a>00256 <span class="preprocessor"> emitm(&amp;stream, 7 &lt;&lt; 5 | dr32 &amp; 0x7, 1);</span>
+<a name="l00257"></a>00257 <span class="preprocessor"></span>
+<a name="l00259"></a><a class="code" href="group__NPF__jitter.html#ga5b4c050f10f024995d4b721c1fc6f3d3">00259</a> <span class="preprocessor">#define SHRib(r32, i8) \</span>
+<a name="l00260"></a>00260 <span class="preprocessor"> emitm(&amp;stream, 0xc1, 1);\</span>
+<a name="l00261"></a>00261 <span class="preprocessor"> emitm(&amp;stream, 29 &lt;&lt; 3 | r32 &amp; 0x7, 1);\</span>
+<a name="l00262"></a>00262 <span class="preprocessor"> emitm(&amp;stream, i8, 1);</span>
+<a name="l00263"></a>00263 <span class="preprocessor"></span>
+<a name="l00265"></a><a class="code" href="group__NPF__jitter.html#ga2c2cfe760fe83b9577ddcff9b87d8ab5">00265</a> <span class="preprocessor">#define SHR_CLrb(dr32) \</span>
+<a name="l00266"></a>00266 <span class="preprocessor"> emitm(&amp;stream, 0xd3, 1);\</span>
+<a name="l00267"></a>00267 <span class="preprocessor"> emitm(&amp;stream, 29 &lt;&lt; 3 | dr32 &amp; 0x7, 1);</span>
+<a name="l00268"></a>00268 <span class="preprocessor"></span>
+<a name="l00270"></a><a class="code" href="group__NPF__jitter.html#ga032ba5ad2d179d6d8d1fe24457126621">00270</a> <span class="preprocessor">#define NEGd(r32) \</span>
+<a name="l00271"></a>00271 <span class="preprocessor"> emitm(&amp;stream, 0xf7, 1);\</span>
+<a name="l00272"></a>00272 <span class="preprocessor"> emitm(&amp;stream, 27 &lt;&lt; 3 | r32 &amp; 0x7, 1);</span>
+<a name="l00273"></a>00273 <span class="preprocessor"></span>
+<a name="l00275"></a><a class="code" href="group__NPF__jitter.html#gafaea7a7a2968bf20db43abae63b865fa">00275</a> <span class="preprocessor">#define CMPodd(dr32, sr32, off) \</span>
+<a name="l00276"></a>00276 <span class="preprocessor"> emitm(&amp;stream, 3 &lt;&lt; 4 | 3 | 1 &lt;&lt; 3, 1); \</span>
+<a name="l00277"></a>00277 <span class="preprocessor"> emitm(&amp;stream, 1 &lt;&lt; 6 | (dr32 &amp; 0x7) &lt;&lt; 3 | sr32 &amp; 0x7, 1);\</span>
+<a name="l00278"></a>00278 <span class="preprocessor"> emitm(&amp;stream, off, 1);</span>
+<a name="l00279"></a>00279 <span class="preprocessor"></span>
+<a name="l00281"></a><a class="code" href="group__NPF__jitter.html#gad2db4a7b20890227d0dfeccae16710e6">00281</a> <span class="preprocessor">#define CMPrd(dr32, sr32) \</span>
+<a name="l00282"></a>00282 <span class="preprocessor"> emitm(&amp;stream, 0x3b, 1); \</span>
+<a name="l00283"></a>00283 <span class="preprocessor"> emitm(&amp;stream, 3 &lt;&lt; 6 | (dr32 &amp; 0x7) &lt;&lt; 3 | sr32 &amp; 0x7, 1);</span>
+<a name="l00284"></a>00284 <span class="preprocessor"></span>
+<a name="l00286"></a><a class="code" href="group__NPF__jitter.html#ga8bf965a6a78db5894fbee77707652516">00286</a> <span class="preprocessor">#define CMPid(dr32, i32) \</span>
+<a name="l00287"></a>00287 <span class="preprocessor"> if (dr32 == EAX){ \</span>
+<a name="l00288"></a>00288 <span class="preprocessor"> emitm(&amp;stream, 0x3d, 1); \</span>
+<a name="l00289"></a>00289 <span class="preprocessor"> emitm(&amp;stream, i32, 4);} \</span>
+<a name="l00290"></a>00290 <span class="preprocessor"> else{ \</span>
+<a name="l00291"></a>00291 <span class="preprocessor"> emitm(&amp;stream, 0x81, 1); \</span>
+<a name="l00292"></a>00292 <span class="preprocessor"> emitm(&amp;stream, 0x1f &lt;&lt; 3 | (dr32 &amp; 0x7), 1);\</span>
+<a name="l00293"></a>00293 <span class="preprocessor"> emitm(&amp;stream, i32, 4);}</span>
+<a name="l00294"></a>00294 <span class="preprocessor"></span>
+<a name="l00296"></a><a class="code" href="group__NPF__jitter.html#ga2f57f0e5ef7e33157d7a7983be7a85ef">00296</a> <span class="preprocessor">#define JNEb(off8) \</span>
+<a name="l00297"></a>00297 <span class="preprocessor"> emitm(&amp;stream, 0x75, 1);\</span>
+<a name="l00298"></a>00298 <span class="preprocessor"> emitm(&amp;stream, off8, 1);</span>
+<a name="l00299"></a>00299 <span class="preprocessor"></span>
+<a name="l00301"></a><a class="code" href="group__NPF__jitter.html#ga3ad47796cfcb6867e44b0f82c8906bee">00301</a> <span class="preprocessor">#define JE(off32) \</span>
+<a name="l00302"></a>00302 <span class="preprocessor"> emitm(&amp;stream, 0x0f, 1);\</span>
+<a name="l00303"></a>00303 <span class="preprocessor"> emitm(&amp;stream, 0x84, 1);\</span>
+<a name="l00304"></a>00304 <span class="preprocessor"> emitm(&amp;stream, off32, 4);</span>
+<a name="l00305"></a>00305 <span class="preprocessor"></span>
+<a name="l00307"></a><a class="code" href="group__NPF__jitter.html#ga406f0ee4d13f16d867e48bae8c9ffba7">00307</a> <span class="preprocessor">#define JLE(off32) \</span>
+<a name="l00308"></a>00308 <span class="preprocessor"> emitm(&amp;stream, 0x0f, 1);\</span>
+<a name="l00309"></a>00309 <span class="preprocessor"> emitm(&amp;stream, 0x8e, 1);\</span>
+<a name="l00310"></a>00310 <span class="preprocessor"> emitm(&amp;stream, off32, 4);</span>
+<a name="l00311"></a>00311 <span class="preprocessor"></span>
+<a name="l00313"></a><a class="code" href="group__NPF__jitter.html#ga0987b591887a2ea41c2ba108729f30cb">00313</a> <span class="preprocessor">#define JLEb(off8) \</span>
+<a name="l00314"></a>00314 <span class="preprocessor"> emitm(&amp;stream, 0x7e, 1);\</span>
+<a name="l00315"></a>00315 <span class="preprocessor"> emitm(&amp;stream, off8, 1);</span>
+<a name="l00316"></a>00316 <span class="preprocessor"></span>
+<a name="l00318"></a><a class="code" href="group__NPF__jitter.html#ga714569f0abf518185dab9bbc44f61e26">00318</a> <span class="preprocessor">#define JA(off32) \</span>
+<a name="l00319"></a>00319 <span class="preprocessor"> emitm(&amp;stream, 0x0f, 1);\</span>
+<a name="l00320"></a>00320 <span class="preprocessor"> emitm(&amp;stream, 0x87, 1);\</span>
+<a name="l00321"></a>00321 <span class="preprocessor"> emitm(&amp;stream, off32, 4);</span>
+<a name="l00322"></a>00322 <span class="preprocessor"></span>
+<a name="l00324"></a><a class="code" href="group__NPF__jitter.html#gafa60b85ba5e6d1180f7fb7c1843413d5">00324</a> <span class="preprocessor">#define JAE(off32) \</span>
+<a name="l00325"></a>00325 <span class="preprocessor"> emitm(&amp;stream, 0x0f, 1);\</span>
+<a name="l00326"></a>00326 <span class="preprocessor"> emitm(&amp;stream, 0x83, 1);\</span>
+<a name="l00327"></a>00327 <span class="preprocessor"> emitm(&amp;stream, off32, 4);</span>
+<a name="l00328"></a>00328 <span class="preprocessor"></span>
+<a name="l00330"></a><a class="code" href="group__NPF__jitter.html#gab7aa640b19ad1d6e32833b40ee963407">00330</a> <span class="preprocessor">#define JG(off32) \</span>
+<a name="l00331"></a>00331 <span class="preprocessor"> emitm(&amp;stream, 0x0f, 1);\</span>
+<a name="l00332"></a>00332 <span class="preprocessor"> emitm(&amp;stream, 0x8f, 1);\</span>
+<a name="l00333"></a>00333 <span class="preprocessor"> emitm(&amp;stream, off32, 4);</span>
+<a name="l00334"></a>00334 <span class="preprocessor"></span>
+<a name="l00336"></a><a class="code" href="group__NPF__jitter.html#ga0b03c2a76f68eb3698320a001a5f5eae">00336</a> <span class="preprocessor">#define JGE(off32) \</span>
+<a name="l00337"></a>00337 <span class="preprocessor"> emitm(&amp;stream, 0x0f, 1);\</span>
+<a name="l00338"></a>00338 <span class="preprocessor"> emitm(&amp;stream, 0x8d, 1);\</span>
+<a name="l00339"></a>00339 <span class="preprocessor"> emitm(&amp;stream, off32, 4);</span>
+<a name="l00340"></a>00340 <span class="preprocessor"></span>
+<a name="l00342"></a><a class="code" href="group__NPF__jitter.html#ga76425614ab26cca1839d7378c0fd1c55">00342</a> <span class="preprocessor">#define JMP(off32) \</span>
+<a name="l00343"></a>00343 <span class="preprocessor"> emitm(&amp;stream, 0xe9, 1);\</span>
+<a name="l00344"></a>00344 <span class="preprocessor"> emitm(&amp;stream, off32, 4);</span>
+<a name="l00345"></a>00345 <span class="preprocessor"></span>
+<a name="l00350"></a>00350 <span class="comment">/**************************/</span>
+<a name="l00351"></a>00351 <span class="comment">/* Prototypes */</span>
+<a name="l00352"></a>00352 <span class="comment">/**************************/</span>
+<a name="l00353"></a>00353
+<a name="l00367"></a>00367 <a class="code" href="structJIT__BPF__Filter.html" title="Structure describing a x86 filtering program created by the jitter.">JIT_BPF_Filter</a>* <a class="code" href="group__NPF__code.html#gab95019314e0cce415388272574f85ed7" title="BPF jitter, builds an x86 function from a BPF program.">BPF_jitter</a>(<span class="keyword">struct</span> bpf_insn *fp, INT nins);
+<a name="l00368"></a>00368
+<a name="l00380"></a>00380 <a class="code" href="group__NPF__jitter.html#ga55e96d93d223cecaa3c69437c1603c29" title="Prototype of a filtering function created by the jitter.">BPF_filter_function</a> <a class="code" href="group__NPF__code.html#gaac4070271462268d182b0dbdbfcb1a88" title="Translates a set of BPF instructions in a set of x86 ones.">BPFtoX86</a>(<span class="keyword">struct</span> bpf_insn *ins, UINT nins, INT *mem);
+<a name="l00387"></a>00387 <span class="keywordtype">void</span> <a class="code" href="group__NPF__code.html#ga8d441782c2295f2f71d32727dd3f28a0" title="Deletes a filtering function that was previously created by BPF_jitter().">BPF_Destroy_JIT_Filter</a>(<a class="code" href="structJIT__BPF__Filter.html" title="Structure describing a x86 filtering program created by the jitter.">JIT_BPF_Filter</a> *Filter);
+<a name="l00388"></a>00388
+</pre></div></div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/main.html b/3rdparty/winpcap/docs/html/main.html
new file mode 100644
index 00000000000..78d64f4c62e
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/main.html
@@ -0,0 +1,237 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: WinPcap Documentation</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>WinPcap Documentation</h1><h3>4.1.2 </h3><div align="center">
+<img src="winpcap.gif" alt="winpcap.gif"/>
+</div>
+
+
+<dl>
+ <dt><strong>Authors:</strong></dt>
+ <dd>The WinPcap Team</dd>
+ <dt><strong>Home page:</strong></dt>
+ <dd><a href="http://www.winpcap.org">http://www.winpcap.org</a></dd>
+</dl>
+<hr>
+
+<h2>Modules</h2>
+
+<ul>
+<li><a class="el" href="group__wpcap.html">WinPcap user's manual</a><ul>
+<li><a class="el" href="group__wpcap__def.html">Definitions</a></li>
+<li><a class="el" href="group__wpcapfunc.html">Exported functions</a></li>
+<li><a class="el" href="group__language.html">Filtering expression syntax</a></li>
+<li><a class="el" href="group__wpcapsamps.html">Using WinPcap in your programs</a></li>
+<li><a class="el" href="group__wpcap__tut.html">WinPcap tutorial: a step by step guide to using WinPcap</a><ul>
+<li><a class="el" href="group__wpcap__tut1.html">Obtaining the device list</a></li>
+<li><a class="el" href="group__wpcap__tut2.html">Obtaining advanced information about installed devices</a></li>
+<li><a class="el" href="group__wpcap__tut3.html">Opening an adapter and capturing the packets</a></li>
+<li><a class="el" href="group__wpcap__tut4.html">Capturing the packets without the callback</a></li>
+<li><a class="el" href="group__wpcap__tut5.html">Filtering the traffic</a></li>
+<li><a class="el" href="group__wpcap__tut6.html">Interpreting the packets</a></li>
+<li><a class="el" href="group__wpcap__tut7.html">Handling offline dump files</a></li>
+<li><a class="el" href="group__wpcap__tut8.html">Sending Packets</a></li>
+<li><a class="el" href="group__wpcap__tut9.html">Gathering Statistics on the network traffic</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li><a class="el" href="group__internals.html">WinPcap internals</a><ul>
+<li><a class="el" href="group__NPF.html">NPF driver internals manual</a><ul>
+<li><a class="el" href="group__NPF__include.html">NPF structures and definitions</a></li>
+<li><a class="el" href="group__NPF__code.html">NPF functions</a></li>
+</ul>
+</li>
+<li><a class="el" href="group__packetapi.html">Packet.dll -- Packet Driver API</a></li>
+<li><a class="el" href="group__compilation.html">How to compile WinPcap</a></li>
+</ul>
+</li>
+<li><a class="el" href="group__remote.html">Remote Capture</a><ul>
+<li><a class="el" href="group__remote__struct.html">Exported Structures and Definitions</a></li>
+<li>Exported Functions. For a reference of the functions that support remote capture, see the "Windows-specific Extensions" in the WinPcap <a class="el" href="group__wpcapfunc.html">Exported functions</a> section.</li>
+<li><a class="el" href="group__remote__pri__struct.html">Internal Structures and Definitions</a></li>
+</ul>
+</li>
+</ul>
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta name="GENERATOR" content="Microsoft FrontPage 6.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<title></title>
+</head>
+
+<body>
+<hr>
+
+<h2>Introduction</h2>
+
+
+<p>This Manual describes the
+programming interface and the source code of WinPcap. It provides detailed
+descriptions of the functions and structures exported to programmers, along
+with complete documentation of the WinPcap internals. Several tutorials and
+examples are provided as well.&nbsp;
+
+</p>
+<p>You can follow the links at the top of this page or use the tree control at
+the left to reach sections of interest.
+
+</p>
+<p>This documentation was created using the Doxygen documentation system, that can
+be found at <a href="http://www.doxygen.org/index.html">http://www.doxygen.org</a>.
+
+</p>
+<h2>What is WinPcap</h2>
+<p>WinPcap is an open source library for packet capture and network analysis for
+the Win32 platforms.</p>
+<p>Most networking applications access the network through widely used operating
+system primitives such as sockets.&nbsp; It is easy to access data on the
+network with this approach since the operating system copes with the low level
+details (protocol handling, packet reassembly, etc.) and provides a familiar
+interface that is similar to the one used to read and write files.
+
+</p>
+<p>Sometimes, however, the 'easy way' is not up to the task, since some
+applications require direct access to packets on the network.&nbsp; That is, they
+need access to the &quot;raw&quot; data on the network without the interposition of
+protocol processing by the operating system. </p>
+<p>The purpose of WinPcap is to give this kind of access to Win32 applications;
+it provides facilities to:</p>
+<ul>
+ <li>capture
+ raw packets, both the ones destined to the machine where it's running and
+ the ones exchanged by other hosts (on shared media)</li>
+ <li>filter
+ the packets according to user-specified rules before dispatching them to the
+ application</li>
+ <li>transmit raw packets to the network</li>
+ <li>gather statistical information on the network traffic</li>
+</ul>
+<p>This set of capabilities is obtained by means of a device driver, that is
+installed inside the networking portion of Win32 kernels, plus a couple of DLLs.</p>
+<p>All these features are exported through a powerful programming interface,
+easily exploitable by the applications and available on different OSes. The main
+goal of this manual is to document this interface, with the help of several
+examples.&nbsp; If you are interested in starting your exploration right away
+you can go directly to the <a href="group__wpcap.html">WinPcap user's manual</a>.</p>
+
+<h3>What kind of programs use WinPcap</h3>
+<p>The WinPcap programming interface can be used by many types of network tools
+for analysis, troubleshooting, security and
+monitoring. In particular, classical tools that rely on WinPcap are:</p>
+
+<ul>
+ <li>network and protocol analyzers</li>
+ <li>network monitors</li>
+ <li>traffic loggers</li>
+ <li>traffic generators</li>
+ <li>user-level bridges and routers</li>
+ <li>network intrusion detection systems (NIDS)</li>
+ <li>network scanners</li>
+ <li>security tools</li>
+</ul>
+<h3>What WinPcap can't do</h3>
+<p>WinPcap receives and sends the packets <i>independently</i> from the host
+protocols, like TCP-IP. This means that it isn't able to block, filter or
+manipulate the traffic generated by other programs on the same machine: it
+simply &quot;sniffs&quot; the packets that transit on the wire. Therefore, it does not
+provide the appropriate support for applications like traffic shapers, QoS
+schedulers and personal firewalls. </p>
+
+<h2>Purpose of this manual</h2>
+<p>The purpose of this manual is to provide a comprehensive and easy way to
+browse the documentation of the WinPcap architecture. You will find two main
+sections: <a href="group__wpcap.html">WinPcap user's manual</a> and <a href="group__internals.html">WinPcap Internals</a>.</p>
+<p>The first one can be used by a programmer who needs to exploit WinPcap from
+an application: it contains all the information about functions and data
+structures exported by the WinPcap API, a manual that explains how to write
+packet filters and a page that explains how to include it in an application. A
+tutorial with several code samples is provided as well; it can be used to learn
+the basics of the WinPcap API using a step-by-step approach, but it also offers
+code snippets that demonstrate advanced features. &nbsp;</p>
+<p>The second section is intended for WinPcap developers and maintainers, or for
+people who are curious about how this system works: it provides a general
+description of the WinPcap architecture and explains how it works. Additionally,
+it documents the complete device driver structure, the source code, the packet.dll
+interface and the low-level WinPcap API.
+If you want to understand what happens inside WinPcap or if you need to extend
+it, this is the section you will want to read.</p>
+<h2>Additional Documentation</h2>
+<p>For additional and up-to-date documentation, we suggest that you look at&nbsp; <a href="http://www.winpcap.org/docs/">http://www.winpcap.org/docs/</a>
+</p>
+<p>In particular, if you are interested in
+the structure and the internals of WinPcap, we suggest reading the
+following documents:</p>
+<ul>
+ <li>Fulvio Risso, Loris Degioanni, <a href="http://www.winpcap.org/docs/iscc01-wpcap.pdf">An
+ Architecture for High Performance Network Analysis</a>, <i>Proceedings of
+ the 6<sup>th</sup> IEEE Symposium on Computers and Communications (ISCC
+ 2001)</i>, Hammamet, Tunisia, July 2001</li>
+ <li>Loris Degioanni, Mario Baldi, Fulvio Risso and Gianluca Varenni,
+ <a href="http://www.winpcap.org/docs/WinPcap-SBAC03.pdf">Profiling and
+ Optimization of Software-Based Network-Analysis Applications</a>, <i>
+ Proceedings of the 15<sup>th</sup> IEEE Symposium on Computer Architecture
+ and High Performance Computing (SBAC-PAD 2003)</i>, Sao Paulo, Brasil,
+ November 2003
+ <li>Loris Degioanni, <a href="http://www.winpcap.org/docs/th_degio.zip">Development
+ of an Architecture for Packet Capture and Network Traffic Analysis</a>,
+ Graduation Thesis, Politecnico Di Torino (Turin, Italy, Mar. 2000)
+</ul>
+
+<h2>Terminology</h2>
+<ul>
+ <li>For consistency with the literature, we will use the term <i>packet</i> even
+ though <i>frame</i> is more accurate since the capture process is done at
+ the data-link layer and the data-link header is included in the captured
+ data.</li>
+ <li>The term Win9x will be used in this documentation to indicate the family of
+ Microsoft OSes made up of Windows 95 and its derivatives, i.e. Windows 98 and
+ Windows ME. The term WinNTx will indicate the OSes built upon the NT kernel,
+ starting from Windows NT 4 and including Windows 2000, Windows XP,
+ Windows Server 2003 and so on.</li>
+</ul>
+
+<h2>Note</h2>
+<p>Our development and documentation efforts focus primarily on the
+Windows NT/2000/XP/2003/Vista/2008/Win7/2008R2 version of WinPcap. This choice is based on the fact that the
+majority of the WinPcap users work on NTx systems, but also because the 9x technology
+has been abandoned by Microsoft. Moreover, we assume that a person who needs to
+use a PC for an advanced task like network analysis will install an advanced OS
+on the machine. For this reason, the documentation will refer to the WinNTx
+drivers and APIs. Win9x versions are very similar in the concept but sometimes
+differ in the implementation and, occasionally, the Win9x version of the API
+lacks some of the more advanced functionality. This manual describes the
+complete API and will indicate when a function is present only in Windows NTx.</p>
+
+<p>&nbsp;</p>
+
+</body>
+
+</html>
+ </div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/main_8txt.html b/3rdparty/winpcap/docs/html/main_8txt.html
new file mode 100644
index 00000000000..8309c124aa6
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/main_8txt.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: main.txt File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>main.txt File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+</table>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/modules.html b/3rdparty/winpcap/docs/html/modules.html
new file mode 100644
index 00000000000..45eabfd61f5
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/modules.html
@@ -0,0 +1,73 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Module Index</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li class="current"><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Modules</h1>Here is a list of all modules:<ul>
+<li><a class="el" href="group__wpcap__tut.html">WinPcap tutorial: a step by step guide to using WinPcap</a></li>
+<li><a class="el" href="group__wpcap__tut1.html">Obtaining the device list</a></li>
+<li><a class="el" href="group__wpcap__tut2.html">Obtaining advanced information about installed devices</a></li>
+<li><a class="el" href="group__wpcap__tut3.html">Opening an adapter and capturing the packets</a></li>
+<li><a class="el" href="group__wpcap__tut4.html">Capturing the packets without the callback</a></li>
+<li><a class="el" href="group__wpcap__tut5.html">Filtering the traffic</a></li>
+<li><a class="el" href="group__wpcap__tut6.html">Interpreting the packets</a></li>
+<li><a class="el" href="group__wpcap__tut7.html">Handling offline dump files</a></li>
+<li><a class="el" href="group__wpcap__tut8.html">Sending Packets</a></li>
+<li><a class="el" href="group__wpcap__tut9.html">Gathering Statistics on the network traffic</a></li>
+<li><a class="el" href="group__internals.html">WinPcap internals</a><ul>
+<li><a class="el" href="group__NPF.html">NPF driver internals manual</a><ul>
+<li><a class="el" href="group__NPF__ioctl.html">NPF I/O control codes</a></li>
+<li><a class="el" href="group__NPF__include.html">NPF structures and definitions</a></li>
+<li><a class="el" href="group__NPF__code.html">NPF functions</a></li>
+<li><a class="el" href="group__NPF__jitter.html">NPF Just-in-time compiler definitions</a></li>
+</ul>
+</li>
+<li><a class="el" href="group__compilation.html">How to compile WinPcap</a></li>
+<li><a class="el" href="group__packetapi.html">Packet.dll -- Packet Driver API</a></li>
+</ul>
+</li>
+<li><a class="el" href="group__wpcap.html">WinPcap user's manual</a><ul>
+<li><a class="el" href="group__wpcap__def.html">Definitions</a></li>
+<li><a class="el" href="group__wpcapfunc.html">Exported functions</a></li>
+<li><a class="el" href="group__language.html">Filtering expression syntax</a></li>
+<li><a class="el" href="group__wpcapsamps.html">Using WinPcap in your programs</a></li>
+</ul>
+</li>
+<li><a class="el" href="group__remote.html">Remote Capture</a><ul>
+<li><a class="el" href="group__remote__struct.html">Exported Structures and Definitions</a><ul>
+<li><a class="el" href="group__remote__source__string.html">Strings related to the new source syntax</a></li>
+<li><a class="el" href="group__remote__source__ID.html">Identifiers related to the new source syntax</a></li>
+<li><a class="el" href="group__remote__open__flags.html">Flags defined in the pcap_open() function</a></li>
+<li><a class="el" href="group__remote__samp__methods.html">Sampling methods defined in the pcap_setsampling() function</a></li>
+<li><a class="el" href="group__remote__auth__methods.html">Authentication methods supported by the RPCAP protocol</a></li>
+</ul>
+</li>
+<li><a class="el" href="group__remotefunc.html">Exported Functions</a></li>
+<li><a class="el" href="group__remote__pri__func.html">Internal Functions</a></li>
+<li><a class="el" href="group__remote__pri__struct.html">Internal Structures and Definitions</a></li>
+</ul>
+</li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/npf-dump.gif b/3rdparty/winpcap/docs/html/npf-dump.gif
new file mode 100644
index 00000000000..c24189c9a6b
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/npf-dump.gif
Binary files differ
diff --git a/3rdparty/winpcap/docs/html/npf-ndis.gif b/3rdparty/winpcap/docs/html/npf-ndis.gif
new file mode 100644
index 00000000000..8c151bc4a2c
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/npf-ndis.gif
Binary files differ
diff --git a/3rdparty/winpcap/docs/html/npf-npf.gif b/3rdparty/winpcap/docs/html/npf-npf.gif
new file mode 100644
index 00000000000..7f0e4bc9089
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/npf-npf.gif
Binary files differ
diff --git a/3rdparty/winpcap/docs/html/pages.html b/3rdparty/winpcap/docs/html/pages.html
new file mode 100644
index 00000000000..8aee99e730d
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/pages.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: Page Index</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li class="current"><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Related Pages</h1>Here is a list of all related documentation pages:<ul>
+<li><a class="el" href="deprecated.html">Deprecated List</a>
+</li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/pcap-remote_8h.html b/3rdparty/winpcap/docs/html/pcap-remote_8h.html
new file mode 100644
index 00000000000..38a20d16c57
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/pcap-remote_8h.html
@@ -0,0 +1,626 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: pcap-remote.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>pcap-remote.h File Reference</h1><code>#include &quot;<a class="el" href="funcs_2pcap_8h_source.html">pcap.h</a>&quot;</code><br/>
+<code>#include &quot;sockutils.h&quot;</code><br/>
+
+<p><a href="pcap-remote_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structactivehosts.html">activehosts</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Keeps a list of all the opened connections in the active mode. <a href="structactivehosts.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__header.html">rpcap_header</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Common header for all the RPCAP messages. <a href="structrpcap__header.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__findalldevs__if.html">rpcap_findalldevs_if</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Format of the message for the interface description (findalldevs command). <a href="structrpcap__findalldevs__if.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__findalldevs__ifaddr.html">rpcap_findalldevs_ifaddr</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Format of the message for the address listing (findalldevs command). <a href="structrpcap__findalldevs__ifaddr.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__openreply.html">rpcap_openreply</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Format of the message of the connection opening reply (open command). <a href="structrpcap__openreply.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__startcapreq.html">rpcap_startcapreq</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Format of the message that starts a remote capture (startcap command). <a href="structrpcap__startcapreq.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__startcapreply.html">rpcap_startcapreply</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Format of the reply message that devoted to start a remote capture (startcap reply command). <a href="structrpcap__startcapreply.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__pkthdr.html">rpcap_pkthdr</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Format of the header which encapsulates captured packets when transmitted on the network. <a href="structrpcap__pkthdr.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__filter.html">rpcap_filter</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">General header used for the <a class="el" href="group__wpcapfunc.html#gaf5f9cfe85dad0967ff607e5159b1ba61" title="Associate a filter to a capture.">pcap_setfilter()</a> command; keeps just the number of BPF instructions. <a href="structrpcap__filter.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__filterbpf__insn.html">rpcap_filterbpf_insn</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure that keeps a single BPF instuction; it is repeated 'ninsn' times according to the 'rpcap_filterbpf' header. <a href="structrpcap__filterbpf__insn.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__auth.html">rpcap_auth</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure that keeps the data required for the authentication on the remote host. <a href="structrpcap__auth.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__stats.html">rpcap_stats</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure that keeps the statistics about the number of packets captured, dropped, etc. <a href="structrpcap__stats.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__sampling.html">rpcap_sampling</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure that is needed to set sampling parameters. <a href="structrpcap__sampling.html#_details">More...</a><br/></td></tr>
+<tr><td colspan="2"><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gadd48856fd036eb39b1374e8722b83970">RPCAP_DEFAULT_NETPORT</a>&nbsp;&nbsp;&nbsp;&quot;2002&quot;</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga3faff98b6c9e4560e58beb8ca5d62473">RPCAP_DEFAULT_NETPORT_ACTIVE</a>&nbsp;&nbsp;&nbsp;&quot;2003&quot;</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga652ea27f0736f2ed16eff2f8232be733">RPCAP_DEFAULT_NETADDR</a>&nbsp;&nbsp;&nbsp;&quot;&quot;</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gadd52d73598f0b006a4634f6f40c85e3e">RPCAP_VERSION</a>&nbsp;&nbsp;&nbsp;0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gad5f148b0c94a8c6162ee79c33463ac95">RPCAP_TIMEOUT_INIT</a>&nbsp;&nbsp;&nbsp;90</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga1d5a54e68e71ec6de7e3d9d1b5dc35bc">RPCAP_TIMEOUT_RUNTIME</a>&nbsp;&nbsp;&nbsp;180</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga8f32f1a7e4afc75d85adee7aa1136e2b">RPCAP_ACTIVE_WAIT</a>&nbsp;&nbsp;&nbsp;30</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga5bac38979d12b0a8755d70981fb387af">RPCAP_SUSPEND_WRONGAUTH</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gac094e3209a4b7fc379b034d3dc37acb0">RPCAP_NETBUF_SIZE</a>&nbsp;&nbsp;&nbsp;64000</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Buffer used by socket functions to send-receive packets. In case you plan to have messages larger than this value, you have to increase it. <a href="group__remote__pri__struct.html#gac094e3209a4b7fc379b034d3dc37acb0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga9ca2e46ddec1744b0442e42fc77dbc36">RPCAP_HOSTLIST_SEP</a>&nbsp;&nbsp;&nbsp;&quot; ,;\n\r&quot;</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Separators used for the host list. <a href="group__remote__pri__struct.html#ga9ca2e46ddec1744b0442e42fc77dbc36"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gae794b40128a8f48e8aab742c499e4c5c">RPCAP_MSG_ERROR</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gac1cca8dabd5af5293a0e41515bc532a5">RPCAP_MSG_FINDALLIF_REQ</a>&nbsp;&nbsp;&nbsp;2</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gac99b71c29a3177c663b099c417d1de91">RPCAP_MSG_OPEN_REQ</a>&nbsp;&nbsp;&nbsp;3</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga082b424838496c8cc92dcadf6333b9e1">RPCAP_MSG_STARTCAP_REQ</a>&nbsp;&nbsp;&nbsp;4</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga8c77cf6f710b92b3f87257e7d03d6677">RPCAP_MSG_UPDATEFILTER_REQ</a>&nbsp;&nbsp;&nbsp;5</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gaaca8c569d09dd1c7b2a7cfebe2ed5017">RPCAP_MSG_CLOSE</a>&nbsp;&nbsp;&nbsp;6</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gaaa605dc088c22dd9064a38d16a5199b9">RPCAP_MSG_PACKET</a>&nbsp;&nbsp;&nbsp;7</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga967ed95127e15aae04df68d128b32dcd">RPCAP_MSG_AUTH_REQ</a>&nbsp;&nbsp;&nbsp;8</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga29508e4fba57e33978c73997630b8159">RPCAP_MSG_STATS_REQ</a>&nbsp;&nbsp;&nbsp;9</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gad6554d0a3e2e81d440a216e9ed207c99">RPCAP_MSG_ENDCAP_REQ</a>&nbsp;&nbsp;&nbsp;10</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga2d8c7f1e4361c748ccc051c276f5eaa9">RPCAP_MSG_SETSAMPLING_REQ</a>&nbsp;&nbsp;&nbsp;11</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gab60aca69282ead1088a4565d47bdc05e">RPCAP_MSG_FINDALLIF_REPLY</a>&nbsp;&nbsp;&nbsp;(128+RPCAP_MSG_FINDALLIF_REQ)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga753597c2ff993d12156d7922116b1835">RPCAP_MSG_OPEN_REPLY</a>&nbsp;&nbsp;&nbsp;(128+RPCAP_MSG_OPEN_REQ)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga22dcbe343e2103aef2e9856f93f40167">RPCAP_MSG_STARTCAP_REPLY</a>&nbsp;&nbsp;&nbsp;(128+RPCAP_MSG_STARTCAP_REQ)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gaeb2561c1c6c9b9c56f4ac14ab70f6c3a">RPCAP_MSG_UPDATEFILTER_REPLY</a>&nbsp;&nbsp;&nbsp;(128+RPCAP_MSG_UPDATEFILTER_REQ)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga558198e22dad94774670d4901069761b">RPCAP_MSG_AUTH_REPLY</a>&nbsp;&nbsp;&nbsp;(128+RPCAP_MSG_AUTH_REQ)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga3d52f2b6b3210dcb4f0db7bd8b46138e">RPCAP_MSG_STATS_REPLY</a>&nbsp;&nbsp;&nbsp;(128+RPCAP_MSG_STATS_REQ)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga2994f9df11cfc2b2dd0e9a9d9ac4f37b">RPCAP_MSG_ENDCAP_REPLY</a>&nbsp;&nbsp;&nbsp;(128+RPCAP_MSG_ENDCAP_REQ)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga59a57a83acc395c5e508dda7b8c33bad">RPCAP_MSG_SETSAMPLING_REPLY</a>&nbsp;&nbsp;&nbsp;(128+RPCAP_MSG_SETSAMPLING_REQ)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga3d0b7b3a3d97ebdd265ab800a004ae8c">RPCAP_STARTCAPREQ_FLAG_PROMISC</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga3f87b7e89ed61dc2c9956234399058e8">RPCAP_STARTCAPREQ_FLAG_DGRAM</a>&nbsp;&nbsp;&nbsp;2</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga0c5a71a9b6d5be2662c5a8872cf3032c">RPCAP_STARTCAPREQ_FLAG_SERVEROPEN</a>&nbsp;&nbsp;&nbsp;4</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gac22aa6103fe1490ab908a26d5c4a7c8a">RPCAP_STARTCAPREQ_FLAG_INBOUND</a>&nbsp;&nbsp;&nbsp;8</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga2b29630fe7963da543db242459c74832">RPCAP_STARTCAPREQ_FLAG_OUTBOUND</a>&nbsp;&nbsp;&nbsp;16</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gac93bee6a0991d4334eacd6e451b54240">RPCAP_UPDATEFILTER_BPF</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga281ffdbe28e312f9fe6bc22c4d14fd68">PCAP_ERR_NETW</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga43cc461cdabd8d39ca2346f10c233a1b">PCAP_ERR_INITTIMEOUT</a>&nbsp;&nbsp;&nbsp;2</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga5c8c6dd12f4fcdeaefd0f8d4a67b3075">PCAP_ERR_AUTH</a>&nbsp;&nbsp;&nbsp;3</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gadfbdeb5279422bc65233eefeca885661">PCAP_ERR_FINDALLIF</a>&nbsp;&nbsp;&nbsp;4</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga9f540070da23a5e61d0e27a61a300639">PCAP_ERR_NOREMOTEIF</a>&nbsp;&nbsp;&nbsp;5</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga3bfdce6d89b764b103404a1ec08bc4f9">PCAP_ERR_OPEN</a>&nbsp;&nbsp;&nbsp;6</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gae12279008dbc82da60f457ae639d9c98">PCAP_ERR_UPDATEFILTER</a>&nbsp;&nbsp;&nbsp;7</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gaf2e8f37c8ecf045242e00d9d138d4130">PCAP_ERR_GETSTATS</a>&nbsp;&nbsp;&nbsp;8</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga61631ebf63be764b06b1259fcded1b4d">PCAP_ERR_READEX</a>&nbsp;&nbsp;&nbsp;9</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga77b7c5dbb7399e0f73c3105c181c0eba">PCAP_ERR_HOSTNOAUTH</a>&nbsp;&nbsp;&nbsp;10</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga005853d9f448e2125b9c907cd68ae77a">PCAP_ERR_REMOTEACCEPT</a>&nbsp;&nbsp;&nbsp;11</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga2342b31cd1b83713b43e29fc1b8bbe80">PCAP_ERR_STARTCAPTURE</a>&nbsp;&nbsp;&nbsp;12</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga7237f6698352751c08de3b10ae711881">PCAP_ERR_ENDCAPTURE</a>&nbsp;&nbsp;&nbsp;13</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga9a98b752c9427a52b1902b6a4aa9845a">PCAP_ERR_RUNTIMETIMEOUT</a>&nbsp;&nbsp;&nbsp;14</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gad904f96dcd2dc7ead1f50e81d27a87ee">PCAP_ERR_SETSAMPLING</a>&nbsp;&nbsp;&nbsp;15</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gaadf8ebdb03c2852d32084792c32f5014">PCAP_ERR_WRONGMSG</a>&nbsp;&nbsp;&nbsp;16</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga27644e4198a710a3fb6763464b4cceb8">PCAP_ERR_WRONGVER</a>&nbsp;&nbsp;&nbsp;17</td></tr>
+<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#gadde6aaee8457bee49c2a92621fe22b79">uint8</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Provides an 8-bits unsigned integer. <a href="group__remote__pri__struct.html#gadde6aaee8457bee49c2a92621fe22b79"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef unsigned short&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Provides a 16-bits unsigned integer. <a href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">uint32</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Provides a 32-bits unsigned integer. <a href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__pri__struct.html#ga56f1a81c92849566ae864511088eb7e8">int32</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Provides a 32-bits integer. <a href="group__remote__pri__struct.html#ga56f1a81c92849566ae864511088eb7e8"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="pcap-remote_8h.html#aa37a07d9cf44445b81602b14c622e28a">pcap_opensource_remote</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, struct <a class="el" href="structpcap__rmtauth.html">pcap_rmtauth</a> *auth)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="pcap-remote_8h.html#a0ad8f765bf454e69b98f97a3e2b002e7">pcap_startcapture_remote</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *fp)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="pcap-remote_8h.html#a9592679e3e00af097835b4dfc5f2dbaa">pcap_read_nocb_remote</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, struct <a class="el" href="structpcap__pkthdr.html">pcap_pkthdr</a> **pkt_header, u_char **pkt_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="pcap-remote_8h.html#ab0db6e07bf653640fd14650aeffe5d5a">pcap_read_remote</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, int cnt, <a class="el" href="group__wpcapfunc.html#gabcba231c099919ecd9300d7160b19878">pcap_handler</a> callback, u_char *user)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="pcap-remote_8h.html#a27b8e02d428568edb810e6eca02f1c49">pcap_updatefilter_remote</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *fp, struct bpf_program *prog)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="pcap-remote_8h.html#a3e12964f562dd76e1094d927cbe27b25">pcap_setfilter_remote</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *fp, struct bpf_program *prog)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="pcap-remote_8h.html#a566a5e39d86edb314005ed4fed4d2b99">pcap_stats_remote</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p, struct <a class="el" href="structpcap__stat.html">pcap_stat</a> *ps)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="pcap-remote_8h.html#ae70f189ef09ba80aa809365854f2875a">pcap_setsampling_remote</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structpcap__stat.html">pcap_stat</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="pcap-remote_8h.html#a6e9d9cdb69408ad2b1221c8f5dcc3c80">pcap_stats_ex_remote</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="pcap-remote_8h.html#a26b01d5a63ab6498293ec372b32c4860">pcap_cleanup_remote</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="pcap-remote_8h.html#a16e3637e641d12618e4bef76fa2fcf2e">rpcap_createhdr</a> (struct <a class="el" href="structrpcap__header.html">rpcap_header</a> *header, <a class="el" href="group__remote__pri__struct.html#gadde6aaee8457bee49c2a92621fe22b79">uint8</a> type, <a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a> value, <a class="el" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">uint32</a> length)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="pcap-remote_8h.html#a67250f8933f1b6c261e9bd4136c4f2af">rpcap_deseraddr</a> (struct sockaddr_storage *sockaddrin, struct sockaddr_storage **sockaddrout, char *errbuf)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="pcap-remote_8h.html#aac91069eff112ab360f3834fa58ff53d">rpcap_checkmsg</a> (char *errbuf, SOCKET sock, struct <a class="el" href="structrpcap__header.html">rpcap_header</a> *header, <a class="el" href="group__remote__pri__struct.html#gadde6aaee8457bee49c2a92621fe22b79">uint8</a> first,...)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="pcap-remote_8h.html#a7e311277cf79afe58e6683f24cd14b65">rpcap_senderror</a> (SOCKET sock, char *error, unsigned short errcode, char *errbuf)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="pcap-remote_8h.html#a29144d786cbb343587611df6d4283886">rpcap_sendauth</a> (SOCKET sock, struct <a class="el" href="structpcap__rmtauth.html">pcap_rmtauth</a> *auth, char *errbuf)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="pcap-remote_8h.html#ae0fb2ae444215e729811d958fea0309e">rpcap_remoteact_getsock</a> (const char *<a class="el" href="wpcap__remote_8htm.html#a3c46d79c790748a5942fb43baa6b3073">host</a>, char *errbuf)</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>This file keeps all the new definitions and typedefs that are exported to the user and that are needed for the RPCAP protocol.</p>
+<dl class="warning"><dt><b>Warning:</b></dt><dd>All the RPCAP functions that are allowed to return a buffer containing the error description can return max PCAP_ERRBUF_SIZE characters. However there is no guarantees that the string will be zero-terminated. Best practice is to define the errbuf variable as a char of size 'PCAP_ERRBUF_SIZE+1' and to insert manually the termination char at the end of the buffer. This will guarantee that no buffer overflows occur even if we use the printf() to show the error on the screen.</dd>
+<dd>
+This file declares some typedefs that MUST be of a specific size. These definitions (i.e. typedefs) could need to be changed on other platforms than Intel IA32.</dd>
+<dd>
+This file defines some structures that are used to transfer data on the network. Be careful that you compiler MUST not insert padding into these structures for better alignment. These structures have been created in order to be correctly aligned to a 32 bits boundary, but be careful in any case. </dd></dl>
+
+<p>Definition in file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="a26b01d5a63ab6498293ec372b32c4860"></a><!-- doxytag: member="pcap&#45;remote.h::pcap_cleanup_remote" ref="a26b01d5a63ab6498293ec372b32c4860" args="(pcap_t *p)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void pcap_cleanup_remote </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aa37a07d9cf44445b81602b14c622e28a"></a><!-- doxytag: member="pcap&#45;remote.h::pcap_opensource_remote" ref="aa37a07d9cf44445b81602b14c622e28a" args="(pcap_t *p, struct pcap_rmtauth *auth)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_opensource_remote </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct <a class="el" href="structpcap__rmtauth.html">pcap_rmtauth</a> *&nbsp;</td>
+ <td class="paramname"> <em>auth</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a9592679e3e00af097835b4dfc5f2dbaa"></a><!-- doxytag: member="pcap&#45;remote.h::pcap_read_nocb_remote" ref="a9592679e3e00af097835b4dfc5f2dbaa" args="(pcap_t *p, struct pcap_pkthdr **pkt_header, u_char **pkt_data)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_read_nocb_remote </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct <a class="el" href="structpcap__pkthdr.html">pcap_pkthdr</a> **&nbsp;</td>
+ <td class="paramname"> <em>pkt_header</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">u_char **&nbsp;</td>
+ <td class="paramname"> <em>pkt_data</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ab0db6e07bf653640fd14650aeffe5d5a"></a><!-- doxytag: member="pcap&#45;remote.h::pcap_read_remote" ref="ab0db6e07bf653640fd14650aeffe5d5a" args="(pcap_t *p, int cnt, pcap_handler callback, u_char *user)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_read_remote </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>cnt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__wpcapfunc.html#gabcba231c099919ecd9300d7160b19878">pcap_handler</a>&nbsp;</td>
+ <td class="paramname"> <em>callback</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">u_char *&nbsp;</td>
+ <td class="paramname"> <em>user</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a3e12964f562dd76e1094d927cbe27b25"></a><!-- doxytag: member="pcap&#45;remote.h::pcap_setfilter_remote" ref="a3e12964f562dd76e1094d927cbe27b25" args="(pcap_t *fp, struct bpf_program *prog)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_setfilter_remote </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>fp</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct bpf_program *&nbsp;</td>
+ <td class="paramname"> <em>prog</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ae70f189ef09ba80aa809365854f2875a"></a><!-- doxytag: member="pcap&#45;remote.h::pcap_setsampling_remote" ref="ae70f189ef09ba80aa809365854f2875a" args="(pcap_t *p)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_setsampling_remote </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a0ad8f765bf454e69b98f97a3e2b002e7"></a><!-- doxytag: member="pcap&#45;remote.h::pcap_startcapture_remote" ref="a0ad8f765bf454e69b98f97a3e2b002e7" args="(pcap_t *fp)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_startcapture_remote </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>fp</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a6e9d9cdb69408ad2b1221c8f5dcc3c80"></a><!-- doxytag: member="pcap&#45;remote.h::pcap_stats_ex_remote" ref="a6e9d9cdb69408ad2b1221c8f5dcc3c80" args="(pcap_t *p)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct <a class="el" href="structpcap__stat.html">pcap_stat</a>* pcap_stats_ex_remote </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [read]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a566a5e39d86edb314005ed4fed4d2b99"></a><!-- doxytag: member="pcap&#45;remote.h::pcap_stats_remote" ref="a566a5e39d86edb314005ed4fed4d2b99" args="(pcap_t *p, struct pcap_stat *ps)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_stats_remote </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct <a class="el" href="structpcap__stat.html">pcap_stat</a> *&nbsp;</td>
+ <td class="paramname"> <em>ps</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a27b8e02d428568edb810e6eca02f1c49"></a><!-- doxytag: member="pcap&#45;remote.h::pcap_updatefilter_remote" ref="a27b8e02d428568edb810e6eca02f1c49" args="(pcap_t *fp, struct bpf_program *prog)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_updatefilter_remote </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>fp</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct bpf_program *&nbsp;</td>
+ <td class="paramname"> <em>prog</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aac91069eff112ab360f3834fa58ff53d"></a><!-- doxytag: member="pcap&#45;remote.h::rpcap_checkmsg" ref="aac91069eff112ab360f3834fa58ff53d" args="(char *errbuf, SOCKET sock, struct rpcap_header *header, uint8 first,...)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int rpcap_checkmsg </td>
+ <td>(</td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>errbuf</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">SOCKET&nbsp;</td>
+ <td class="paramname"> <em>sock</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct <a class="el" href="structrpcap__header.html">rpcap_header</a> *&nbsp;</td>
+ <td class="paramname"> <em>header</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__remote__pri__struct.html#gadde6aaee8457bee49c2a92621fe22b79">uint8</a>&nbsp;</td>
+ <td class="paramname"> <em>first</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&nbsp;</td>
+ <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a16e3637e641d12618e4bef76fa2fcf2e"></a><!-- doxytag: member="pcap&#45;remote.h::rpcap_createhdr" ref="a16e3637e641d12618e4bef76fa2fcf2e" args="(struct rpcap_header *header, uint8 type, uint16 value, uint32 length)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void rpcap_createhdr </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="structrpcap__header.html">rpcap_header</a> *&nbsp;</td>
+ <td class="paramname"> <em>header</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__remote__pri__struct.html#gadde6aaee8457bee49c2a92621fe22b79">uint8</a>&nbsp;</td>
+ <td class="paramname"> <em>type</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a>&nbsp;</td>
+ <td class="paramname"> <em>value</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">uint32</a>&nbsp;</td>
+ <td class="paramname"> <em>length</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a67250f8933f1b6c261e9bd4136c4f2af"></a><!-- doxytag: member="pcap&#45;remote.h::rpcap_deseraddr" ref="a67250f8933f1b6c261e9bd4136c4f2af" args="(struct sockaddr_storage *sockaddrin, struct sockaddr_storage **sockaddrout, char *errbuf)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int rpcap_deseraddr </td>
+ <td>(</td>
+ <td class="paramtype">struct sockaddr_storage *&nbsp;</td>
+ <td class="paramname"> <em>sockaddrin</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct sockaddr_storage **&nbsp;</td>
+ <td class="paramname"> <em>sockaddrout</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>errbuf</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ae0fb2ae444215e729811d958fea0309e"></a><!-- doxytag: member="pcap&#45;remote.h::rpcap_remoteact_getsock" ref="ae0fb2ae444215e729811d958fea0309e" args="(const char *host, char *errbuf)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int rpcap_remoteact_getsock </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>host</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>errbuf</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a29144d786cbb343587611df6d4283886"></a><!-- doxytag: member="pcap&#45;remote.h::rpcap_sendauth" ref="a29144d786cbb343587611df6d4283886" args="(SOCKET sock, struct pcap_rmtauth *auth, char *errbuf)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int rpcap_sendauth </td>
+ <td>(</td>
+ <td class="paramtype">SOCKET&nbsp;</td>
+ <td class="paramname"> <em>sock</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct <a class="el" href="structpcap__rmtauth.html">pcap_rmtauth</a> *&nbsp;</td>
+ <td class="paramname"> <em>auth</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>errbuf</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a7e311277cf79afe58e6683f24cd14b65"></a><!-- doxytag: member="pcap&#45;remote.h::rpcap_senderror" ref="a7e311277cf79afe58e6683f24cd14b65" args="(SOCKET sock, char *error, unsigned short errcode, char *errbuf)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int rpcap_senderror </td>
+ <td>(</td>
+ <td class="paramtype">SOCKET&nbsp;</td>
+ <td class="paramname"> <em>sock</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>error</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">unsigned short&nbsp;</td>
+ <td class="paramname"> <em>errcode</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>errbuf</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/pcap-remote_8h_source.html b/3rdparty/winpcap/docs/html/pcap-remote_8h_source.html
new file mode 100644
index 00000000000..c7b22934c56
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/pcap-remote_8h_source.html
@@ -0,0 +1,307 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: pcap-remote.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+<h1>pcap-remote.h</h1><a href="pcap-remote_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (c) 2002 - 2005 NetGroup, Politecnico di Torino (Italy)</span>
+<a name="l00003"></a>00003 <span class="comment"> * Copyright (c) 2005 - 2008 CACE Technologies, Davis (California)</span>
+<a name="l00004"></a>00004 <span class="comment"> * All rights reserved.</span>
+<a name="l00005"></a>00005 <span class="comment"> *</span>
+<a name="l00006"></a>00006 <span class="comment"> * Redistribution and use in source and binary forms, with or without</span>
+<a name="l00007"></a>00007 <span class="comment"> * modification, are permitted provided that the following conditions</span>
+<a name="l00008"></a>00008 <span class="comment"> * are met:</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * 1. Redistributions of source code must retain the above copyright</span>
+<a name="l00011"></a>00011 <span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
+<a name="l00012"></a>00012 <span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright</span>
+<a name="l00013"></a>00013 <span class="comment"> * notice, this list of conditions and the following disclaimer in the</span>
+<a name="l00014"></a>00014 <span class="comment"> * documentation and/or other materials provided with the distribution.</span>
+<a name="l00015"></a>00015 <span class="comment"> * 3. Neither the name of the Politecnico di Torino, CACE Technologies </span>
+<a name="l00016"></a>00016 <span class="comment"> * nor the names of its contributors may be used to endorse or promote </span>
+<a name="l00017"></a>00017 <span class="comment"> * products derived from this software without specific prior written </span>
+<a name="l00018"></a>00018 <span class="comment"> * permission.</span>
+<a name="l00019"></a>00019 <span class="comment"> *</span>
+<a name="l00020"></a>00020 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
+<a name="l00021"></a>00021 <span class="comment"> * &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
+<a name="l00022"></a>00022 <span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
+<a name="l00023"></a>00023 <span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
+<a name="l00024"></a>00024 <span class="comment"> * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
+<a name="l00025"></a>00025 <span class="comment"> * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span>
+<a name="l00026"></a>00026 <span class="comment"> * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span>
+<a name="l00027"></a>00027 <span class="comment"> * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span>
+<a name="l00028"></a>00028 <span class="comment"> * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span>
+<a name="l00029"></a>00029 <span class="comment"> * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span>
+<a name="l00030"></a>00030 <span class="comment"> * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
+<a name="l00031"></a>00031 <span class="comment"> *</span>
+<a name="l00032"></a>00032 <span class="comment"> */</span>
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <span class="preprocessor">#ifndef __PCAP_REMOTE_H__</span>
+<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="preprocessor">#define __PCAP_REMOTE_H__</span>
+<a name="l00036"></a>00036 <span class="preprocessor"></span>
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="preprocessor">#include &quot;<a class="code" href="funcs_2pcap_8h.html">pcap.h</a>&quot;</span>
+<a name="l00039"></a>00039 <span class="preprocessor">#include &quot;sockutils.h&quot;</span> <span class="comment">// Needed for some structures (like SOCKET, sockaddr_in) which are used here</span>
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041
+<a name="l00074"></a>00074 <span class="comment">/*********************************************************</span>
+<a name="l00075"></a>00075 <span class="comment"> * *</span>
+<a name="l00076"></a>00076 <span class="comment"> * General definitions / typedefs for the RPCAP protocol *</span>
+<a name="l00077"></a>00077 <span class="comment"> * *</span>
+<a name="l00078"></a>00078 <span class="comment"> *********************************************************/</span>
+<a name="l00079"></a>00079
+<a name="l00080"></a>00080 <span class="comment">// All the following structures and typedef belongs to the Private Documentation</span>
+<a name="l00085"></a><a class="code" href="group__remote__pri__struct.html#gadd48856fd036eb39b1374e8722b83970">00085</a> <span class="comment"></span><span class="preprocessor">#define RPCAP_DEFAULT_NETPORT &quot;2002&quot; </span>
+<a name="l00087"></a><a class="code" href="group__remote__pri__struct.html#ga3faff98b6c9e4560e58beb8ca5d62473">00087</a> <span class="preprocessor">#define RPCAP_DEFAULT_NETPORT_ACTIVE &quot;2003&quot;</span>
+<a name="l00088"></a><a class="code" href="group__remote__pri__struct.html#ga652ea27f0736f2ed16eff2f8232be733">00088</a> <span class="preprocessor"></span><span class="preprocessor">#define RPCAP_DEFAULT_NETADDR &quot;&quot; </span>
+<a name="l00089"></a><a class="code" href="group__remote__pri__struct.html#gadd52d73598f0b006a4634f6f40c85e3e">00089</a> <span class="preprocessor">#define RPCAP_VERSION 0 </span>
+<a name="l00090"></a><a class="code" href="group__remote__pri__struct.html#gad5f148b0c94a8c6162ee79c33463ac95">00090</a> <span class="preprocessor">#define RPCAP_TIMEOUT_INIT 90 </span>
+<a name="l00091"></a><a class="code" href="group__remote__pri__struct.html#ga1d5a54e68e71ec6de7e3d9d1b5dc35bc">00091</a> <span class="preprocessor">#define RPCAP_TIMEOUT_RUNTIME 180 </span>
+<a name="l00092"></a><a class="code" href="group__remote__pri__struct.html#ga8f32f1a7e4afc75d85adee7aa1136e2b">00092</a> <span class="preprocessor">#define RPCAP_ACTIVE_WAIT 30 </span>
+<a name="l00093"></a><a class="code" href="group__remote__pri__struct.html#ga5bac38979d12b0a8755d70981fb387af">00093</a> <span class="preprocessor">#define RPCAP_SUSPEND_WRONGAUTH 1 </span>
+<a name="l00099"></a><a class="code" href="group__remote__pri__struct.html#gac094e3209a4b7fc379b034d3dc37acb0">00099</a> <span class="preprocessor">#define RPCAP_NETBUF_SIZE 64000</span>
+<a name="l00100"></a>00100 <span class="preprocessor"></span>
+<a name="l00101"></a>00101
+<a name="l00109"></a><a class="code" href="group__remote__pri__struct.html#ga9ca2e46ddec1744b0442e42fc77dbc36">00109</a> <span class="preprocessor">#define RPCAP_HOSTLIST_SEP &quot; ,;\n\r&quot;</span>
+<a name="l00110"></a>00110 <span class="preprocessor"></span>
+<a name="l00111"></a>00111
+<a name="l00112"></a>00112
+<a name="l00113"></a>00113
+<a name="l00114"></a>00114 <span class="comment">// WARNING: These could need to be changed on other platforms</span>
+<a name="l00115"></a><a class="code" href="group__remote__pri__struct.html#gadde6aaee8457bee49c2a92621fe22b79">00115</a> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="group__remote__pri__struct.html#gadde6aaee8457bee49c2a92621fe22b79" title="Provides an 8-bits unsigned integer.">uint8</a>;
+<a name="l00116"></a><a class="code" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">00116</a> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> <a class="code" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e" title="Provides a 16-bits unsigned integer.">uint16</a>;
+<a name="l00117"></a><a class="code" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">00117</a> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e" title="Provides a 32-bits unsigned integer.">uint32</a>;
+<a name="l00118"></a><a class="code" href="group__remote__pri__struct.html#ga56f1a81c92849566ae864511088eb7e8">00118</a> <span class="keyword">typedef</span> <span class="keywordtype">int</span> <a class="code" href="group__remote__pri__struct.html#ga56f1a81c92849566ae864511088eb7e8" title="Provides a 32-bits integer.">int32</a>;
+<a name="l00119"></a>00119
+<a name="l00120"></a>00120
+<a name="l00121"></a>00121
+<a name="l00122"></a>00122
+<a name="l00133"></a><a class="code" href="structactivehosts.html">00133</a> <span class="keyword">struct </span><a class="code" href="structactivehosts.html" title="Keeps a list of all the opened connections in the active mode.">activehosts</a>
+<a name="l00134"></a>00134 {
+<a name="l00135"></a><a class="code" href="structactivehosts.html#aa80ddc7d4304067f1441e3562c9b2b08">00135</a> <span class="keyword">struct </span>sockaddr_storage <a class="code" href="structactivehosts.html#aa80ddc7d4304067f1441e3562c9b2b08">host</a>;
+<a name="l00136"></a><a class="code" href="structactivehosts.html#a33939ceefa385f1e6c60f94f2474869d">00136</a> SOCKET <a class="code" href="structactivehosts.html#a33939ceefa385f1e6c60f94f2474869d">sockctrl</a>;
+<a name="l00137"></a><a class="code" href="structactivehosts.html#a34f7d4dc0ffb851aa4d9bf2e82ba915b">00137</a> <span class="keyword">struct </span><a class="code" href="structactivehosts.html" title="Keeps a list of all the opened connections in the active mode.">activehosts</a> *<a class="code" href="structactivehosts.html#a34f7d4dc0ffb851aa4d9bf2e82ba915b">next</a>;
+<a name="l00138"></a>00138 };
+<a name="l00139"></a>00139
+<a name="l00140"></a>00140
+<a name="l00141"></a>00141 <span class="comment">/*********************************************************</span>
+<a name="l00142"></a>00142 <span class="comment"> * *</span>
+<a name="l00143"></a>00143 <span class="comment"> * Protocol messages formats *</span>
+<a name="l00144"></a>00144 <span class="comment"> * *</span>
+<a name="l00145"></a>00145 <span class="comment"> *********************************************************/</span>
+<a name="l00146"></a>00146 <span class="comment">// WARNING Take care you compiler does not insert padding for better alignments into these structs</span>
+<a name="l00147"></a>00147
+<a name="l00148"></a>00148
+<a name="l00150"></a><a class="code" href="structrpcap__header.html">00150</a> <span class="keyword">struct </span><a class="code" href="structrpcap__header.html" title="Common header for all the RPCAP messages.">rpcap_header</a>
+<a name="l00151"></a>00151 {
+<a name="l00152"></a><a class="code" href="structrpcap__header.html#ad284ddbfb04b14b9f8341f4dea79076e">00152</a> <a class="code" href="group__remote__pri__struct.html#gadde6aaee8457bee49c2a92621fe22b79" title="Provides an 8-bits unsigned integer.">uint8</a> <a class="code" href="structrpcap__header.html#ad284ddbfb04b14b9f8341f4dea79076e" title="RPCAP version number.">ver</a>;
+<a name="l00153"></a><a class="code" href="structrpcap__header.html#a0d5276797b2358f6093607c68006bde8">00153</a> <a class="code" href="group__remote__pri__struct.html#gadde6aaee8457bee49c2a92621fe22b79" title="Provides an 8-bits unsigned integer.">uint8</a> <a class="code" href="structrpcap__header.html#a0d5276797b2358f6093607c68006bde8" title="RPCAP message type (error, findalldevs, ...).">type</a>;
+<a name="l00154"></a><a class="code" href="structrpcap__header.html#a4dd7e7f197e82dc6db279eed0a5dc820">00154</a> <a class="code" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e" title="Provides a 16-bits unsigned integer.">uint16</a> <a class="code" href="structrpcap__header.html#a4dd7e7f197e82dc6db279eed0a5dc820" title="Message-dependent value (not always used).">value</a>;
+<a name="l00155"></a><a class="code" href="structrpcap__header.html#a9f51ae02e66e202ec26632a2bce78942">00155</a> <a class="code" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e" title="Provides a 32-bits unsigned integer.">uint32</a> <a class="code" href="structrpcap__header.html#a9f51ae02e66e202ec26632a2bce78942" title="Length of the payload of this RPCAP message.">plen</a>;
+<a name="l00156"></a>00156 };
+<a name="l00157"></a>00157
+<a name="l00158"></a>00158
+<a name="l00160"></a><a class="code" href="structrpcap__findalldevs__if.html">00160</a> <span class="keyword">struct </span><a class="code" href="structrpcap__findalldevs__if.html" title="Format of the message for the interface description (findalldevs command).">rpcap_findalldevs_if</a>
+<a name="l00161"></a>00161 {
+<a name="l00162"></a><a class="code" href="structrpcap__findalldevs__if.html#ab42bca1875d25b6ce19de3ff5309a0bf">00162</a> <a class="code" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e" title="Provides a 16-bits unsigned integer.">uint16</a> <a class="code" href="structrpcap__findalldevs__if.html#ab42bca1875d25b6ce19de3ff5309a0bf" title="Length of the interface name.">namelen</a>;
+<a name="l00163"></a><a class="code" href="structrpcap__findalldevs__if.html#a9fe649a115732c913d126218054a9941">00163</a> <a class="code" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e" title="Provides a 16-bits unsigned integer.">uint16</a> <a class="code" href="structrpcap__findalldevs__if.html#a9fe649a115732c913d126218054a9941" title="Length of the interface description.">desclen</a>;
+<a name="l00164"></a><a class="code" href="structrpcap__findalldevs__if.html#a81a27ce50e78368b0d0de1e8767fd32d">00164</a> <a class="code" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e" title="Provides a 32-bits unsigned integer.">uint32</a> <a class="code" href="structrpcap__findalldevs__if.html#a81a27ce50e78368b0d0de1e8767fd32d" title="Interface flags.">flags</a>;
+<a name="l00165"></a><a class="code" href="structrpcap__findalldevs__if.html#af6e199ccfaf5ab811cc064e09f3153c3">00165</a> <a class="code" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e" title="Provides a 16-bits unsigned integer.">uint16</a> <a class="code" href="structrpcap__findalldevs__if.html#af6e199ccfaf5ab811cc064e09f3153c3" title="Number of addresses.">naddr</a>;
+<a name="l00166"></a><a class="code" href="structrpcap__findalldevs__if.html#a39840d82c8fedd34d8b6d25ae4e374c7">00166</a> <a class="code" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e" title="Provides a 16-bits unsigned integer.">uint16</a> <a class="code" href="structrpcap__findalldevs__if.html#a39840d82c8fedd34d8b6d25ae4e374c7" title="Must be zero.">dummy</a>;
+<a name="l00167"></a>00167 };
+<a name="l00168"></a>00168
+<a name="l00169"></a>00169
+<a name="l00171"></a><a class="code" href="structrpcap__findalldevs__ifaddr.html">00171</a> <span class="keyword">struct </span><a class="code" href="structrpcap__findalldevs__ifaddr.html" title="Format of the message for the address listing (findalldevs command).">rpcap_findalldevs_ifaddr</a>
+<a name="l00172"></a>00172 {
+<a name="l00173"></a><a class="code" href="structrpcap__findalldevs__ifaddr.html#a7fe4b3f87e7a49d2520a0d26563bb921">00173</a> <span class="keyword">struct </span>sockaddr_storage <a class="code" href="structrpcap__findalldevs__ifaddr.html#a7fe4b3f87e7a49d2520a0d26563bb921" title="Network address.">addr</a>;
+<a name="l00174"></a><a class="code" href="structrpcap__findalldevs__ifaddr.html#ae65e589cf67e45f6c5b5bd05a068b1dd">00174</a> <span class="keyword">struct </span>sockaddr_storage <a class="code" href="structrpcap__findalldevs__ifaddr.html#ae65e589cf67e45f6c5b5bd05a068b1dd" title="Netmask for that address.">netmask</a>;
+<a name="l00175"></a><a class="code" href="structrpcap__findalldevs__ifaddr.html#a2689aec0100832e17df8795f1acfdef0">00175</a> <span class="keyword">struct </span>sockaddr_storage <a class="code" href="structrpcap__findalldevs__ifaddr.html#a2689aec0100832e17df8795f1acfdef0" title="Broadcast address for that address.">broadaddr</a>;
+<a name="l00176"></a><a class="code" href="structrpcap__findalldevs__ifaddr.html#a907e6142b6f02d26357a18525f2a32c1">00176</a> <span class="keyword">struct </span>sockaddr_storage <a class="code" href="structrpcap__findalldevs__ifaddr.html#a907e6142b6f02d26357a18525f2a32c1" title="P2P destination address for that address.">dstaddr</a>;
+<a name="l00177"></a>00177 };
+<a name="l00178"></a>00178
+<a name="l00179"></a>00179
+<a name="l00180"></a>00180
+<a name="l00186"></a><a class="code" href="structrpcap__openreply.html">00186</a> <span class="keyword">struct </span><a class="code" href="structrpcap__openreply.html" title="Format of the message of the connection opening reply (open command).">rpcap_openreply</a>
+<a name="l00187"></a>00187 {
+<a name="l00188"></a><a class="code" href="structrpcap__openreply.html#a114fd2309d7d5811a05db20605112955">00188</a> <a class="code" href="group__remote__pri__struct.html#ga56f1a81c92849566ae864511088eb7e8" title="Provides a 32-bits integer.">int32</a> <a class="code" href="structrpcap__openreply.html#a114fd2309d7d5811a05db20605112955" title="Link type.">linktype</a>;
+<a name="l00189"></a><a class="code" href="structrpcap__openreply.html#a3d91df4637112c85432c1f3c59b2c5ae">00189</a> <a class="code" href="group__remote__pri__struct.html#ga56f1a81c92849566ae864511088eb7e8" title="Provides a 32-bits integer.">int32</a> <a class="code" href="structrpcap__openreply.html#a3d91df4637112c85432c1f3c59b2c5ae" title="Timezone offset.">tzoff</a>;
+<a name="l00190"></a>00190 };
+<a name="l00191"></a>00191
+<a name="l00192"></a>00192
+<a name="l00193"></a>00193
+<a name="l00195"></a><a class="code" href="structrpcap__startcapreq.html">00195</a> <span class="keyword">struct </span><a class="code" href="structrpcap__startcapreq.html" title="Format of the message that starts a remote capture (startcap command).">rpcap_startcapreq</a>
+<a name="l00196"></a>00196 {
+<a name="l00197"></a><a class="code" href="structrpcap__startcapreq.html#aebbb13cc569d948514d286df698443d2">00197</a> <a class="code" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e" title="Provides a 32-bits unsigned integer.">uint32</a> <a class="code" href="structrpcap__startcapreq.html#aebbb13cc569d948514d286df698443d2" title="Length of the snapshot (number of bytes to capture for each packet).">snaplen</a>;
+<a name="l00198"></a><a class="code" href="structrpcap__startcapreq.html#a189e41efb9a00f52c242e0287e341543">00198</a> <a class="code" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e" title="Provides a 32-bits unsigned integer.">uint32</a> <a class="code" href="structrpcap__startcapreq.html#a189e41efb9a00f52c242e0287e341543" title="Read timeout in milliseconds.">read_timeout</a>;
+<a name="l00199"></a><a class="code" href="structrpcap__startcapreq.html#ae15f0808741c35cb9a8d231105d8beea">00199</a> <a class="code" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e" title="Provides a 16-bits unsigned integer.">uint16</a> <a class="code" href="structrpcap__startcapreq.html#ae15f0808741c35cb9a8d231105d8beea" title="Flags (see RPCAP_STARTCAPREQ_FLAG_xxx).">flags</a>;
+<a name="l00200"></a><a class="code" href="structrpcap__startcapreq.html#a914e4f42058b208f03d04a65c902bff3">00200</a> <a class="code" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e" title="Provides a 16-bits unsigned integer.">uint16</a> <a class="code" href="structrpcap__startcapreq.html#a914e4f42058b208f03d04a65c902bff3" title="Network port on which the client is waiting at (if &amp;#39;serveropen&amp;#39;).">portdata</a>;
+<a name="l00201"></a>00201 };
+<a name="l00202"></a>00202
+<a name="l00203"></a>00203
+<a name="l00205"></a><a class="code" href="structrpcap__startcapreply.html">00205</a> <span class="keyword">struct </span><a class="code" href="structrpcap__startcapreply.html" title="Format of the reply message that devoted to start a remote capture (startcap reply...">rpcap_startcapreply</a>
+<a name="l00206"></a>00206 {
+<a name="l00207"></a><a class="code" href="structrpcap__startcapreply.html#a115866b96012076ded74e527b0e082ea">00207</a> <a class="code" href="group__remote__pri__struct.html#ga56f1a81c92849566ae864511088eb7e8" title="Provides a 32-bits integer.">int32</a> <a class="code" href="structrpcap__startcapreply.html#a115866b96012076ded74e527b0e082ea" title="Size of the user buffer allocated by WinPcap; it can be different from the one we...">bufsize</a>;
+<a name="l00208"></a><a class="code" href="structrpcap__startcapreply.html#a914e4f42058b208f03d04a65c902bff3">00208</a> <a class="code" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e" title="Provides a 16-bits unsigned integer.">uint16</a> <a class="code" href="structrpcap__startcapreply.html#a914e4f42058b208f03d04a65c902bff3" title="Network port on which the server is waiting at (passive mode only).">portdata</a>;
+<a name="l00209"></a><a class="code" href="structrpcap__startcapreply.html#a39840d82c8fedd34d8b6d25ae4e374c7">00209</a> <a class="code" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e" title="Provides a 16-bits unsigned integer.">uint16</a> <a class="code" href="structrpcap__startcapreply.html#a39840d82c8fedd34d8b6d25ae4e374c7" title="Must be zero.">dummy</a>;
+<a name="l00210"></a>00210 };
+<a name="l00211"></a>00211
+<a name="l00212"></a>00212
+<a name="l00219"></a><a class="code" href="structrpcap__pkthdr.html">00219</a> <span class="keyword">struct </span><a class="code" href="structrpcap__pkthdr.html" title="Format of the header which encapsulates captured packets when transmitted on the...">rpcap_pkthdr</a>
+<a name="l00220"></a>00220 {
+<a name="l00221"></a><a class="code" href="structrpcap__pkthdr.html#a0878eda64803556abde60998d96cae36">00221</a> <a class="code" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e" title="Provides a 32-bits unsigned integer.">uint32</a> <a class="code" href="structrpcap__pkthdr.html#a0878eda64803556abde60998d96cae36" title="&amp;#39;struct timeval&amp;#39; compatible, it represents the &amp;#39;tv_sec&amp;#39; field">timestamp_sec</a>;
+<a name="l00222"></a><a class="code" href="structrpcap__pkthdr.html#a590071a7578068cca2e22ab465a8af68">00222</a> <a class="code" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e" title="Provides a 32-bits unsigned integer.">uint32</a> <a class="code" href="structrpcap__pkthdr.html#a590071a7578068cca2e22ab465a8af68" title="&amp;#39;struct timeval&amp;#39; compatible, it represents the &amp;#39;tv_usec&amp;#39; field">timestamp_usec</a>;
+<a name="l00223"></a><a class="code" href="structrpcap__pkthdr.html#a7219d531cfc6ceb3447db730ffd11794">00223</a> <a class="code" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e" title="Provides a 32-bits unsigned integer.">uint32</a> <a class="code" href="structrpcap__pkthdr.html#a7219d531cfc6ceb3447db730ffd11794" title="Length of portion present in the capture.">caplen</a>;
+<a name="l00224"></a><a class="code" href="structrpcap__pkthdr.html#a63941c3a03dc9736f3234bb756d9a305">00224</a> <a class="code" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e" title="Provides a 32-bits unsigned integer.">uint32</a> <a class="code" href="structrpcap__pkthdr.html#a63941c3a03dc9736f3234bb756d9a305" title="Real length this packet (off wire).">len</a>;
+<a name="l00225"></a><a class="code" href="structrpcap__pkthdr.html#a18dee93b2d48c10546eb5637ba48405d">00225</a> <a class="code" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e" title="Provides a 32-bits unsigned integer.">uint32</a> <a class="code" href="structrpcap__pkthdr.html#a18dee93b2d48c10546eb5637ba48405d" title="Ordinal number of the packet (i.e. the first one captured has &amp;#39;1&amp;#39;, the second...">npkt</a>;
+<a name="l00226"></a>00226 };
+<a name="l00227"></a>00227
+<a name="l00228"></a>00228
+<a name="l00230"></a><a class="code" href="structrpcap__filter.html">00230</a> <span class="keyword">struct </span><a class="code" href="structrpcap__filter.html" title="General header used for the pcap_setfilter() command; keeps just the number of BPF...">rpcap_filter</a>
+<a name="l00231"></a>00231 {
+<a name="l00232"></a><a class="code" href="structrpcap__filter.html#a1d9d57b94681191242914430f33b34f0">00232</a> <a class="code" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e" title="Provides a 16-bits unsigned integer.">uint16</a> <a class="code" href="structrpcap__filter.html#a1d9d57b94681191242914430f33b34f0" title="type of the filter transferred (BPF instructions, ...)">filtertype</a>;
+<a name="l00233"></a><a class="code" href="structrpcap__filter.html#a39840d82c8fedd34d8b6d25ae4e374c7">00233</a> <a class="code" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e" title="Provides a 16-bits unsigned integer.">uint16</a> <a class="code" href="structrpcap__filter.html#a39840d82c8fedd34d8b6d25ae4e374c7" title="Must be zero.">dummy</a>;
+<a name="l00234"></a><a class="code" href="structrpcap__filter.html#afa9a77743030f7cbceae9cffa2f8b311">00234</a> <a class="code" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e" title="Provides a 32-bits unsigned integer.">uint32</a> <a class="code" href="structrpcap__filter.html#afa9a77743030f7cbceae9cffa2f8b311" title="Number of items contained into the filter (e.g. BPF instructions for BPF filters)...">nitems</a>;
+<a name="l00235"></a>00235 };
+<a name="l00236"></a>00236
+<a name="l00237"></a>00237
+<a name="l00239"></a><a class="code" href="structrpcap__filterbpf__insn.html">00239</a> <span class="keyword">struct </span><a class="code" href="structrpcap__filterbpf__insn.html" title="Structure that keeps a single BPF instuction; it is repeated &amp;#39;ninsn&amp;#39; times...">rpcap_filterbpf_insn</a>
+<a name="l00240"></a>00240 {
+<a name="l00241"></a><a class="code" href="structrpcap__filterbpf__insn.html#a17ec1b1641303c1995e0ca66ae938603">00241</a> <a class="code" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e" title="Provides a 16-bits unsigned integer.">uint16</a> <a class="code" href="structrpcap__filterbpf__insn.html#a17ec1b1641303c1995e0ca66ae938603" title="opcode of the instuction">code</a>;
+<a name="l00242"></a><a class="code" href="structrpcap__filterbpf__insn.html#ad4d266bd45e28984c672e886adb82907">00242</a> <a class="code" href="group__remote__pri__struct.html#gadde6aaee8457bee49c2a92621fe22b79" title="Provides an 8-bits unsigned integer.">uint8</a> <a class="code" href="structrpcap__filterbpf__insn.html#ad4d266bd45e28984c672e886adb82907" title="relative offset to jump to in case of &amp;#39;true&amp;#39;">jt</a>;
+<a name="l00243"></a><a class="code" href="structrpcap__filterbpf__insn.html#ab2a6ab7330382a0e09a46b17ecbd1f9a">00243</a> <a class="code" href="group__remote__pri__struct.html#gadde6aaee8457bee49c2a92621fe22b79" title="Provides an 8-bits unsigned integer.">uint8</a> <a class="code" href="structrpcap__filterbpf__insn.html#ab2a6ab7330382a0e09a46b17ecbd1f9a" title="relative offset to jump to in case of &amp;#39;false&amp;#39;">jf</a>;
+<a name="l00244"></a><a class="code" href="structrpcap__filterbpf__insn.html#adf462c7c841cf6945d8552684393efcf">00244</a> <a class="code" href="group__remote__pri__struct.html#ga56f1a81c92849566ae864511088eb7e8" title="Provides a 32-bits integer.">int32</a> <a class="code" href="structrpcap__filterbpf__insn.html#adf462c7c841cf6945d8552684393efcf" title="instruction-dependent value">k</a>;
+<a name="l00245"></a>00245 };
+<a name="l00246"></a>00246
+<a name="l00247"></a>00247
+<a name="l00249"></a><a class="code" href="structrpcap__auth.html">00249</a> <span class="keyword">struct </span><a class="code" href="structrpcap__auth.html" title="Structure that keeps the data required for the authentication on the remote host...">rpcap_auth</a>
+<a name="l00250"></a>00250 {
+<a name="l00251"></a><a class="code" href="structrpcap__auth.html#af9b2e23a8f32ca09cfeb7d828436fb01">00251</a> <a class="code" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e" title="Provides a 16-bits unsigned integer.">uint16</a> <a class="code" href="structrpcap__auth.html#af9b2e23a8f32ca09cfeb7d828436fb01" title="Authentication type.">type</a>;
+<a name="l00252"></a><a class="code" href="structrpcap__auth.html#a39840d82c8fedd34d8b6d25ae4e374c7">00252</a> <a class="code" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e" title="Provides a 16-bits unsigned integer.">uint16</a> <a class="code" href="structrpcap__auth.html#a39840d82c8fedd34d8b6d25ae4e374c7" title="Must be zero.">dummy</a>;
+<a name="l00253"></a><a class="code" href="structrpcap__auth.html#a893c04f91ad73ad97125a7b451ad9f79">00253</a> <a class="code" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e" title="Provides a 16-bits unsigned integer.">uint16</a> <a class="code" href="structrpcap__auth.html#a893c04f91ad73ad97125a7b451ad9f79" title="Length of the first authentication item (e.g. username).">slen1</a>;
+<a name="l00254"></a><a class="code" href="structrpcap__auth.html#aa8114dce6bebe43b9a350a9716128cd1">00254</a> <a class="code" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e" title="Provides a 16-bits unsigned integer.">uint16</a> <a class="code" href="structrpcap__auth.html#aa8114dce6bebe43b9a350a9716128cd1" title="Length of the second authentication item (e.g. password).">slen2</a>;
+<a name="l00255"></a>00255 };
+<a name="l00256"></a>00256
+<a name="l00257"></a>00257
+<a name="l00259"></a><a class="code" href="structrpcap__stats.html">00259</a> <span class="keyword">struct </span><a class="code" href="structrpcap__stats.html" title="Structure that keeps the statistics about the number of packets captured, dropped...">rpcap_stats</a>
+<a name="l00260"></a>00260 {
+<a name="l00261"></a><a class="code" href="structrpcap__stats.html#a1d0c9184d7f075a1237db76400b1b503">00261</a> <a class="code" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e" title="Provides a 32-bits unsigned integer.">uint32</a> <a class="code" href="structrpcap__stats.html#a1d0c9184d7f075a1237db76400b1b503" title="Packets received by the kernel filter (i.e. pcap_stats.ps_recv).">ifrecv</a>;
+<a name="l00262"></a><a class="code" href="structrpcap__stats.html#a1be6b9fbf42a7f74578974c611903f7d">00262</a> <a class="code" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e" title="Provides a 32-bits unsigned integer.">uint32</a> <a class="code" href="structrpcap__stats.html#a1be6b9fbf42a7f74578974c611903f7d" title="Packets dropped by the network interface (e.g. not enough buffers) (i.e. pcap_stats...">ifdrop</a>;
+<a name="l00263"></a><a class="code" href="structrpcap__stats.html#a498da3bcc201f4f77714798c5c6b03b5">00263</a> <a class="code" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e" title="Provides a 32-bits unsigned integer.">uint32</a> <a class="code" href="structrpcap__stats.html#a498da3bcc201f4f77714798c5c6b03b5" title="Packets dropped by the kernel filter (i.e. pcap_stats.ps_drop).">krnldrop</a>;
+<a name="l00264"></a><a class="code" href="structrpcap__stats.html#a42ea5a69add0a420c6cb2b8961482a76">00264</a> <a class="code" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e" title="Provides a 32-bits unsigned integer.">uint32</a> <a class="code" href="structrpcap__stats.html#a42ea5a69add0a420c6cb2b8961482a76" title="Packets captured by the RPCAP daemon and sent on the network.">svrcapt</a>;
+<a name="l00265"></a>00265 };
+<a name="l00266"></a>00266
+<a name="l00267"></a>00267
+<a name="l00269"></a><a class="code" href="structrpcap__sampling.html">00269</a> <span class="keyword">struct </span><a class="code" href="structrpcap__sampling.html" title="Structure that is needed to set sampling parameters.">rpcap_sampling</a>
+<a name="l00270"></a>00270 {
+<a name="l00271"></a><a class="code" href="structrpcap__sampling.html#aa4da76ff1a3e6459e06e4d39af6bfef2">00271</a> <a class="code" href="group__remote__pri__struct.html#gadde6aaee8457bee49c2a92621fe22b79" title="Provides an 8-bits unsigned integer.">uint8</a> <a class="code" href="structrpcap__sampling.html#aa4da76ff1a3e6459e06e4d39af6bfef2" title="Sampling method.">method</a>;
+<a name="l00272"></a><a class="code" href="structrpcap__sampling.html#ac5a9635addc2e517659182ae5b8a6fe6">00272</a> <a class="code" href="group__remote__pri__struct.html#gadde6aaee8457bee49c2a92621fe22b79" title="Provides an 8-bits unsigned integer.">uint8</a> <a class="code" href="structrpcap__sampling.html#ac5a9635addc2e517659182ae5b8a6fe6" title="Must be zero.">dummy1</a>;
+<a name="l00273"></a><a class="code" href="structrpcap__sampling.html#a055fd5d9ca450d213ec8d0be4328251a">00273</a> <a class="code" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e" title="Provides a 16-bits unsigned integer.">uint16</a> <a class="code" href="structrpcap__sampling.html#a055fd5d9ca450d213ec8d0be4328251a" title="Must be zero.">dummy2</a>;
+<a name="l00274"></a><a class="code" href="structrpcap__sampling.html#a825a6aa3f85d5b289f6e1a3b3a2beb83">00274</a> <a class="code" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e" title="Provides a 32-bits unsigned integer.">uint32</a> <a class="code" href="structrpcap__sampling.html#a825a6aa3f85d5b289f6e1a3b3a2beb83" title="Parameter related to the sampling method.">value</a>;
+<a name="l00275"></a>00275 };
+<a name="l00276"></a>00276
+<a name="l00277"></a>00277
+<a name="l00278"></a>00278
+<a name="l00279"></a>00279 <span class="comment">// Messages field coding</span>
+<a name="l00280"></a><a class="code" href="group__remote__pri__struct.html#gae794b40128a8f48e8aab742c499e4c5c">00280</a> <span class="preprocessor">#define RPCAP_MSG_ERROR 1 </span>
+<a name="l00281"></a><a class="code" href="group__remote__pri__struct.html#gac1cca8dabd5af5293a0e41515bc532a5">00281</a> <span class="preprocessor">#define RPCAP_MSG_FINDALLIF_REQ 2 </span>
+<a name="l00282"></a><a class="code" href="group__remote__pri__struct.html#gac99b71c29a3177c663b099c417d1de91">00282</a> <span class="preprocessor">#define RPCAP_MSG_OPEN_REQ 3 </span>
+<a name="l00283"></a><a class="code" href="group__remote__pri__struct.html#ga082b424838496c8cc92dcadf6333b9e1">00283</a> <span class="preprocessor">#define RPCAP_MSG_STARTCAP_REQ 4 </span>
+<a name="l00284"></a><a class="code" href="group__remote__pri__struct.html#ga8c77cf6f710b92b3f87257e7d03d6677">00284</a> <span class="preprocessor">#define RPCAP_MSG_UPDATEFILTER_REQ 5 </span>
+<a name="l00285"></a><a class="code" href="group__remote__pri__struct.html#gaaca8c569d09dd1c7b2a7cfebe2ed5017">00285</a> <span class="preprocessor">#define RPCAP_MSG_CLOSE 6 </span>
+<a name="l00286"></a><a class="code" href="group__remote__pri__struct.html#gaaa605dc088c22dd9064a38d16a5199b9">00286</a> <span class="preprocessor">#define RPCAP_MSG_PACKET 7 </span>
+<a name="l00287"></a><a class="code" href="group__remote__pri__struct.html#ga967ed95127e15aae04df68d128b32dcd">00287</a> <span class="preprocessor">#define RPCAP_MSG_AUTH_REQ 8 </span>
+<a name="l00288"></a><a class="code" href="group__remote__pri__struct.html#ga29508e4fba57e33978c73997630b8159">00288</a> <span class="preprocessor">#define RPCAP_MSG_STATS_REQ 9 </span>
+<a name="l00289"></a><a class="code" href="group__remote__pri__struct.html#gad6554d0a3e2e81d440a216e9ed207c99">00289</a> <span class="preprocessor">#define RPCAP_MSG_ENDCAP_REQ 10 </span>
+<a name="l00290"></a><a class="code" href="group__remote__pri__struct.html#ga2d8c7f1e4361c748ccc051c276f5eaa9">00290</a> <span class="preprocessor">#define RPCAP_MSG_SETSAMPLING_REQ 11 </span>
+<a name="l00292"></a><a class="code" href="group__remote__pri__struct.html#gab60aca69282ead1088a4565d47bdc05e">00292</a> <span class="preprocessor">#define RPCAP_MSG_FINDALLIF_REPLY (128+RPCAP_MSG_FINDALLIF_REQ) </span>
+<a name="l00293"></a><a class="code" href="group__remote__pri__struct.html#ga753597c2ff993d12156d7922116b1835">00293</a> <span class="preprocessor">#define RPCAP_MSG_OPEN_REPLY (128+RPCAP_MSG_OPEN_REQ) </span>
+<a name="l00294"></a><a class="code" href="group__remote__pri__struct.html#ga22dcbe343e2103aef2e9856f93f40167">00294</a> <span class="preprocessor">#define RPCAP_MSG_STARTCAP_REPLY (128+RPCAP_MSG_STARTCAP_REQ) </span>
+<a name="l00295"></a><a class="code" href="group__remote__pri__struct.html#gaeb2561c1c6c9b9c56f4ac14ab70f6c3a">00295</a> <span class="preprocessor">#define RPCAP_MSG_UPDATEFILTER_REPLY (128+RPCAP_MSG_UPDATEFILTER_REQ) </span>
+<a name="l00296"></a><a class="code" href="group__remote__pri__struct.html#ga558198e22dad94774670d4901069761b">00296</a> <span class="preprocessor">#define RPCAP_MSG_AUTH_REPLY (128+RPCAP_MSG_AUTH_REQ) </span>
+<a name="l00297"></a><a class="code" href="group__remote__pri__struct.html#ga3d52f2b6b3210dcb4f0db7bd8b46138e">00297</a> <span class="preprocessor">#define RPCAP_MSG_STATS_REPLY (128+RPCAP_MSG_STATS_REQ) </span>
+<a name="l00298"></a><a class="code" href="group__remote__pri__struct.html#ga2994f9df11cfc2b2dd0e9a9d9ac4f37b">00298</a> <span class="preprocessor">#define RPCAP_MSG_ENDCAP_REPLY (128+RPCAP_MSG_ENDCAP_REQ) </span>
+<a name="l00299"></a><a class="code" href="group__remote__pri__struct.html#ga59a57a83acc395c5e508dda7b8c33bad">00299</a> <span class="preprocessor">#define RPCAP_MSG_SETSAMPLING_REPLY (128+RPCAP_MSG_SETSAMPLING_REQ) </span>
+<a name="l00301"></a><a class="code" href="group__remote__pri__struct.html#ga3d0b7b3a3d97ebdd265ab800a004ae8c">00301</a> <span class="preprocessor">#define RPCAP_STARTCAPREQ_FLAG_PROMISC 1 </span>
+<a name="l00302"></a><a class="code" href="group__remote__pri__struct.html#ga3f87b7e89ed61dc2c9956234399058e8">00302</a> <span class="preprocessor">#define RPCAP_STARTCAPREQ_FLAG_DGRAM 2 </span>
+<a name="l00303"></a><a class="code" href="group__remote__pri__struct.html#ga0c5a71a9b6d5be2662c5a8872cf3032c">00303</a> <span class="preprocessor">#define RPCAP_STARTCAPREQ_FLAG_SERVEROPEN 4 </span>
+<a name="l00304"></a><a class="code" href="group__remote__pri__struct.html#gac22aa6103fe1490ab908a26d5c4a7c8a">00304</a> <span class="preprocessor">#define RPCAP_STARTCAPREQ_FLAG_INBOUND 8 </span>
+<a name="l00305"></a><a class="code" href="group__remote__pri__struct.html#ga2b29630fe7963da543db242459c74832">00305</a> <span class="preprocessor">#define RPCAP_STARTCAPREQ_FLAG_OUTBOUND 16 </span>
+<a name="l00307"></a><a class="code" href="group__remote__pri__struct.html#gac93bee6a0991d4334eacd6e451b54240">00307</a> <span class="preprocessor">#define RPCAP_UPDATEFILTER_BPF 1 </span>
+<a name="l00310"></a>00310 <span class="preprocessor">// Network error codes</span>
+<a name="l00311"></a><a class="code" href="group__remote__pri__struct.html#ga281ffdbe28e312f9fe6bc22c4d14fd68">00311</a> <span class="preprocessor"></span><span class="preprocessor">#define PCAP_ERR_NETW 1 </span>
+<a name="l00312"></a><a class="code" href="group__remote__pri__struct.html#ga43cc461cdabd8d39ca2346f10c233a1b">00312</a> <span class="preprocessor">#define PCAP_ERR_INITTIMEOUT 2 </span>
+<a name="l00313"></a><a class="code" href="group__remote__pri__struct.html#ga5c8c6dd12f4fcdeaefd0f8d4a67b3075">00313</a> <span class="preprocessor">#define PCAP_ERR_AUTH 3 </span>
+<a name="l00314"></a><a class="code" href="group__remote__pri__struct.html#gadfbdeb5279422bc65233eefeca885661">00314</a> <span class="preprocessor">#define PCAP_ERR_FINDALLIF 4 </span>
+<a name="l00315"></a><a class="code" href="group__remote__pri__struct.html#ga9f540070da23a5e61d0e27a61a300639">00315</a> <span class="preprocessor">#define PCAP_ERR_NOREMOTEIF 5 </span>
+<a name="l00316"></a><a class="code" href="group__remote__pri__struct.html#ga3bfdce6d89b764b103404a1ec08bc4f9">00316</a> <span class="preprocessor">#define PCAP_ERR_OPEN 6 </span>
+<a name="l00317"></a><a class="code" href="group__remote__pri__struct.html#gae12279008dbc82da60f457ae639d9c98">00317</a> <span class="preprocessor">#define PCAP_ERR_UPDATEFILTER 7 </span>
+<a name="l00318"></a><a class="code" href="group__remote__pri__struct.html#gaf2e8f37c8ecf045242e00d9d138d4130">00318</a> <span class="preprocessor">#define PCAP_ERR_GETSTATS 8 </span>
+<a name="l00319"></a><a class="code" href="group__remote__pri__struct.html#ga61631ebf63be764b06b1259fcded1b4d">00319</a> <span class="preprocessor">#define PCAP_ERR_READEX 9 </span>
+<a name="l00320"></a><a class="code" href="group__remote__pri__struct.html#ga77b7c5dbb7399e0f73c3105c181c0eba">00320</a> <span class="preprocessor">#define PCAP_ERR_HOSTNOAUTH 10 </span>
+<a name="l00321"></a><a class="code" href="group__remote__pri__struct.html#ga005853d9f448e2125b9c907cd68ae77a">00321</a> <span class="preprocessor">#define PCAP_ERR_REMOTEACCEPT 11 </span>
+<a name="l00322"></a><a class="code" href="group__remote__pri__struct.html#ga2342b31cd1b83713b43e29fc1b8bbe80">00322</a> <span class="preprocessor">#define PCAP_ERR_STARTCAPTURE 12 </span>
+<a name="l00323"></a><a class="code" href="group__remote__pri__struct.html#ga7237f6698352751c08de3b10ae711881">00323</a> <span class="preprocessor">#define PCAP_ERR_ENDCAPTURE 13 </span>
+<a name="l00324"></a><a class="code" href="group__remote__pri__struct.html#ga9a98b752c9427a52b1902b6a4aa9845a">00324</a> <span class="preprocessor">#define PCAP_ERR_RUNTIMETIMEOUT 14 </span>
+<a name="l00325"></a><a class="code" href="group__remote__pri__struct.html#gad904f96dcd2dc7ead1f50e81d27a87ee">00325</a> <span class="preprocessor">#define PCAP_ERR_SETSAMPLING 15 </span>
+<a name="l00326"></a><a class="code" href="group__remote__pri__struct.html#gaadf8ebdb03c2852d32084792c32f5014">00326</a> <span class="preprocessor">#define PCAP_ERR_WRONGMSG 16 </span>
+<a name="l00327"></a><a class="code" href="group__remote__pri__struct.html#ga27644e4198a710a3fb6763464b4cceb8">00327</a> <span class="preprocessor">#define PCAP_ERR_WRONGVER 17 // end of private documentation</span>
+<a name="l00331"></a>00331 <span class="preprocessor"></span>
+<a name="l00332"></a>00332
+<a name="l00333"></a>00333
+<a name="l00334"></a>00334
+<a name="l00335"></a>00335
+<a name="l00336"></a>00336
+<a name="l00337"></a>00337 <span class="comment">/*********************************************************</span>
+<a name="l00338"></a>00338 <span class="comment"> * *</span>
+<a name="l00339"></a>00339 <span class="comment"> * Exported funtion prototypes *</span>
+<a name="l00340"></a>00340 <span class="comment"> * *</span>
+<a name="l00341"></a>00341 <span class="comment"> *********************************************************/</span>
+<a name="l00342"></a>00342 <span class="keywordtype">int</span> <a class="code" href="pcap-remote_8h.html#aa37a07d9cf44445b81602b14c622e28a">pcap_opensource_remote</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p, <span class="keyword">struct</span> <a class="code" href="structpcap__rmtauth.html" title="This structure keeps the information needed to autheticate the user on a remote machine...">pcap_rmtauth</a> *auth);
+<a name="l00343"></a>00343 <span class="keywordtype">int</span> <a class="code" href="pcap-remote_8h.html#a0ad8f765bf454e69b98f97a3e2b002e7">pcap_startcapture_remote</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *fp);
+<a name="l00344"></a>00344
+<a name="l00345"></a>00345 <span class="keywordtype">int</span> <a class="code" href="pcap-remote_8h.html#a9592679e3e00af097835b4dfc5f2dbaa">pcap_read_nocb_remote</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p, <span class="keyword">struct</span> <a class="code" href="structpcap__pkthdr.html" title="Header of a packet in the dump file.">pcap_pkthdr</a> **pkt_header, u_char **pkt_data);
+<a name="l00346"></a>00346 <span class="keywordtype">int</span> <a class="code" href="pcap-remote_8h.html#ab0db6e07bf653640fd14650aeffe5d5a">pcap_read_remote</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p, <span class="keywordtype">int</span> cnt, <a class="code" href="group__wpcapfunc.html#gabcba231c099919ecd9300d7160b19878" title="Prototype of the callback function that receives the packets.">pcap_handler</a> callback, u_char *user);
+<a name="l00347"></a>00347 <span class="keywordtype">int</span> <a class="code" href="pcap-remote_8h.html#a27b8e02d428568edb810e6eca02f1c49">pcap_updatefilter_remote</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *fp, <span class="keyword">struct</span> bpf_program *prog);
+<a name="l00348"></a>00348 <span class="keywordtype">int</span> <a class="code" href="pcap-remote_8h.html#a3e12964f562dd76e1094d927cbe27b25">pcap_setfilter_remote</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *fp, <span class="keyword">struct</span> bpf_program *prog);
+<a name="l00349"></a>00349 <span class="keywordtype">int</span> <a class="code" href="pcap-remote_8h.html#a566a5e39d86edb314005ed4fed4d2b99">pcap_stats_remote</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p, <span class="keyword">struct</span> <a class="code" href="structpcap__stat.html" title="Structure that keeps statistical values on an interface.">pcap_stat</a> *ps);
+<a name="l00350"></a>00350 <span class="keywordtype">int</span> <a class="code" href="pcap-remote_8h.html#ae70f189ef09ba80aa809365854f2875a">pcap_setsampling_remote</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p);
+<a name="l00351"></a>00351 <span class="keyword">struct </span><a class="code" href="structpcap__stat.html" title="Structure that keeps statistical values on an interface.">pcap_stat</a> *<a class="code" href="pcap-remote_8h.html#a6e9d9cdb69408ad2b1221c8f5dcc3c80">pcap_stats_ex_remote</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p);
+<a name="l00352"></a>00352 <span class="keywordtype">void</span> <a class="code" href="pcap-remote_8h.html#a26b01d5a63ab6498293ec372b32c4860">pcap_cleanup_remote</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p);
+<a name="l00353"></a>00353
+<a name="l00354"></a>00354 <span class="keywordtype">void</span> <a class="code" href="pcap-remote_8h.html#a16e3637e641d12618e4bef76fa2fcf2e">rpcap_createhdr</a>(<span class="keyword">struct</span> <a class="code" href="structrpcap__header.html" title="Common header for all the RPCAP messages.">rpcap_header</a> *header, <a class="code" href="group__remote__pri__struct.html#gadde6aaee8457bee49c2a92621fe22b79" title="Provides an 8-bits unsigned integer.">uint8</a> type, <a class="code" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e" title="Provides a 16-bits unsigned integer.">uint16</a> value, <a class="code" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e" title="Provides a 32-bits unsigned integer.">uint32</a> length);
+<a name="l00355"></a>00355 <span class="keywordtype">int</span> <a class="code" href="pcap-remote_8h.html#a67250f8933f1b6c261e9bd4136c4f2af">rpcap_deseraddr</a>(<span class="keyword">struct</span> sockaddr_storage *sockaddrin, <span class="keyword">struct</span> sockaddr_storage **sockaddrout, <span class="keywordtype">char</span> *errbuf);
+<a name="l00356"></a>00356 <span class="keywordtype">int</span> <a class="code" href="pcap-remote_8h.html#aac91069eff112ab360f3834fa58ff53d">rpcap_checkmsg</a>(<span class="keywordtype">char</span> *errbuf, SOCKET sock, <span class="keyword">struct</span> <a class="code" href="structrpcap__header.html" title="Common header for all the RPCAP messages.">rpcap_header</a> *header, <a class="code" href="group__remote__pri__struct.html#gadde6aaee8457bee49c2a92621fe22b79" title="Provides an 8-bits unsigned integer.">uint8</a> first, ...);
+<a name="l00357"></a>00357 <span class="keywordtype">int</span> <a class="code" href="pcap-remote_8h.html#a7e311277cf79afe58e6683f24cd14b65">rpcap_senderror</a>(SOCKET sock, <span class="keywordtype">char</span> *error, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> errcode, <span class="keywordtype">char</span> *errbuf);
+<a name="l00358"></a>00358 <span class="keywordtype">int</span> <a class="code" href="pcap-remote_8h.html#a29144d786cbb343587611df6d4283886">rpcap_sendauth</a>(SOCKET sock, <span class="keyword">struct</span> <a class="code" href="structpcap__rmtauth.html" title="This structure keeps the information needed to autheticate the user on a remote machine...">pcap_rmtauth</a> *auth, <span class="keywordtype">char</span> *errbuf);
+<a name="l00359"></a>00359
+<a name="l00360"></a>00360 <span class="keywordtype">int</span> <a class="code" href="pcap-remote_8h.html#ae0fb2ae444215e729811d958fea0309e">rpcap_remoteact_getsock</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="wpcap__remote_8htm.html#a3c46d79c790748a5942fb43baa6b3073">host</a>, <span class="keywordtype">char</span> *errbuf);
+<a name="l00361"></a>00361
+<a name="l00362"></a>00362 <span class="preprocessor">#endif</span>
+<a name="l00363"></a>00363 <span class="preprocessor"></span>
+</pre></div></div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/remote-ext_8h.html b/3rdparty/winpcap/docs/html/remote-ext_8h.html
new file mode 100644
index 00000000000..0d01c0fce5d
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/remote-ext_8h.html
@@ -0,0 +1,444 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: remote-ext.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>remote-ext.h File Reference</h1>
+<p><a href="remote-ext_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__rmtauth.html">pcap_rmtauth</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This structure keeps the information needed to autheticate the user on a remote machine. <a href="structpcap__rmtauth.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__samp.html">pcap_samp</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This structure defines the information related to sampling. <a href="structpcap__samp.html#_details">More...</a><br/></td></tr>
+<tr><td colspan="2"><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__struct.html#gacacb155b596f7511f714de129ae32c97">PCAP_BUF_SIZE</a>&nbsp;&nbsp;&nbsp;1024</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Defines the maximum buffer size in which address, port, interface names are kept. <a href="group__remote__struct.html#gacacb155b596f7511f714de129ae32c97"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__source__ID.html#ga9188ad0fc0d12fc51d1e9f5e78bf9440">PCAP_SRC_FILE</a>&nbsp;&nbsp;&nbsp;2</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal representation of the type of source in use (file, remote/local interface). <a href="group__remote__source__ID.html#ga9188ad0fc0d12fc51d1e9f5e78bf9440"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__source__ID.html#ga00c875af0185ead420787d4eaba6ff71">PCAP_SRC_IFLOCAL</a>&nbsp;&nbsp;&nbsp;3</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal representation of the type of source in use (file, remote/local interface). <a href="group__remote__source__ID.html#ga00c875af0185ead420787d4eaba6ff71"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__source__ID.html#gae5558973e334926f6e7171e3a711e265">PCAP_SRC_IFREMOTE</a>&nbsp;&nbsp;&nbsp;4</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal representation of the type of source in use (file, remote/local interface). <a href="group__remote__source__ID.html#gae5558973e334926f6e7171e3a711e265"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__source__string.html#gadb108815eb410ca0ab0b444ff2e56a26">PCAP_SRC_FILE_STRING</a>&nbsp;&nbsp;&nbsp;&quot;file://&quot;</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">String that will be used to determine the type of source in use (file, remote/local interface). <a href="group__remote__source__string.html#gadb108815eb410ca0ab0b444ff2e56a26"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__source__string.html#ga6d7103b8a7e1eca8c325bd8f32c361c3">PCAP_SRC_IF_STRING</a>&nbsp;&nbsp;&nbsp;&quot;rpcap://&quot;</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">String that will be used to determine the type of source in use (file, remote/local interface). <a href="group__remote__source__string.html#ga6d7103b8a7e1eca8c325bd8f32c361c3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__open__flags.html#ga9134ce51a9a6a7d497c3dee5affdc3b9">PCAP_OPENFLAG_PROMISCUOUS</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Defines if the adapter has to go in promiscuous mode. <a href="group__remote__open__flags.html#ga9134ce51a9a6a7d497c3dee5affdc3b9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__open__flags.html#gaca53ea1423680167cf046752337b3381">PCAP_OPENFLAG_DATATX_UDP</a>&nbsp;&nbsp;&nbsp;2</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Defines if the data trasfer (in case of a remote capture) has to be done with UDP protocol. <a href="group__remote__open__flags.html#gaca53ea1423680167cf046752337b3381"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__open__flags.html#ga1af46d0c195f9a3b66955acdd52b5375">PCAP_OPENFLAG_NOCAPTURE_RPCAP</a>&nbsp;&nbsp;&nbsp;4</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Defines if the remote probe will capture its own generated traffic. <a href="group__remote__open__flags.html#ga1af46d0c195f9a3b66955acdd52b5375"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__open__flags.html#ga337712d5c8d26a0d984d6bb702d0118d">PCAP_OPENFLAG_NOCAPTURE_LOCAL</a>&nbsp;&nbsp;&nbsp;8</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Defines if the local adapter will capture its own generated traffic. <a href="group__remote__open__flags.html#ga337712d5c8d26a0d984d6bb702d0118d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__open__flags.html#gae54e5c810d75f23f69a0c78ca7f882b1">PCAP_OPENFLAG_MAX_RESPONSIVENESS</a>&nbsp;&nbsp;&nbsp;16</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This flag configures the adapter for maximum responsiveness. <a href="group__remote__open__flags.html#gae54e5c810d75f23f69a0c78ca7f882b1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__samp__methods.html#ga1fc3a70120a1188f5ed4cc2af0ff0671">PCAP_SAMP_NOSAMP</a>&nbsp;&nbsp;&nbsp;0</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">No sampling has to be done on the current capture. <a href="group__remote__samp__methods.html#ga1fc3a70120a1188f5ed4cc2af0ff0671"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__samp__methods.html#ga79bf88faf9851bf82ee30beb302e3b5f">PCAP_SAMP_1_EVERY_N</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">It defines that only 1 out of N packets must be returned to the user. <a href="group__remote__samp__methods.html#ga79bf88faf9851bf82ee30beb302e3b5f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__samp__methods.html#ga5a4ae1f017ece5c1d3b44c8a399d130b">PCAP_SAMP_FIRST_AFTER_N_MS</a>&nbsp;&nbsp;&nbsp;2</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">It defines that we have to return 1 packet every N milliseconds. <a href="group__remote__samp__methods.html#ga5a4ae1f017ece5c1d3b44c8a399d130b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__auth__methods.html#gacf895bca5fa091307dcfa3a7cb6c8882">RPCAP_RMTAUTH_NULL</a>&nbsp;&nbsp;&nbsp;0</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">It defines the NULL authentication. <a href="group__remote__auth__methods.html#gacf895bca5fa091307dcfa3a7cb6c8882"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__auth__methods.html#gab73de990af3daaf44ff88119050634fb">RPCAP_RMTAUTH_PWD</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">It defines the username/password authentication. <a href="group__remote__auth__methods.html#gab73de990af3daaf44ff88119050634fb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__remote__struct.html#gad71cfa3b6dd1dacb2e8d6cef4ae67723">RPCAP_HOSTLIST_SIZE</a>&nbsp;&nbsp;&nbsp;1024</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maximum lenght of an host name (needed for the RPCAP active mode). <a href="group__remote__struct.html#gad71cfa3b6dd1dacb2e8d6cef4ae67723"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td colspan="2"><div class="groupHeader">New WinPcap functions</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpa322029e82be137a79d8cb6e1319a414"></a> This section lists the new functions that are able to help considerably in writing WinPcap programs because of their easiness of use. </p>
+<br/><br/></div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="remote-ext_8h.html#a2b64c7b6490090d1d37088794f1f1791">pcap_open</a> (const char *source, int snaplen, int flags, int read_timeout, struct <a class="el" href="structpcap__rmtauth.html">pcap_rmtauth</a> *auth, char *errbuf)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="remote-ext_8h.html#aa3111e10f930a9772a32a922b26948b0">pcap_createsrcstr</a> (char *source, int type, const char *<a class="el" href="wpcap__remote_8htm.html#a3c46d79c790748a5942fb43baa6b3073">host</a>, const char *port, const char *name, char *errbuf)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="remote-ext_8h.html#a090e0afd3f463b4b60a64c47eddc1ba2">pcap_parsesrcstr</a> (const char *source, int *type, char *<a class="el" href="wpcap__remote_8htm.html#a3c46d79c790748a5942fb43baa6b3073">host</a>, char *port, char *name, char *errbuf)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="remote-ext_8h.html#a98f36e62c95c6ad81eaa8b2bbeb8f16e">pcap_findalldevs_ex</a> (char *source, struct <a class="el" href="structpcap__rmtauth.html">pcap_rmtauth</a> *auth, <a class="el" href="structpcap__if.html">pcap_if_t</a> **alldevs, char *errbuf)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structpcap__samp.html">pcap_samp</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="remote-ext_8h.html#a84c7d55f5b0e7d545b38d6b8e7bde005">pcap_setsampling</a> (<a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *p)</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Remote Capture functions</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p><a class="anchor" id="amgrpcef4716e2c6764b8872a369500aa8e6f"></a> </p>
+<br/><br/></div></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">SOCKET&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="remote-ext_8h.html#a5495943cc8262db57f726e2a23f837dd">pcap_remoteact_accept</a> (const char *address, const char *port, const char *hostlist, char *connectinghost, struct <a class="el" href="structpcap__rmtauth.html">pcap_rmtauth</a> *auth, char *errbuf)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="remote-ext_8h.html#a7ee8f666bff537aa457b7c05651cf815">pcap_remoteact_list</a> (char *hostlist, char sep, int size, char *errbuf)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="remote-ext_8h.html#a6a84e03497f946d61c440696e57e2c95">pcap_remoteact_close</a> (const char *<a class="el" href="wpcap__remote_8htm.html#a3c46d79c790748a5942fb43baa6b3073">host</a>, char *errbuf)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="remote-ext_8h.html#a7b022e0a67f5ff62fd13df5c688d6d82">pcap_remoteact_cleanup</a> ()</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>The goal of this file it to include most of the new definitions that should be placed into the pcap.h file.</p>
+<p>It includes all new definitions (structures and functions like <a class="el" href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791" title="Open a generic source in order to capture / send (WinPcap only) traffic.">pcap_open()</a>. Some of the functions are not really a remote feature, but, right now, they are placed here. </p>
+
+<p>Definition in file <a class="el" href="remote-ext_8h_source.html">remote-ext.h</a>.</p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="aa3111e10f930a9772a32a922b26948b0"></a><!-- doxytag: member="remote&#45;ext.h::pcap_createsrcstr" ref="aa3111e10f930a9772a32a922b26948b0" args="(char *source, int type, const char *host, const char *port, const char *name, char *errbuf)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_createsrcstr </td>
+ <td>(</td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>source</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>type</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>host</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>port</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>name</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>errbuf</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a98f36e62c95c6ad81eaa8b2bbeb8f16e"></a><!-- doxytag: member="remote&#45;ext.h::pcap_findalldevs_ex" ref="a98f36e62c95c6ad81eaa8b2bbeb8f16e" args="(char *source, struct pcap_rmtauth *auth, pcap_if_t **alldevs, char *errbuf)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_findalldevs_ex </td>
+ <td>(</td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>source</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct <a class="el" href="structpcap__rmtauth.html">pcap_rmtauth</a> *&nbsp;</td>
+ <td class="paramname"> <em>auth</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structpcap__if.html">pcap_if_t</a> **&nbsp;</td>
+ <td class="paramname"> <em>alldevs</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>errbuf</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a2b64c7b6490090d1d37088794f1f1791"></a><!-- doxytag: member="remote&#45;ext.h::pcap_open" ref="a2b64c7b6490090d1d37088794f1f1791" args="(const char *source, int snaplen, int flags, int read_timeout, struct pcap_rmtauth *auth, char *errbuf)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a>* pcap_open </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>source</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>snaplen</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>flags</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>read_timeout</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct <a class="el" href="structpcap__rmtauth.html">pcap_rmtauth</a> *&nbsp;</td>
+ <td class="paramname"> <em>auth</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>errbuf</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a090e0afd3f463b4b60a64c47eddc1ba2"></a><!-- doxytag: member="remote&#45;ext.h::pcap_parsesrcstr" ref="a090e0afd3f463b4b60a64c47eddc1ba2" args="(const char *source, int *type, char *host, char *port, char *name, char *errbuf)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_parsesrcstr </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>source</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int *&nbsp;</td>
+ <td class="paramname"> <em>type</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>host</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>port</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>name</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>errbuf</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a5495943cc8262db57f726e2a23f837dd"></a><!-- doxytag: member="remote&#45;ext.h::pcap_remoteact_accept" ref="a5495943cc8262db57f726e2a23f837dd" args="(const char *address, const char *port, const char *hostlist, char *connectinghost, struct pcap_rmtauth *auth, char *errbuf)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SOCKET pcap_remoteact_accept </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>address</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>port</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>hostlist</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>connectinghost</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct <a class="el" href="structpcap__rmtauth.html">pcap_rmtauth</a> *&nbsp;</td>
+ <td class="paramname"> <em>auth</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>errbuf</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a7b022e0a67f5ff62fd13df5c688d6d82"></a><!-- doxytag: member="remote&#45;ext.h::pcap_remoteact_cleanup" ref="a7b022e0a67f5ff62fd13df5c688d6d82" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void pcap_remoteact_cleanup </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a6a84e03497f946d61c440696e57e2c95"></a><!-- doxytag: member="remote&#45;ext.h::pcap_remoteact_close" ref="a6a84e03497f946d61c440696e57e2c95" args="(const char *host, char *errbuf)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_remoteact_close </td>
+ <td>(</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>host</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>errbuf</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a7ee8f666bff537aa457b7c05651cf815"></a><!-- doxytag: member="remote&#45;ext.h::pcap_remoteact_list" ref="a7ee8f666bff537aa457b7c05651cf815" args="(char *hostlist, char sep, int size, char *errbuf)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcap_remoteact_list </td>
+ <td>(</td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>hostlist</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char&nbsp;</td>
+ <td class="paramname"> <em>sep</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>size</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>errbuf</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a84c7d55f5b0e7d545b38d6b8e7bde005"></a><!-- doxytag: member="remote&#45;ext.h::pcap_setsampling" ref="a84c7d55f5b0e7d545b38d6b8e7bde005" args="(pcap_t *p)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct <a class="el" href="structpcap__samp.html">pcap_samp</a>* pcap_setsampling </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7">pcap_t</a> *&nbsp;</td>
+ <td class="paramname"> <em>p</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [read]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/remote-ext_8h_source.html b/3rdparty/winpcap/docs/html/remote-ext_8h_source.html
new file mode 100644
index 00000000000..e0052f8947f
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/remote-ext_8h_source.html
@@ -0,0 +1,171 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: remote-ext.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+<h1>remote-ext.h</h1><a href="remote-ext_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (c) 2002 - 2003</span>
+<a name="l00003"></a>00003 <span class="comment"> * NetGroup, Politecnico di Torino (Italy)</span>
+<a name="l00004"></a>00004 <span class="comment"> * All rights reserved.</span>
+<a name="l00005"></a>00005 <span class="comment"> * </span>
+<a name="l00006"></a>00006 <span class="comment"> * Redistribution and use in source and binary forms, with or without </span>
+<a name="l00007"></a>00007 <span class="comment"> * modification, are permitted provided that the following conditions </span>
+<a name="l00008"></a>00008 <span class="comment"> * are met:</span>
+<a name="l00009"></a>00009 <span class="comment"> * </span>
+<a name="l00010"></a>00010 <span class="comment"> * 1. Redistributions of source code must retain the above copyright </span>
+<a name="l00011"></a>00011 <span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
+<a name="l00012"></a>00012 <span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright </span>
+<a name="l00013"></a>00013 <span class="comment"> * notice, this list of conditions and the following disclaimer in the </span>
+<a name="l00014"></a>00014 <span class="comment"> * documentation and/or other materials provided with the distribution. </span>
+<a name="l00015"></a>00015 <span class="comment"> * 3. Neither the name of the Politecnico di Torino nor the names of its </span>
+<a name="l00016"></a>00016 <span class="comment"> * contributors may be used to endorse or promote products derived from </span>
+<a name="l00017"></a>00017 <span class="comment"> * this software without specific prior written permission. </span>
+<a name="l00018"></a>00018 <span class="comment"> * </span>
+<a name="l00019"></a>00019 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS </span>
+<a name="l00020"></a>00020 <span class="comment"> * &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT </span>
+<a name="l00021"></a>00021 <span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR </span>
+<a name="l00022"></a>00022 <span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT </span>
+<a name="l00023"></a>00023 <span class="comment"> * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, </span>
+<a name="l00024"></a>00024 <span class="comment"> * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT </span>
+<a name="l00025"></a>00025 <span class="comment"> * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, </span>
+<a name="l00026"></a>00026 <span class="comment"> * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY </span>
+<a name="l00027"></a>00027 <span class="comment"> * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT </span>
+<a name="l00028"></a>00028 <span class="comment"> * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE </span>
+<a name="l00029"></a>00029 <span class="comment"> * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
+<a name="l00030"></a>00030 <span class="comment"> * </span>
+<a name="l00031"></a>00031 <span class="comment"> */</span>
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <span class="preprocessor">#ifndef __REMOTE_EXT_H__</span>
+<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="preprocessor">#define __REMOTE_EXT_H__</span>
+<a name="l00036"></a>00036 <span class="preprocessor"></span>
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="preprocessor">#ifndef HAVE_REMOTE</span>
+<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="preprocessor">#error Please do not include this file directly. Just define HAVE_REMOTE and then include pcap.h</span>
+<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00041"></a>00041 <span class="preprocessor"></span>
+<a name="l00042"></a>00042 <span class="comment">// Definition for Microsoft Visual Studio</span>
+<a name="l00043"></a>00043 <span class="preprocessor">#if _MSC_VER &gt; 1000</span>
+<a name="l00044"></a>00044 <span class="preprocessor"></span><span class="preprocessor">#pragma once</span>
+<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00046"></a>00046 <span class="preprocessor"></span>
+<a name="l00047"></a>00047 <span class="preprocessor">#ifdef __cplusplus</span>
+<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {
+<a name="l00049"></a>00049 <span class="preprocessor">#endif</span>
+<a name="l00050"></a>00050 <span class="preprocessor"></span>
+<a name="l00064"></a>00064 <span class="comment">// All this stuff is public</span>
+<a name="l00079"></a><a class="code" href="group__remote__struct.html#gacacb155b596f7511f714de129ae32c97">00079</a> <span class="comment"></span><span class="preprocessor">#define PCAP_BUF_SIZE 1024</span>
+<a name="l00080"></a>00080 <span class="preprocessor"></span>
+<a name="l00081"></a>00081
+<a name="l00093"></a><a class="code" href="group__remote__source__ID.html#ga9188ad0fc0d12fc51d1e9f5e78bf9440">00093</a> <span class="preprocessor">#define PCAP_SRC_FILE 2</span>
+<a name="l00094"></a>00094 <span class="preprocessor"></span>
+<a name="l00101"></a><a class="code" href="group__remote__source__ID.html#ga00c875af0185ead420787d4eaba6ff71">00101</a> <span class="preprocessor">#define PCAP_SRC_IFLOCAL 3</span>
+<a name="l00102"></a>00102 <span class="preprocessor"></span>
+<a name="l00109"></a><a class="code" href="group__remote__source__ID.html#gae5558973e334926f6e7171e3a711e265">00109</a> <span class="preprocessor">#define PCAP_SRC_IFREMOTE 4</span>
+<a name="l00110"></a>00110 <span class="preprocessor"></span>
+<a name="l00164"></a><a class="code" href="group__remote__source__string.html#gadb108815eb410ca0ab0b444ff2e56a26">00164</a> <span class="preprocessor">#define PCAP_SRC_FILE_STRING &quot;file://&quot;</span>
+<a name="l00165"></a>00165 <span class="preprocessor"></span>
+<a name="l00177"></a><a class="code" href="group__remote__source__string.html#ga6d7103b8a7e1eca8c325bd8f32c361c3">00177</a> <span class="preprocessor">#define PCAP_SRC_IF_STRING &quot;rpcap://&quot;</span>
+<a name="l00178"></a>00178 <span class="preprocessor"></span>
+<a name="l00203"></a><a class="code" href="group__remote__open__flags.html#ga9134ce51a9a6a7d497c3dee5affdc3b9">00203</a> <span class="preprocessor">#define PCAP_OPENFLAG_PROMISCUOUS 1</span>
+<a name="l00204"></a>00204 <span class="preprocessor"></span>
+<a name="l00217"></a><a class="code" href="group__remote__open__flags.html#gaca53ea1423680167cf046752337b3381">00217</a> <span class="preprocessor">#define PCAP_OPENFLAG_DATATX_UDP 2</span>
+<a name="l00218"></a>00218 <span class="preprocessor"></span>
+<a name="l00219"></a>00219
+<a name="l00228"></a><a class="code" href="group__remote__open__flags.html#ga1af46d0c195f9a3b66955acdd52b5375">00228</a> <span class="preprocessor">#define PCAP_OPENFLAG_NOCAPTURE_RPCAP 4</span>
+<a name="l00229"></a>00229 <span class="preprocessor"></span>
+<a name="l00237"></a><a class="code" href="group__remote__open__flags.html#ga337712d5c8d26a0d984d6bb702d0118d">00237</a> <span class="preprocessor">#define PCAP_OPENFLAG_NOCAPTURE_LOCAL 8</span>
+<a name="l00238"></a>00238 <span class="preprocessor"></span>
+<a name="l00248"></a><a class="code" href="group__remote__open__flags.html#gae54e5c810d75f23f69a0c78ca7f882b1">00248</a> <span class="preprocessor">#define PCAP_OPENFLAG_MAX_RESPONSIVENESS 16</span>
+<a name="l00249"></a>00249 <span class="preprocessor"></span>
+<a name="l00265"></a><a class="code" href="group__remote__samp__methods.html#ga1fc3a70120a1188f5ed4cc2af0ff0671">00265</a> <span class="preprocessor">#define PCAP_SAMP_NOSAMP 0</span>
+<a name="l00266"></a>00266 <span class="preprocessor"></span>
+<a name="l00275"></a><a class="code" href="group__remote__samp__methods.html#ga79bf88faf9851bf82ee30beb302e3b5f">00275</a> <span class="preprocessor">#define PCAP_SAMP_1_EVERY_N 1</span>
+<a name="l00276"></a>00276 <span class="preprocessor"></span>
+<a name="l00285"></a><a class="code" href="group__remote__samp__methods.html#ga5a4ae1f017ece5c1d3b44c8a399d130b">00285</a> <span class="preprocessor">#define PCAP_SAMP_FIRST_AFTER_N_MS 2</span>
+<a name="l00286"></a>00286 <span class="preprocessor"></span>
+<a name="l00304"></a><a class="code" href="group__remote__auth__methods.html#gacf895bca5fa091307dcfa3a7cb6c8882">00304</a> <span class="preprocessor">#define RPCAP_RMTAUTH_NULL 0</span>
+<a name="l00305"></a>00305 <span class="preprocessor"></span>
+<a name="l00315"></a><a class="code" href="group__remote__auth__methods.html#gab73de990af3daaf44ff88119050634fb">00315</a> <span class="preprocessor">#define RPCAP_RMTAUTH_PWD 1</span>
+<a name="l00316"></a>00316 <span class="preprocessor"></span>
+<a name="l00338"></a><a class="code" href="structpcap__rmtauth.html">00338</a> <span class="keyword">struct </span><a class="code" href="structpcap__rmtauth.html" title="This structure keeps the information needed to autheticate the user on a remote machine...">pcap_rmtauth</a>
+<a name="l00339"></a>00339 {
+<a name="l00349"></a><a class="code" href="structpcap__rmtauth.html#ac765329451135abec74c45e1897abf26">00349</a> <span class="keywordtype">int</span> <a class="code" href="structpcap__rmtauth.html#ac765329451135abec74c45e1897abf26" title="Type of the authentication required.">type</a>;
+<a name="l00357"></a><a class="code" href="structpcap__rmtauth.html#a9b20c006bd90a09e1465fb668700e81d">00357</a> <span class="keywordtype">char</span> *<a class="code" href="structpcap__rmtauth.html#a9b20c006bd90a09e1465fb668700e81d" title="Zero-terminated string containing the username that has to be used on the remote...">username</a>;
+<a name="l00365"></a><a class="code" href="structpcap__rmtauth.html#a59460a3ff2c12443d1022e5cc0fba85c">00365</a> <span class="keywordtype">char</span> *<a class="code" href="structpcap__rmtauth.html#a59460a3ff2c12443d1022e5cc0fba85c" title="Zero-terminated string containing the password that has to be used on the remote...">password</a>;
+<a name="l00366"></a>00366 };
+<a name="l00367"></a>00367
+<a name="l00368"></a>00368
+<a name="l00380"></a><a class="code" href="structpcap__samp.html">00380</a> <span class="keyword">struct </span><a class="code" href="structpcap__samp.html" title="This structure defines the information related to sampling.">pcap_samp</a>
+<a name="l00381"></a>00381 {
+<a name="l00386"></a><a class="code" href="structpcap__samp.html#adcc9a19ad3119f823a658f6a49a24e64">00386</a> <span class="keywordtype">int</span> <a class="code" href="structpcap__samp.html#adcc9a19ad3119f823a658f6a49a24e64">method</a>;
+<a name="l00387"></a>00387
+<a name="l00392"></a><a class="code" href="structpcap__samp.html#ac4f474c82e82cbb89ca7c36dd52be0ed">00392</a> <span class="keywordtype">int</span> <a class="code" href="structpcap__samp.html#ac4f474c82e82cbb89ca7c36dd52be0ed">value</a>;
+<a name="l00393"></a>00393 };
+<a name="l00394"></a>00394
+<a name="l00395"></a>00395
+<a name="l00396"></a>00396
+<a name="l00397"></a>00397
+<a name="l00399"></a><a class="code" href="group__remote__struct.html#gad71cfa3b6dd1dacb2e8d6cef4ae67723">00399</a> <span class="preprocessor">#define RPCAP_HOSTLIST_SIZE 1024</span>
+<a name="l00400"></a>00400 <span class="preprocessor"></span>
+<a name="l00401"></a>00401 <span class="comment">// end of public documentation</span>
+<a name="l00405"></a>00405
+<a name="l00406"></a>00406
+<a name="l00407"></a>00407 <span class="comment">// Exported functions</span>
+<a name="l00408"></a>00408
+<a name="l00409"></a>00409
+<a name="l00410"></a>00410
+<a name="l00416"></a>00416 <span class="comment">//\{</span>
+<a name="l00417"></a>00417 <a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *<a class="code" href="group__wpcapfunc.html#ga2b64c7b6490090d1d37088794f1f1791" title="Open a generic source in order to capture / send (WinPcap only) traffic.">pcap_open</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *source, <span class="keywordtype">int</span> snaplen, <span class="keywordtype">int</span> flags, <span class="keywordtype">int</span> read_timeout, <span class="keyword">struct</span> <a class="code" href="structpcap__rmtauth.html" title="This structure keeps the information needed to autheticate the user on a remote machine...">pcap_rmtauth</a> *auth, <span class="keywordtype">char</span> *errbuf);
+<a name="l00418"></a>00418 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#gaa3111e10f930a9772a32a922b26948b0" title="Accept a set of strings (host name, port, ...), and it returns the complete source...">pcap_createsrcstr</a>(<span class="keywordtype">char</span> *source, <span class="keywordtype">int</span> type, <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="wpcap__remote_8htm.html#a3c46d79c790748a5942fb43baa6b3073">host</a>, <span class="keyword">const</span> <span class="keywordtype">char</span> *port, <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">char</span> *errbuf);
+<a name="l00419"></a>00419 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#ga090e0afd3f463b4b60a64c47eddc1ba2" title="Parse the source string and returns the pieces in which the source can be split.">pcap_parsesrcstr</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *source, <span class="keywordtype">int</span> *type, <span class="keywordtype">char</span> *<a class="code" href="wpcap__remote_8htm.html#a3c46d79c790748a5942fb43baa6b3073">host</a>, <span class="keywordtype">char</span> *port, <span class="keywordtype">char</span> *name, <span class="keywordtype">char</span> *errbuf);
+<a name="l00420"></a>00420 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#ga98f36e62c95c6ad81eaa8b2bbeb8f16e" title="Create a list of network devices that can be opened with pcap_open().">pcap_findalldevs_ex</a>(<span class="keywordtype">char</span> *source, <span class="keyword">struct</span> <a class="code" href="structpcap__rmtauth.html" title="This structure keeps the information needed to autheticate the user on a remote machine...">pcap_rmtauth</a> *auth, <a class="code" href="structpcap__if.html" title="Item in a list of interfaces, used by pcap_findalldevs().">pcap_if_t</a> **alldevs, <span class="keywordtype">char</span> *errbuf);
+<a name="l00421"></a>00421 <span class="keyword">struct </span><a class="code" href="structpcap__samp.html" title="This structure defines the information related to sampling.">pcap_samp</a> *<a class="code" href="group__wpcapfunc.html#ga84c7d55f5b0e7d545b38d6b8e7bde005" title="Define a sampling method for packet capture.">pcap_setsampling</a>(<a class="code" href="group__wpcap__def.html#ga4711d025f83503ce692efa5e45ec60a7" title="Descriptor of an open capture instance. This structure is opaque to the user, that...">pcap_t</a> *p);
+<a name="l00422"></a>00422
+<a name="l00423"></a>00423 <span class="comment">//\}</span>
+<a name="l00424"></a>00424 <span class="comment">// End of new winpcap functions</span>
+<a name="l00425"></a>00425
+<a name="l00426"></a>00426
+<a name="l00427"></a>00427
+<a name="l00430"></a>00430 <span class="comment">//\{ </span>
+<a name="l00431"></a>00431 SOCKET <a class="code" href="group__wpcapfunc.html#ga5495943cc8262db57f726e2a23f837dd" title="Block until a network connection is accepted (active mode only).">pcap_remoteact_accept</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *address, <span class="keyword">const</span> <span class="keywordtype">char</span> *port, <span class="keyword">const</span> <span class="keywordtype">char</span> *hostlist, <span class="keywordtype">char</span> *connectinghost, <span class="keyword">struct</span> <a class="code" href="structpcap__rmtauth.html" title="This structure keeps the information needed to autheticate the user on a remote machine...">pcap_rmtauth</a> *auth, <span class="keywordtype">char</span> *errbuf);
+<a name="l00432"></a>00432 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#ga7ee8f666bff537aa457b7c05651cf815" title="Return the hostname of the host that have an active connection with us (active mode...">pcap_remoteact_list</a>(<span class="keywordtype">char</span> *hostlist, <span class="keywordtype">char</span> sep, <span class="keywordtype">int</span> size, <span class="keywordtype">char</span> *errbuf);
+<a name="l00433"></a>00433 <span class="keywordtype">int</span> <a class="code" href="group__wpcapfunc.html#ga6a84e03497f946d61c440696e57e2c95" title="Drop an active connection (active mode only).">pcap_remoteact_close</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="wpcap__remote_8htm.html#a3c46d79c790748a5942fb43baa6b3073">host</a>, <span class="keywordtype">char</span> *errbuf);
+<a name="l00434"></a>00434 <span class="keywordtype">void</span> <a class="code" href="group__wpcapfunc.html#ga7b022e0a67f5ff62fd13df5c688d6d82" title="Clean the socket that is currently used in waiting active connections.">pcap_remoteact_cleanup</a>();
+<a name="l00435"></a>00435 <span class="comment">//\}</span>
+<a name="l00436"></a>00436 <span class="comment">// End of remote capture functions</span>
+<a name="l00437"></a>00437
+<a name="l00438"></a>00438 <span class="preprocessor">#ifdef __cplusplus</span>
+<a name="l00439"></a>00439 <span class="preprocessor"></span>}
+<a name="l00440"></a>00440 <span class="preprocessor">#endif</span>
+<a name="l00441"></a>00441 <span class="preprocessor"></span>
+<a name="l00442"></a>00442
+<a name="l00443"></a>00443 <span class="preprocessor">#endif</span>
+<a name="l00444"></a>00444 <span class="preprocessor"></span>
+</pre></div></div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/rpcapd_8h.html b/3rdparty/winpcap/docs/html/rpcapd_8h.html
new file mode 100644
index 00000000000..ba50c1159bc
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/rpcapd_8h.html
@@ -0,0 +1,162 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: rpcapd.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>rpcapd.h File Reference</h1>
+<p><a href="rpcapd_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structactive__pars.html">active_pars</a></td></tr>
+<tr><td colspan="2"><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="rpcapd_8h.html#a3b6a35b8be8405a9db72cc5dea97954b">PROGRAM_NAME</a>&nbsp;&nbsp;&nbsp;&quot;rpcapd&quot;</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="rpcapd_8h.html#a842ed03f27719bc87666bfd1f75415b8">MAX_LINE</a>&nbsp;&nbsp;&nbsp;2048</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="rpcapd_8h.html#a402c3bd0564ae5f2446b91ec60ef4d09">SOCKET_MAXCONN</a>&nbsp;&nbsp;&nbsp;10</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="rpcapd_8h.html#aee0706af5319f49fa11db8472e20feaa">MAX_HOST_LIST</a>&nbsp;&nbsp;&nbsp;64000</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="rpcapd_8h.html#ad20af9f33ade406218abf3ba936bdc8d">MAX_ACTIVE_LIST</a>&nbsp;&nbsp;&nbsp;10</td></tr>
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="rpcapd_8h.html#a0cc389020d1b9211cfd535f6777cf305">main_startup</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="rpcapd_8h.html#ae4c3a933a421273aece3c49c311ea51e">main_cleanup</a> (int sign)</td></tr>
+</table>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="ad20af9f33ade406218abf3ba936bdc8d"></a><!-- doxytag: member="rpcapd.h::MAX_ACTIVE_LIST" ref="ad20af9f33ade406218abf3ba936bdc8d" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define MAX_ACTIVE_LIST&nbsp;&nbsp;&nbsp;10</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="rpcapd_8h_source.html#l00041">41</a> of file <a class="el" href="rpcapd_8h_source.html">rpcapd.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aee0706af5319f49fa11db8472e20feaa"></a><!-- doxytag: member="rpcapd.h::MAX_HOST_LIST" ref="aee0706af5319f49fa11db8472e20feaa" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define MAX_HOST_LIST&nbsp;&nbsp;&nbsp;64000</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="rpcapd_8h_source.html#l00040">40</a> of file <a class="el" href="rpcapd_8h_source.html">rpcapd.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a842ed03f27719bc87666bfd1f75415b8"></a><!-- doxytag: member="rpcapd.h::MAX_LINE" ref="a842ed03f27719bc87666bfd1f75415b8" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define MAX_LINE&nbsp;&nbsp;&nbsp;2048</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="rpcapd_8h_source.html#l00038">38</a> of file <a class="el" href="rpcapd_8h_source.html">rpcapd.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3b6a35b8be8405a9db72cc5dea97954b"></a><!-- doxytag: member="rpcapd.h::PROGRAM_NAME" ref="a3b6a35b8be8405a9db72cc5dea97954b" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define PROGRAM_NAME&nbsp;&nbsp;&nbsp;&quot;rpcapd&quot;</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="rpcapd_8h_source.html#l00037">37</a> of file <a class="el" href="rpcapd_8h_source.html">rpcapd.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a402c3bd0564ae5f2446b91ec60ef4d09"></a><!-- doxytag: member="rpcapd.h::SOCKET_MAXCONN" ref="a402c3bd0564ae5f2446b91ec60ef4d09" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define SOCKET_MAXCONN&nbsp;&nbsp;&nbsp;10</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="rpcapd_8h_source.html#l00039">39</a> of file <a class="el" href="rpcapd_8h_source.html">rpcapd.h</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ae4c3a933a421273aece3c49c311ea51e"></a><!-- doxytag: member="rpcapd.h::main_cleanup" ref="ae4c3a933a421273aece3c49c311ea51e" args="(int sign)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void main_cleanup </td>
+ <td>(</td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>sign</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a0cc389020d1b9211cfd535f6777cf305"></a><!-- doxytag: member="rpcapd.h::main_startup" ref="a0cc389020d1b9211cfd535f6777cf305" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void main_startup </td>
+ <td>(</td>
+ <td class="paramtype">void&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/rpcapd_8h_source.html b/3rdparty/winpcap/docs/html/rpcapd_8h_source.html
new file mode 100644
index 00000000000..eaa95e65036
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/rpcapd_8h_source.html
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: rpcapd.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+<h1>rpcapd.h</h1><a href="rpcapd_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (c) 2002 - 2003</span>
+<a name="l00003"></a>00003 <span class="comment"> * NetGroup, Politecnico di Torino (Italy)</span>
+<a name="l00004"></a>00004 <span class="comment"> * All rights reserved.</span>
+<a name="l00005"></a>00005 <span class="comment"> * </span>
+<a name="l00006"></a>00006 <span class="comment"> * Redistribution and use in source and binary forms, with or without </span>
+<a name="l00007"></a>00007 <span class="comment"> * modification, are permitted provided that the following conditions </span>
+<a name="l00008"></a>00008 <span class="comment"> * are met:</span>
+<a name="l00009"></a>00009 <span class="comment"> * </span>
+<a name="l00010"></a>00010 <span class="comment"> * 1. Redistributions of source code must retain the above copyright </span>
+<a name="l00011"></a>00011 <span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
+<a name="l00012"></a>00012 <span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright </span>
+<a name="l00013"></a>00013 <span class="comment"> * notice, this list of conditions and the following disclaimer in the </span>
+<a name="l00014"></a>00014 <span class="comment"> * documentation and/or other materials provided with the distribution. </span>
+<a name="l00015"></a>00015 <span class="comment"> * 3. Neither the name of the Politecnico di Torino nor the names of its </span>
+<a name="l00016"></a>00016 <span class="comment"> * contributors may be used to endorse or promote products derived from </span>
+<a name="l00017"></a>00017 <span class="comment"> * this software without specific prior written permission. </span>
+<a name="l00018"></a>00018 <span class="comment"> * </span>
+<a name="l00019"></a>00019 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS </span>
+<a name="l00020"></a>00020 <span class="comment"> * &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT </span>
+<a name="l00021"></a>00021 <span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR </span>
+<a name="l00022"></a>00022 <span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT </span>
+<a name="l00023"></a>00023 <span class="comment"> * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, </span>
+<a name="l00024"></a>00024 <span class="comment"> * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT </span>
+<a name="l00025"></a>00025 <span class="comment"> * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, </span>
+<a name="l00026"></a>00026 <span class="comment"> * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY </span>
+<a name="l00027"></a>00027 <span class="comment"> * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT </span>
+<a name="l00028"></a>00028 <span class="comment"> * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE </span>
+<a name="l00029"></a>00029 <span class="comment"> * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
+<a name="l00030"></a>00030 <span class="comment"> * </span>
+<a name="l00031"></a>00031 <span class="comment"> */</span>
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="preprocessor">#ifndef __RPCAPD_H__</span>
+<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="preprocessor">#define __RPCAPD_H__</span>
+<a name="l00035"></a>00035 <span class="preprocessor"></span>
+<a name="l00036"></a>00036
+<a name="l00037"></a><a class="code" href="rpcapd_8h.html#a3b6a35b8be8405a9db72cc5dea97954b">00037</a> <span class="preprocessor">#define PROGRAM_NAME &quot;rpcapd&quot;</span>
+<a name="l00038"></a><a class="code" href="rpcapd_8h.html#a842ed03f27719bc87666bfd1f75415b8">00038</a> <span class="preprocessor"></span><span class="preprocessor">#define MAX_LINE 2048 </span><span class="comment">/* Maximum chars allowed for the host list (in passive mode) */</span>
+<a name="l00039"></a><a class="code" href="rpcapd_8h.html#a402c3bd0564ae5f2446b91ec60ef4d09">00039</a> <span class="preprocessor">#define SOCKET_MAXCONN 10 </span><span class="comment">/* Maximum number of connections queued into the accept() */</span>
+<a name="l00040"></a><a class="code" href="rpcapd_8h.html#aee0706af5319f49fa11db8472e20feaa">00040</a> <span class="preprocessor">#define MAX_HOST_LIST 64000</span>
+<a name="l00041"></a><a class="code" href="rpcapd_8h.html#ad20af9f33ade406218abf3ba936bdc8d">00041</a> <span class="preprocessor"></span><span class="preprocessor">#define MAX_ACTIVE_LIST 10</span>
+<a name="l00042"></a>00042 <span class="preprocessor"></span>
+<a name="l00043"></a>00043
+<a name="l00044"></a><a class="code" href="structactive__pars.html">00044</a> <span class="keyword">struct </span><a class="code" href="structactive__pars.html">active_pars</a>
+<a name="l00045"></a>00045 {
+<a name="l00046"></a><a class="code" href="structactive__pars.html#a5511071c05ef7770f90a2a75366c2929">00046</a> <span class="keywordtype">char</span> <a class="code" href="structactive__pars.html#a5511071c05ef7770f90a2a75366c2929">address</a>[<a class="code" href="rpcapd_8h.html#a842ed03f27719bc87666bfd1f75415b8">MAX_LINE</a> + 1]; <span class="comment">// keeps the network address (either numeric or literal) to of the active client</span>
+<a name="l00047"></a><a class="code" href="structactive__pars.html#a27201989fe772052edc147c02e61ae00">00047</a> <span class="keywordtype">char</span> <a class="code" href="structactive__pars.html#a27201989fe772052edc147c02e61ae00">port</a>[<a class="code" href="rpcapd_8h.html#a842ed03f27719bc87666bfd1f75415b8">MAX_LINE</a> + 1]; <span class="comment">// keeps the network port to bind to</span>
+<a name="l00048"></a><a class="code" href="structactive__pars.html#a4dc44d22f13bc5c59bff73e549e96a5c">00048</a> <span class="keywordtype">int</span> <a class="code" href="structactive__pars.html#a4dc44d22f13bc5c59bff73e549e96a5c">ai_family</a>; <span class="comment">// address faimly to use</span>
+<a name="l00049"></a>00049 };
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="rpcapd_8h.html#a0cc389020d1b9211cfd535f6777cf305">main_startup</a>(<span class="keywordtype">void</span>);
+<a name="l00053"></a>00053 <span class="keywordtype">void</span> <a class="code" href="rpcapd_8h.html#ae4c3a933a421273aece3c49c311ea51e">main_cleanup</a>(<span class="keywordtype">int</span> sign);
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="preprocessor">#endif</span>
+<a name="l00056"></a>00056 <span class="preprocessor"></span>
+</pre></div></div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/stats.gif b/3rdparty/winpcap/docs/html/stats.gif
new file mode 100644
index 00000000000..5c44ba35694
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/stats.gif
Binary files differ
diff --git a/3rdparty/winpcap/docs/html/stats_wpcap.gif b/3rdparty/winpcap/docs/html/stats_wpcap.gif
new file mode 100644
index 00000000000..f65263185ca
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/stats_wpcap.gif
Binary files differ
diff --git a/3rdparty/winpcap/docs/html/structJIT__BPF__Filter.html b/3rdparty/winpcap/docs/html/structJIT__BPF__Filter.html
new file mode 100644
index 00000000000..d0736f6ba6b
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/structJIT__BPF__Filter.html
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: JIT_BPF_Filter Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>JIT_BPF_Filter Struct Reference<br/>
+<small>
+[<a class="el" href="group__NPF__jitter.html">NPF Just-in-time compiler definitions</a>]</small>
+</h1><!-- doxytag: class="JIT_BPF_Filter" -->
+<p>Structure describing a x86 filtering program created by the jitter.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="jitter_8h_source.html">jitter.h</a>&gt;</code></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__NPF__jitter.html#ga55e96d93d223cecaa3c69437c1603c29">BPF_filter_function</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structJIT__BPF__Filter.html#a2c70f0e9fd23c617d13b2dc57bb32162">Function</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The x86 filtering binary, in the form of a BPF_filter_function. <a href="#a2c70f0e9fd23c617d13b2dc57bb32162"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structJIT__BPF__Filter.html#aeb16cd6e768dbea45530de3d0fc83e51">mem</a></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Structure describing a x86 filtering program created by the jitter. </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00095">95</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="a2c70f0e9fd23c617d13b2dc57bb32162"></a><!-- doxytag: member="JIT_BPF_Filter::Function" ref="a2c70f0e9fd23c617d13b2dc57bb32162" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__NPF__jitter.html#ga55e96d93d223cecaa3c69437c1603c29">BPF_filter_function</a> <a class="el" href="structJIT__BPF__Filter.html#a2c70f0e9fd23c617d13b2dc57bb32162">Function</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>The x86 filtering binary, in the form of a BPF_filter_function. </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00096">96</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aeb16cd6e768dbea45530de3d0fc83e51"></a><!-- doxytag: member="JIT_BPF_Filter::mem" ref="aeb16cd6e768dbea45530de3d0fc83e51" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">PINT <a class="el" href="structJIT__BPF__Filter.html#aeb16cd6e768dbea45530de3d0fc83e51">mem</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00097">97</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="jitter_8h_source.html">jitter.h</a></li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/structPacketHeader.html b/3rdparty/winpcap/docs/html/structPacketHeader.html
new file mode 100644
index 00000000000..b89aef3e2a1
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/structPacketHeader.html
@@ -0,0 +1,92 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: PacketHeader Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>PacketHeader Struct Reference<br/>
+<small>
+[<a class="el" href="group__NPF__include.html">NPF structures and definitions</a>]</small>
+</h1><!-- doxytag: class="PacketHeader" -->
+<p>Structure prepended to each packet in the kernel buffer pool.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="Packet_8h_source.html">Packet.h</a>&gt;</code></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">ULONG&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPacketHeader.html#afbd4efa90a98223b9ebe18574c057b47">SN</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sequence number of the packet. <a href="#afbd4efa90a98223b9ebe18574c057b47"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct bpf_hdr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPacketHeader.html#ae2f3ed1162db1cfdbd9abe8f203426ad">header</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">bpf header, created by the tap, and copied unmodified to user level programs. <a href="#ae2f3ed1162db1cfdbd9abe8f203426ad"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Structure prepended to each packet in the kernel buffer pool. </p>
+<p>Each packet in one of the kernel buffers is prepended by this header. It encapsulates the bpf_header, which will be passed to user level programs, as well as the sequence number of the packet, set by the producer (the tap function), and used by the consumer (the read function) to "reorder" the packets contained in the various kernel buffers. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00341">341</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="ae2f3ed1162db1cfdbd9abe8f203426ad"></a><!-- doxytag: member="PacketHeader::header" ref="ae2f3ed1162db1cfdbd9abe8f203426ad" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct bpf_hdr <a class="el" href="structPacketHeader.html#ae2f3ed1162db1cfdbd9abe8f203426ad">header</a><code> [read]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>bpf header, created by the tap, and copied unmodified to user level programs. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00344">344</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="afbd4efa90a98223b9ebe18574c057b47"></a><!-- doxytag: member="PacketHeader::SN" ref="afbd4efa90a98223b9ebe18574c057b47" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ULONG <a class="el" href="structPacketHeader.html#afbd4efa90a98223b9ebe18574c057b47">SN</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Sequence number of the packet. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00343">343</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="Packet_8h_source.html">Packet.h</a></li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/struct__DEVICE__EXTENSION.html b/3rdparty/winpcap/docs/html/struct__DEVICE__EXTENSION.html
new file mode 100644
index 00000000000..6896fb8841c
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/struct__DEVICE__EXTENSION.html
@@ -0,0 +1,90 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: _DEVICE_EXTENSION Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>_DEVICE_EXTENSION Struct Reference<br/>
+<small>
+[<a class="el" href="group__NPF__include.html">NPF structures and definitions</a>]</small>
+</h1><!-- doxytag: class="_DEVICE_EXTENSION" -->
+<p>Port device extension.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="Packet_8h_source.html">Packet.h</a>&gt;</code></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NDIS_STRING&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__DEVICE__EXTENSION.html#a8201dab43dd06ad55b93317cbbd54211">AdapterName</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Name of the adapter. <a href="#a8201dab43dd06ad55b93317cbbd54211"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PWSTR&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__DEVICE__EXTENSION.html#a147b6ff0677e88b5721e51ab7759121a">ExportString</a></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Port device extension. </p>
+<p>Structure containing some data relative to every adapter on which NPF is bound. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00196">196</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="a8201dab43dd06ad55b93317cbbd54211"></a><!-- doxytag: member="_DEVICE_EXTENSION::AdapterName" ref="a8201dab43dd06ad55b93317cbbd54211" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NDIS_STRING <a class="el" href="struct__DEVICE__EXTENSION.html#a8201dab43dd06ad55b93317cbbd54211">AdapterName</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Name of the adapter. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00197">197</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a147b6ff0677e88b5721e51ab7759121a"></a><!-- doxytag: member="_DEVICE_EXTENSION::ExportString" ref="a147b6ff0677e88b5721e51ab7759121a" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">PWSTR <a class="el" href="struct__DEVICE__EXTENSION.html#a147b6ff0677e88b5721e51ab7759121a">ExportString</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Name of the exported device, i.e. name that the applications will use to open this adapter through WinPcap. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00198">198</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="Packet_8h_source.html">Packet.h</a></li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/struct__INTERNAL__REQUEST.html b/3rdparty/winpcap/docs/html/struct__INTERNAL__REQUEST.html
new file mode 100644
index 00000000000..dc12df92787
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/struct__INTERNAL__REQUEST.html
@@ -0,0 +1,124 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: _INTERNAL_REQUEST Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>_INTERNAL_REQUEST Struct Reference<br/>
+<small>
+[<a class="el" href="group__NPF__include.html">NPF structures and definitions</a>]</small>
+</h1><!-- doxytag: class="_INTERNAL_REQUEST" -->
+<p>Stores an OID request.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="Packet_8h_source.html">Packet.h</a>&gt;</code></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">LIST_ENTRY&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__INTERNAL__REQUEST.html#a52c50c47cc14f9989d741158ef6da1b9">ListElement</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Used to handle lists of requests. <a href="#a52c50c47cc14f9989d741158ef6da1b9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NDIS_EVENT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__INTERNAL__REQUEST.html#aa27c26f410846e10408bc8ac558430b9">InternalRequestCompletedEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NDIS_REQUEST&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__INTERNAL__REQUEST.html#a9d22abed5e537b5a86700c0cae0aeeda">Request</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The structure with the actual request, that will be passed to NdisRequest(). <a href="#a9d22abed5e537b5a86700c0cae0aeeda"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NDIS_STATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__INTERNAL__REQUEST.html#a1948690a3012c81acf392ba489b32b60">RequestStatus</a></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Stores an OID request. </p>
+<p>This structure is used by the driver to perform OID query or set operations on the underlying NIC driver. The OID operations be performed usually only by network drivers, but NPF exports this mechanism to user-level applications through an IOCTL interface. The driver uses this structure to wrap a NDIS_REQUEST structure. This allows to handle correctly the callback structure of NdisRequest(), handling multiple requests and maintaining information about the IRPs to complete. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00163">163</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="aa27c26f410846e10408bc8ac558430b9"></a><!-- doxytag: member="_INTERNAL_REQUEST::InternalRequestCompletedEvent" ref="aa27c26f410846e10408bc8ac558430b9" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NDIS_EVENT <a class="el" href="struct__INTERNAL__REQUEST.html#aa27c26f410846e10408bc8ac558430b9">InternalRequestCompletedEvent</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00167">167</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a52c50c47cc14f9989d741158ef6da1b9"></a><!-- doxytag: member="_INTERNAL_REQUEST::ListElement" ref="a52c50c47cc14f9989d741158ef6da1b9" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">LIST_ENTRY <a class="el" href="struct__INTERNAL__REQUEST.html#a52c50c47cc14f9989d741158ef6da1b9">ListElement</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Used to handle lists of requests. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00164">164</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9d22abed5e537b5a86700c0cae0aeeda"></a><!-- doxytag: member="_INTERNAL_REQUEST::Request" ref="a9d22abed5e537b5a86700c0cae0aeeda" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NDIS_REQUEST <a class="el" href="struct__INTERNAL__REQUEST.html#a9d22abed5e537b5a86700c0cae0aeeda">Request</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>The structure with the actual request, that will be passed to NdisRequest(). </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00168">168</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1948690a3012c81acf392ba489b32b60"></a><!-- doxytag: member="_INTERNAL_REQUEST::RequestStatus" ref="a1948690a3012c81acf392ba489b32b60" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NDIS_STATUS <a class="el" href="struct__INTERNAL__REQUEST.html#a1948690a3012c81acf392ba489b32b60">RequestStatus</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00169">169</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="Packet_8h_source.html">Packet.h</a></li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/struct__OPEN__INSTANCE.html b/3rdparty/winpcap/docs/html/struct__OPEN__INSTANCE.html
new file mode 100644
index 00000000000..bdb2669cf28
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/struct__OPEN__INSTANCE.html
@@ -0,0 +1,978 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: _OPEN_INSTANCE Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>_OPEN_INSTANCE Struct Reference<br/>
+<small>
+[<a class="el" href="group__NPF__include.html">NPF structures and definitions</a>]</small>
+</h1><!-- doxytag: class="_OPEN_INSTANCE" -->
+<p>Contains the state of a running instance of the NPF driver.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="Packet_8h_source.html">Packet.h</a>&gt;</code></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct__DEVICE__EXTENSION.html">PDEVICE_EXTENSION</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#aaa72c26b5a1b98197da412302325e009">DeviceExtension</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NDIS_HANDLE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#aa017f65671fb96e4a0d3e875536579df">AdapterHandle</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">NDIS idetifier of the adapter used by this instance. <a href="#aa017f65671fb96e4a0d3e875536579df"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">UINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#af6a81c046e634d6149550d3475924c05">Medium</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NDIS_HANDLE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#abb035c7e10216edcf41fa1576fecca42">PacketPool</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pool of NDIS_PACKET structures used to transfer the packets from and to the NIC driver. <a href="#abb035c7e10216edcf41fa1576fecca42"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">KSPIN_LOCK&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#abe53f2762ef5451c80b2fcadeff59884">RequestSpinLock</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SpinLock used to synchronize the OID requests. <a href="#abe53f2762ef5451c80b2fcadeff59884"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">LIST_ENTRY&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#a805c530d7fa5f6078b9170dc0cd03f5c">RequestList</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">List of pending OID requests. <a href="#a805c530d7fa5f6078b9170dc0cd03f5c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">LIST_ENTRY&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#a1836c9a11084bf113d902946c5c41499">ResetIrpList</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">List of pending adapter reset requests. <a href="#a1836c9a11084bf113d902946c5c41499"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct__INTERNAL__REQUEST.html">INTERNAL_REQUEST</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#a9a6854a154d332159dbcb19e5d104441">Requests</a> [MAX_REQUESTS]</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Array of structures that wrap every single OID request. <a href="#a9a6854a154d332159dbcb19e5d104441"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PMDL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#a006227bc7ca0b2df920a8adfb7740ecb">BufferMdl</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pointer to a Memory descriptor list (MDL) that maps the circular buffer's memory. <a href="#a006227bc7ca0b2df920a8adfb7740ecb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PKEVENT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#a6139735ab3e4fa797d344e314bba6473">ReadEvent</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pointer to the event on which the read calls on this instance must wait. <a href="#a6139735ab3e4fa797d344e314bba6473"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PUCHAR&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#a312a1a6ffddf98f960cd0ac2d56fce52">bpfprogram</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">UINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#a263f7d6f5db5625541d275380685f0b1">MinToCopy</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">LARGE_INTEGER&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#aa6709070de8443c026e3b86913942c2b">TimeOut</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#a1ea5d0cb93f22f7d0fdf804bd68c3326">mode</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Working mode of the driver. See PacketSetMode() for details. <a href="#a1ea5d0cb93f22f7d0fdf804bd68c3326"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">LARGE_INTEGER&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#a87b5968c02200b033f7c6e15da439e62">Nbytes</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Amount of bytes accepted by the filter when this instance is in statistical mode. <a href="#a87b5968c02200b033f7c6e15da439e62"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">LARGE_INTEGER&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#a51a42386327e2a337854dd20cbe83061">Npackets</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Number of packets accepted by the filter when this instance is in statistical mode. <a href="#a51a42386327e2a337854dd20cbe83061"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NDIS_SPIN_LOCK&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#a7bd68a3950090232f1147e501a4ccf78">CountersLock</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SpinLock that protects the statistical mode counters. <a href="#a7bd68a3950090232f1147e501a4ccf78"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">UINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#af6b5b0a348f7a40d795b554b0eceed73">Nwrites</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">ULONG&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#aaa76c3b87b73baaa785c459188d769e0">Multiple_Write_Counter</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Counts the number of times a single write has already physically repeated. <a href="#aaa76c3b87b73baaa785c459188d769e0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NDIS_EVENT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#a46f6423b318291c7cc6ae32c226b33fd">WriteEvent</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Event used to synchronize the multiple write process. <a href="#a46f6423b318291c7cc6ae32c226b33fd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">BOOLEAN&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#af854d4eefa0f15302eaccee06e1ef447">WriteInProgress</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NDIS_SPIN_LOCK&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#a44ab7ba650b09972a0677958ad0ea4e0">WriteLock</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SpinLock that protects the WriteInProgress variable. <a href="#a44ab7ba650b09972a0677958ad0ea4e0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NDIS_EVENT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#af63559424b5849687cc5c5fbad184c0f">NdisRequestEvent</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Event used to synchronize I/O requests with the callback structure of NDIS. <a href="#af63559424b5849687cc5c5fbad184c0f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">BOOLEAN&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#a445a6029d067430cd761ae692443b573">SkipSentPackets</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">True if this instance should not capture back the packets that it transmits. <a href="#a445a6029d067430cd761ae692443b573"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NDIS_STATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#af4f46bc8ed07a40605aeac6743a3e760">IOStatus</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maintains the status of and OID request call, that will be passed to the application. <a href="#af4f46bc8ed07a40605aeac6743a3e760"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">HANDLE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#affef27f71b541e5dfab6a3dc9ea7dd86">DumpFileHandle</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Handle of the file used in dump mode. <a href="#affef27f71b541e5dfab6a3dc9ea7dd86"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PFILE_OBJECT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#a093d2624638004aafcc3193328cf2626">DumpFileObject</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pointer to the object of the file used in dump mode. <a href="#a093d2624638004aafcc3193328cf2626"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PKTHREAD&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#af5fc8480398782ff1f676f25f5097768">DumpThreadObject</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pointer to the object of the thread used in dump mode. <a href="#af5fc8480398782ff1f676f25f5097768"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">HANDLE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#afb4bb3d6e021e9b1cc1206fa23d4c8f7">DumpThreadHandle</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Handle of the thread created by dump mode to asynchronously move the buffer to disk. <a href="#afb4bb3d6e021e9b1cc1206fa23d4c8f7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NDIS_EVENT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#a1485cbdca5f70ed6a4eb8fd26feec1e0">DumpEvent</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Event used to synchronize the dump thread with the tap when the instance is in dump mode. <a href="#a1485cbdca5f70ed6a4eb8fd26feec1e0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">LARGE_INTEGER&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#a00c3ae6811320e03dea5b400fc5f9da8">DumpOffset</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Current offset in the dump file. <a href="#a00c3ae6811320e03dea5b400fc5f9da8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">UNICODE_STRING&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#ad26771cfc74dde2d2ce22b38db3124b0">DumpFileName</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">String containing the name of the dump file. <a href="#ad26771cfc74dde2d2ce22b38db3124b0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">UINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#acfde736fb2a011607da168a05b5100b0">MaxDumpBytes</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">UINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#a3f6accd17a8dccf9b44acc678510a094">MaxDumpPacks</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">BOOLEAN&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#a612913cea459725cff2085d29e534aae">DumpLimitReached</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NDIS_SPIN_LOCK&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#afe174f20f512159a454365613846eca5">MachineLock</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SpinLock that protects the BPF filter and the TME engine, if in use. <a href="#afe174f20f512159a454365613846eca5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">UINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#ac672771358770d24087aaa12a80d01cb">MaxFrameSize</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct____CPU__Private__Data.html">CpuPrivateData</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#a289c7590d7f5d96fa9051d20c2a95a04">CpuData</a> [sizeof(KAFFINITY)*8]</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pool of kernel buffer structures, one for each CPU. <a href="#a289c7590d7f5d96fa9051d20c2a95a04"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">ULONG&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#a80fd41275e80049cbe8238917a1dfb33">ReaderSN</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sequence number of the next packet to be read from the pool of kernel buffers. <a href="#a80fd41275e80049cbe8238917a1dfb33"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">ULONG&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#ae58565fec941091aa7164b49121ffe2b">WriterSN</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">ULONG&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#a1ce5ea4c97c82145e50d4b5157889a0e">Size</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Size of each kernel buffer contained in the CpuData field. <a href="#a1ce5ea4c97c82145e50d4b5157889a0e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">ULONG&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#a7157ac074af79faeddb2feef7a891af7">AdapterHandleUsageCounter</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NDIS_SPIN_LOCK&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#adbc32cf0b83107c2ad2785b8c71a946b">AdapterHandleLock</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">ULONG&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#aa8dd1c538f9932a866ac342d50277929">AdapterBindingStatus</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Specifies if NPF is still bound to the adapter used by this instance, it's unbinding or it's not bound. <a href="#aa8dd1c538f9932a866ac342d50277929"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NDIS_EVENT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#a58faf70e2b245f7d3f2b1a90257e823e">NdisOpenCloseCompleteEvent</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NDIS_EVENT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#ae16d8f96321924cea79edfba9a2aed9f">NdisWriteCompleteEvent</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Event that is signalled when all the packets have been successfully sent by NdisSend (and corresponfing sendComplete has been called). <a href="#ae16d8f96321924cea79edfba9a2aed9f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NTSTATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#ae3c547ec9f715618b461b221fa2e3f09">OpenCloseStatus</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">ULONG&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#a3134a9bd6b67acf8eb8f5fd7a36228d7">TransmitPendingPackets</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Specifies the number of packets that are pending to be transmitted, i.e. have been submitted to NdisSendXXX but the SendComplete has not been called yet. <a href="#a3134a9bd6b67acf8eb8f5fd7a36228d7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">ULONG&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#ad829423b08d53cd76dc8bed902d5af72">NumPendingIrps</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">BOOLEAN&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#ae00f3e1e556edb44c5bbf7f4f75f117a">ClosePending</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NDIS_SPIN_LOCK&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__OPEN__INSTANCE.html#a4c6d0506eca78eb6602764234ce07e62">OpenInUseLock</a></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Contains the state of a running instance of the NPF driver. </p>
+<p>This is the most important structure of NPF: it is used by almost all the functions of the driver. An <a class="el" href="struct__OPEN__INSTANCE.html" title="Contains the state of a running instance of the NPF driver.">_OPEN_INSTANCE</a> structure is associated with every user-level session, allowing concurrent access to the driver. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00240">240</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="aa8dd1c538f9932a866ac342d50277929"></a><!-- doxytag: member="_OPEN_INSTANCE::AdapterBindingStatus" ref="aa8dd1c538f9932a866ac342d50277929" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ULONG <a class="el" href="struct__OPEN__INSTANCE.html#aa8dd1c538f9932a866ac342d50277929">AdapterBindingStatus</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Specifies if NPF is still bound to the adapter used by this instance, it's unbinding or it's not bound. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00315">315</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa017f65671fb96e4a0d3e875536579df"></a><!-- doxytag: member="_OPEN_INSTANCE::AdapterHandle" ref="aa017f65671fb96e4a0d3e875536579df" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NDIS_HANDLE <a class="el" href="struct__OPEN__INSTANCE.html#aa017f65671fb96e4a0d3e875536579df">AdapterHandle</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>NDIS idetifier of the adapter used by this instance. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00244">244</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="adbc32cf0b83107c2ad2785b8c71a946b"></a><!-- doxytag: member="_OPEN_INSTANCE::AdapterHandleLock" ref="adbc32cf0b83107c2ad2785b8c71a946b" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NDIS_SPIN_LOCK <a class="el" href="struct__OPEN__INSTANCE.html#adbc32cf0b83107c2ad2785b8c71a946b">AdapterHandleLock</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00314">314</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7157ac074af79faeddb2feef7a891af7"></a><!-- doxytag: member="_OPEN_INSTANCE::AdapterHandleUsageCounter" ref="a7157ac074af79faeddb2feef7a891af7" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ULONG <a class="el" href="struct__OPEN__INSTANCE.html#a7157ac074af79faeddb2feef7a891af7">AdapterHandleUsageCounter</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00313">313</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a312a1a6ffddf98f960cd0ac2d56fce52"></a><!-- doxytag: member="_OPEN_INSTANCE::bpfprogram" ref="a312a1a6ffddf98f960cd0ac2d56fce52" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">PUCHAR <a class="el" href="struct__OPEN__INSTANCE.html#a312a1a6ffddf98f960cd0ac2d56fce52">bpfprogram</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Pointer to the filtering pseudo-code associated with current instance of the driver. This code is used only in particular situations (for example when the packet received from the NIC driver is stored in two non-consecutive buffers. In normal situations the filtering routine created by the JIT compiler and pointed by the next field is used. See <a class="el" href="group__NPF.html">NPF driver internals manual</a> for details on the filtering process. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00254">254</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a006227bc7ca0b2df920a8adfb7740ecb"></a><!-- doxytag: member="_OPEN_INSTANCE::BufferMdl" ref="a006227bc7ca0b2df920a8adfb7740ecb" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">PMDL <a class="el" href="struct__OPEN__INSTANCE.html#a006227bc7ca0b2df920a8adfb7740ecb">BufferMdl</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Pointer to a Memory descriptor list (MDL) that maps the circular buffer's memory. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00252">252</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae00f3e1e556edb44c5bbf7f4f75f117a"></a><!-- doxytag: member="_OPEN_INSTANCE::ClosePending" ref="ae00f3e1e556edb44c5bbf7f4f75f117a" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">BOOLEAN <a class="el" href="struct__OPEN__INSTANCE.html#ae00f3e1e556edb44c5bbf7f4f75f117a">ClosePending</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00322">322</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7bd68a3950090232f1147e501a4ccf78"></a><!-- doxytag: member="_OPEN_INSTANCE::CountersLock" ref="a7bd68a3950090232f1147e501a4ccf78" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NDIS_SPIN_LOCK <a class="el" href="struct__OPEN__INSTANCE.html#a7bd68a3950090232f1147e501a4ccf78">CountersLock</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>SpinLock that protects the statistical mode counters. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00271">271</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a289c7590d7f5d96fa9051d20c2a95a04"></a><!-- doxytag: member="_OPEN_INSTANCE::CpuData" ref="a289c7590d7f5d96fa9051d20c2a95a04" args="[sizeof(KAFFINITY)*8]" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct____CPU__Private__Data.html">CpuPrivateData</a> <a class="el" href="struct__OPEN__INSTANCE.html#a289c7590d7f5d96fa9051d20c2a95a04">CpuData</a>[sizeof(KAFFINITY)*8]</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Pool of kernel buffer structures, one for each CPU. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00308">308</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aaa72c26b5a1b98197da412302325e009"></a><!-- doxytag: member="_OPEN_INSTANCE::DeviceExtension" ref="aaa72c26b5a1b98197da412302325e009" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct__DEVICE__EXTENSION.html">PDEVICE_EXTENSION</a> <a class="el" href="struct__OPEN__INSTANCE.html#aaa72c26b5a1b98197da412302325e009">DeviceExtension</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Pointer to the <a class="el" href="struct__DEVICE__EXTENSION.html" title="Port device extension.">_DEVICE_EXTENSION</a> structure of the device on which the instance is bound. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00242">242</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1485cbdca5f70ed6a4eb8fd26feec1e0"></a><!-- doxytag: member="_OPEN_INSTANCE::DumpEvent" ref="a1485cbdca5f70ed6a4eb8fd26feec1e0" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NDIS_EVENT <a class="el" href="struct__OPEN__INSTANCE.html#a1485cbdca5f70ed6a4eb8fd26feec1e0">DumpEvent</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Event used to synchronize the dump thread with the tap when the instance is in dump mode. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00286">286</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="affef27f71b541e5dfab6a3dc9ea7dd86"></a><!-- doxytag: member="_OPEN_INSTANCE::DumpFileHandle" ref="affef27f71b541e5dfab6a3dc9ea7dd86" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">HANDLE <a class="el" href="struct__OPEN__INSTANCE.html#affef27f71b541e5dfab6a3dc9ea7dd86">DumpFileHandle</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Handle of the file used in dump mode. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00282">282</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad26771cfc74dde2d2ce22b38db3124b0"></a><!-- doxytag: member="_OPEN_INSTANCE::DumpFileName" ref="ad26771cfc74dde2d2ce22b38db3124b0" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">UNICODE_STRING <a class="el" href="struct__OPEN__INSTANCE.html#ad26771cfc74dde2d2ce22b38db3124b0">DumpFileName</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>String containing the name of the dump file. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00288">288</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a093d2624638004aafcc3193328cf2626"></a><!-- doxytag: member="_OPEN_INSTANCE::DumpFileObject" ref="a093d2624638004aafcc3193328cf2626" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">PFILE_OBJECT <a class="el" href="struct__OPEN__INSTANCE.html#a093d2624638004aafcc3193328cf2626">DumpFileObject</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Pointer to the object of the file used in dump mode. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00283">283</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a612913cea459725cff2085d29e534aae"></a><!-- doxytag: member="_OPEN_INSTANCE::DumpLimitReached" ref="a612913cea459725cff2085d29e534aae" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">BOOLEAN <a class="el" href="struct__OPEN__INSTANCE.html#a612913cea459725cff2085d29e534aae">DumpLimitReached</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>TRUE if the maximum dimension of the dump file (MaxDumpBytes or MaxDumpPacks) is reached. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00294">294</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a00c3ae6811320e03dea5b400fc5f9da8"></a><!-- doxytag: member="_OPEN_INSTANCE::DumpOffset" ref="a00c3ae6811320e03dea5b400fc5f9da8" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">LARGE_INTEGER <a class="el" href="struct__OPEN__INSTANCE.html#a00c3ae6811320e03dea5b400fc5f9da8">DumpOffset</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Current offset in the dump file. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00287">287</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="afb4bb3d6e021e9b1cc1206fa23d4c8f7"></a><!-- doxytag: member="_OPEN_INSTANCE::DumpThreadHandle" ref="afb4bb3d6e021e9b1cc1206fa23d4c8f7" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">HANDLE <a class="el" href="struct__OPEN__INSTANCE.html#afb4bb3d6e021e9b1cc1206fa23d4c8f7">DumpThreadHandle</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Handle of the thread created by dump mode to asynchronously move the buffer to disk. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00285">285</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af5fc8480398782ff1f676f25f5097768"></a><!-- doxytag: member="_OPEN_INSTANCE::DumpThreadObject" ref="af5fc8480398782ff1f676f25f5097768" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">PKTHREAD <a class="el" href="struct__OPEN__INSTANCE.html#af5fc8480398782ff1f676f25f5097768">DumpThreadObject</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Pointer to the object of the thread used in dump mode. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00284">284</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af4f46bc8ed07a40605aeac6743a3e760"></a><!-- doxytag: member="_OPEN_INSTANCE::IOStatus" ref="af4f46bc8ed07a40605aeac6743a3e760" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NDIS_STATUS <a class="el" href="struct__OPEN__INSTANCE.html#af4f46bc8ed07a40605aeac6743a3e760">IOStatus</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Maintains the status of and OID request call, that will be passed to the application. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00281">281</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="afe174f20f512159a454365613846eca5"></a><!-- doxytag: member="_OPEN_INSTANCE::MachineLock" ref="afe174f20f512159a454365613846eca5" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NDIS_SPIN_LOCK <a class="el" href="struct__OPEN__INSTANCE.html#afe174f20f512159a454365613846eca5">MachineLock</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>SpinLock that protects the BPF filter and the TME engine, if in use. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00301">301</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="acfde736fb2a011607da168a05b5100b0"></a><!-- doxytag: member="_OPEN_INSTANCE::MaxDumpBytes" ref="acfde736fb2a011607da168a05b5100b0" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">UINT <a class="el" href="struct__OPEN__INSTANCE.html#acfde736fb2a011607da168a05b5100b0">MaxDumpBytes</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Maximum dimension in bytes of the dump file. If the dump file reaches this size it will be closed. A value of 0 means unlimited size. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00289">289</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3f6accd17a8dccf9b44acc678510a094"></a><!-- doxytag: member="_OPEN_INSTANCE::MaxDumpPacks" ref="a3f6accd17a8dccf9b44acc678510a094" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">UINT <a class="el" href="struct__OPEN__INSTANCE.html#a3f6accd17a8dccf9b44acc678510a094">MaxDumpPacks</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Maximum number of packets that will be saved in the dump file. If this number of packets is reached the dump will be closed. A value of 0 means unlimited number of packets. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00291">291</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac672771358770d24087aaa12a80d01cb"></a><!-- doxytag: member="_OPEN_INSTANCE::MaxFrameSize" ref="ac672771358770d24087aaa12a80d01cb" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">UINT <a class="el" href="struct__OPEN__INSTANCE.html#ac672771358770d24087aaa12a80d01cb">MaxFrameSize</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Maximum frame size that the underlying MAC acceptes. Used to perform a check on the size of the frames sent with <a class="el" href="group__NPF__code.html#ga595338435296a4d1e15363ebfcb3a38c" title="Writes a raw packet to the network.">NPF_Write()</a> or <a class="el" href="group__NPF__code.html#ga9a97dd25ae757da4bfed3723a4eb4bce" title="Writes a buffer of raw packets to the network.">NPF_BufferedWrite()</a>. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00302">302</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af6a81c046e634d6149550d3475924c05"></a><!-- doxytag: member="_OPEN_INSTANCE::Medium" ref="af6a81c046e634d6149550d3475924c05" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">UINT <a class="el" href="struct__OPEN__INSTANCE.html#af6a81c046e634d6149550d3475924c05">Medium</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Type of physical medium the underlying NDIS driver uses. See the documentation of NdisOpenAdapter in the MS DDK for details. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00245">245</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a263f7d6f5db5625541d275380685f0b1"></a><!-- doxytag: member="_OPEN_INSTANCE::MinToCopy" ref="a263f7d6f5db5625541d275380685f0b1" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">UINT <a class="el" href="struct__OPEN__INSTANCE.html#a263f7d6f5db5625541d275380685f0b1">MinToCopy</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Minimum amount of data in the circular buffer that unlocks a read. Set with the BIOCSMINTOCOPY IOCTL. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00263">263</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1ea5d0cb93f22f7d0fdf804bd68c3326"></a><!-- doxytag: member="_OPEN_INSTANCE::mode" ref="a1ea5d0cb93f22f7d0fdf804bd68c3326" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="struct__OPEN__INSTANCE.html#a1ea5d0cb93f22f7d0fdf804bd68c3326">mode</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Working mode of the driver. See PacketSetMode() for details. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00268">268</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aaa76c3b87b73baaa785c459188d769e0"></a><!-- doxytag: member="_OPEN_INSTANCE::Multiple_Write_Counter" ref="aaa76c3b87b73baaa785c459188d769e0" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ULONG <a class="el" href="struct__OPEN__INSTANCE.html#aaa76c3b87b73baaa785c459188d769e0">Multiple_Write_Counter</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Counts the number of times a single write has already physically repeated. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00274">274</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a87b5968c02200b033f7c6e15da439e62"></a><!-- doxytag: member="_OPEN_INSTANCE::Nbytes" ref="a87b5968c02200b033f7c6e15da439e62" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">LARGE_INTEGER <a class="el" href="struct__OPEN__INSTANCE.html#a87b5968c02200b033f7c6e15da439e62">Nbytes</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Amount of bytes accepted by the filter when this instance is in statistical mode. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00269">269</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a58faf70e2b245f7d3f2b1a90257e823e"></a><!-- doxytag: member="_OPEN_INSTANCE::NdisOpenCloseCompleteEvent" ref="a58faf70e2b245f7d3f2b1a90257e823e" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NDIS_EVENT <a class="el" href="struct__OPEN__INSTANCE.html#a58faf70e2b245f7d3f2b1a90257e823e">NdisOpenCloseCompleteEvent</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00317">317</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af63559424b5849687cc5c5fbad184c0f"></a><!-- doxytag: member="_OPEN_INSTANCE::NdisRequestEvent" ref="af63559424b5849687cc5c5fbad184c0f" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NDIS_EVENT <a class="el" href="struct__OPEN__INSTANCE.html#af63559424b5849687cc5c5fbad184c0f">NdisRequestEvent</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Event used to synchronize I/O requests with the callback structure of NDIS. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00279">279</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae16d8f96321924cea79edfba9a2aed9f"></a><!-- doxytag: member="_OPEN_INSTANCE::NdisWriteCompleteEvent" ref="ae16d8f96321924cea79edfba9a2aed9f" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NDIS_EVENT <a class="el" href="struct__OPEN__INSTANCE.html#ae16d8f96321924cea79edfba9a2aed9f">NdisWriteCompleteEvent</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Event that is signalled when all the packets have been successfully sent by NdisSend (and corresponfing sendComplete has been called). </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00318">318</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a51a42386327e2a337854dd20cbe83061"></a><!-- doxytag: member="_OPEN_INSTANCE::Npackets" ref="a51a42386327e2a337854dd20cbe83061" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">LARGE_INTEGER <a class="el" href="struct__OPEN__INSTANCE.html#a51a42386327e2a337854dd20cbe83061">Npackets</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Number of packets accepted by the filter when this instance is in statistical mode. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00270">270</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad829423b08d53cd76dc8bed902d5af72"></a><!-- doxytag: member="_OPEN_INSTANCE::NumPendingIrps" ref="ad829423b08d53cd76dc8bed902d5af72" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ULONG <a class="el" href="struct__OPEN__INSTANCE.html#ad829423b08d53cd76dc8bed902d5af72">NumPendingIrps</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00321">321</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af6b5b0a348f7a40d795b554b0eceed73"></a><!-- doxytag: member="_OPEN_INSTANCE::Nwrites" ref="af6b5b0a348f7a40d795b554b0eceed73" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">UINT <a class="el" href="struct__OPEN__INSTANCE.html#af6b5b0a348f7a40d795b554b0eceed73">Nwrites</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Number of times a single write must be physically repeated. See <a class="el" href="group__NPF.html">NPF driver internals manual</a> for an explanation </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00272">272</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae3c547ec9f715618b461b221fa2e3f09"></a><!-- doxytag: member="_OPEN_INSTANCE::OpenCloseStatus" ref="ae3c547ec9f715618b461b221fa2e3f09" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NTSTATUS <a class="el" href="struct__OPEN__INSTANCE.html#ae3c547ec9f715618b461b221fa2e3f09">OpenCloseStatus</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00319">319</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4c6d0506eca78eb6602764234ce07e62"></a><!-- doxytag: member="_OPEN_INSTANCE::OpenInUseLock" ref="a4c6d0506eca78eb6602764234ce07e62" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NDIS_SPIN_LOCK <a class="el" href="struct__OPEN__INSTANCE.html#a4c6d0506eca78eb6602764234ce07e62">OpenInUseLock</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00323">323</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abb035c7e10216edcf41fa1576fecca42"></a><!-- doxytag: member="_OPEN_INSTANCE::PacketPool" ref="abb035c7e10216edcf41fa1576fecca42" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NDIS_HANDLE <a class="el" href="struct__OPEN__INSTANCE.html#abb035c7e10216edcf41fa1576fecca42">PacketPool</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Pool of NDIS_PACKET structures used to transfer the packets from and to the NIC driver. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00247">247</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a80fd41275e80049cbe8238917a1dfb33"></a><!-- doxytag: member="_OPEN_INSTANCE::ReaderSN" ref="a80fd41275e80049cbe8238917a1dfb33" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ULONG <a class="el" href="struct__OPEN__INSTANCE.html#a80fd41275e80049cbe8238917a1dfb33">ReaderSN</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Sequence number of the next packet to be read from the pool of kernel buffers. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00309">309</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6139735ab3e4fa797d344e314bba6473"></a><!-- doxytag: member="_OPEN_INSTANCE::ReadEvent" ref="a6139735ab3e4fa797d344e314bba6473" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">PKEVENT <a class="el" href="struct__OPEN__INSTANCE.html#a6139735ab3e4fa797d344e314bba6473">ReadEvent</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Pointer to the event on which the read calls on this instance must wait. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00253">253</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a805c530d7fa5f6078b9170dc0cd03f5c"></a><!-- doxytag: member="_OPEN_INSTANCE::RequestList" ref="a805c530d7fa5f6078b9170dc0cd03f5c" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">LIST_ENTRY <a class="el" href="struct__OPEN__INSTANCE.html#a805c530d7fa5f6078b9170dc0cd03f5c">RequestList</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>List of pending OID requests. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00249">249</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9a6854a154d332159dbcb19e5d104441"></a><!-- doxytag: member="_OPEN_INSTANCE::Requests" ref="a9a6854a154d332159dbcb19e5d104441" args="[MAX_REQUESTS]" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct__INTERNAL__REQUEST.html">INTERNAL_REQUEST</a> <a class="el" href="struct__OPEN__INSTANCE.html#a9a6854a154d332159dbcb19e5d104441">Requests</a>[MAX_REQUESTS]</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Array of structures that wrap every single OID request. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00251">251</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abe53f2762ef5451c80b2fcadeff59884"></a><!-- doxytag: member="_OPEN_INSTANCE::RequestSpinLock" ref="abe53f2762ef5451c80b2fcadeff59884" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">KSPIN_LOCK <a class="el" href="struct__OPEN__INSTANCE.html#abe53f2762ef5451c80b2fcadeff59884">RequestSpinLock</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>SpinLock used to synchronize the OID requests. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00248">248</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1836c9a11084bf113d902946c5c41499"></a><!-- doxytag: member="_OPEN_INSTANCE::ResetIrpList" ref="a1836c9a11084bf113d902946c5c41499" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">LIST_ENTRY <a class="el" href="struct__OPEN__INSTANCE.html#a1836c9a11084bf113d902946c5c41499">ResetIrpList</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>List of pending adapter reset requests. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00250">250</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1ce5ea4c97c82145e50d4b5157889a0e"></a><!-- doxytag: member="_OPEN_INSTANCE::Size" ref="a1ce5ea4c97c82145e50d4b5157889a0e" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ULONG <a class="el" href="struct__OPEN__INSTANCE.html#a1ce5ea4c97c82145e50d4b5157889a0e">Size</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Size of each kernel buffer contained in the CpuData field. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00312">312</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a445a6029d067430cd761ae692443b573"></a><!-- doxytag: member="_OPEN_INSTANCE::SkipSentPackets" ref="a445a6029d067430cd761ae692443b573" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">BOOLEAN <a class="el" href="struct__OPEN__INSTANCE.html#a445a6029d067430cd761ae692443b573">SkipSentPackets</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>True if this instance should not capture back the packets that it transmits. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00280">280</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa6709070de8443c026e3b86913942c2b"></a><!-- doxytag: member="_OPEN_INSTANCE::TimeOut" ref="aa6709070de8443c026e3b86913942c2b" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">LARGE_INTEGER <a class="el" href="struct__OPEN__INSTANCE.html#aa6709070de8443c026e3b86913942c2b">TimeOut</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Timeout after which a read is released, also if the amount of data in the buffer is less than MinToCopy. Set with the BIOCSRTIMEOUT IOCTL. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00265">265</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3134a9bd6b67acf8eb8f5fd7a36228d7"></a><!-- doxytag: member="_OPEN_INSTANCE::TransmitPendingPackets" ref="a3134a9bd6b67acf8eb8f5fd7a36228d7" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ULONG <a class="el" href="struct__OPEN__INSTANCE.html#a3134a9bd6b67acf8eb8f5fd7a36228d7">TransmitPendingPackets</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Specifies the number of packets that are pending to be transmitted, i.e. have been submitted to NdisSendXXX but the SendComplete has not been called yet. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00320">320</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a46f6423b318291c7cc6ae32c226b33fd"></a><!-- doxytag: member="_OPEN_INSTANCE::WriteEvent" ref="a46f6423b318291c7cc6ae32c226b33fd" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NDIS_EVENT <a class="el" href="struct__OPEN__INSTANCE.html#a46f6423b318291c7cc6ae32c226b33fd">WriteEvent</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Event used to synchronize the multiple write process. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00275">275</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af854d4eefa0f15302eaccee06e1ef447"></a><!-- doxytag: member="_OPEN_INSTANCE::WriteInProgress" ref="af854d4eefa0f15302eaccee06e1ef447" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">BOOLEAN <a class="el" href="struct__OPEN__INSTANCE.html#af854d4eefa0f15302eaccee06e1ef447">WriteInProgress</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>True if a write is currently in progress. NPF currently allows a single wite on the same open instance. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00276">276</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a44ab7ba650b09972a0677958ad0ea4e0"></a><!-- doxytag: member="_OPEN_INSTANCE::WriteLock" ref="a44ab7ba650b09972a0677958ad0ea4e0" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NDIS_SPIN_LOCK <a class="el" href="struct__OPEN__INSTANCE.html#a44ab7ba650b09972a0677958ad0ea4e0">WriteLock</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>SpinLock that protects the WriteInProgress variable. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00278">278</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae58565fec941091aa7164b49121ffe2b"></a><!-- doxytag: member="_OPEN_INSTANCE::WriterSN" ref="ae58565fec941091aa7164b49121ffe2b" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ULONG <a class="el" href="struct__OPEN__INSTANCE.html#ae58565fec941091aa7164b49121ffe2b">WriterSN</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Sequence number of the next packet to be written in the pool of kernel buffers. These two sequence numbers are unique for each capture instance. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00310">310</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="Packet_8h_source.html">Packet.h</a></li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/struct__PACKET__OID__DATA.html b/3rdparty/winpcap/docs/html/struct__PACKET__OID__DATA.html
new file mode 100644
index 00000000000..75c2a3008bf
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/struct__PACKET__OID__DATA.html
@@ -0,0 +1,107 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: _PACKET_OID_DATA Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>_PACKET_OID_DATA Struct Reference<br/>
+<small>
+[<a class="el" href="group__NPF__include.html">NPF structures and definitions</a>]</small>
+</h1><!-- doxytag: class="_PACKET_OID_DATA" -->
+<p>Structure containing an OID request.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="Packet_8h_source.html">Packet.h</a>&gt;</code></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">ULONG&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__PACKET__OID__DATA.html#a7f776f07ead21514e4c48555980644c8">Oid</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">ULONG&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__PACKET__OID__DATA.html#abfb371817eb1c8f0d8a165bb2b798092">Length</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Length of the data field. <a href="#abfb371817eb1c8f0d8a165bb2b798092"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">UCHAR&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__PACKET__OID__DATA.html#a4cbcc2ef0ca2424d2488748b944f4507">Data</a> [1]</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Structure containing an OID request. </p>
+<p>It is used by the PacketRequest() function to send an OID to the interface card driver. It can be used, for example, to retrieve the status of the error counters on the adapter, its MAC address, the list of the multicast groups defined on it, and so on. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00143">143</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="a4cbcc2ef0ca2424d2488748b944f4507"></a><!-- doxytag: member="_PACKET_OID_DATA::Data" ref="a4cbcc2ef0ca2424d2488748b944f4507" args="[1]" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">UCHAR <a class="el" href="struct__PACKET__OID__DATA.html#a4cbcc2ef0ca2424d2488748b944f4507">Data</a>[1]</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>variable-lenght field that contains the information passed to or received from the adapter. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00147">147</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abfb371817eb1c8f0d8a165bb2b798092"></a><!-- doxytag: member="_PACKET_OID_DATA::Length" ref="abfb371817eb1c8f0d8a165bb2b798092" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ULONG <a class="el" href="struct__PACKET__OID__DATA.html#abfb371817eb1c8f0d8a165bb2b798092">Length</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Length of the data field. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00146">146</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7f776f07ead21514e4c48555980644c8"></a><!-- doxytag: member="_PACKET_OID_DATA::Oid" ref="a7f776f07ead21514e4c48555980644c8" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ULONG <a class="el" href="struct__PACKET__OID__DATA.html#a7f776f07ead21514e4c48555980644c8">Oid</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>OID code. See the Microsoft DDK documentation or the file ntddndis.h for a complete list of valid codes. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00144">144</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="Packet_8h_source.html">Packet.h</a></li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/struct__PACKET__RESERVED.html b/3rdparty/winpcap/docs/html/struct__PACKET__RESERVED.html
new file mode 100644
index 00000000000..6fe0825404b
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/struct__PACKET__RESERVED.html
@@ -0,0 +1,147 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: _PACKET_RESERVED Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>_PACKET_RESERVED Struct Reference<br/>
+<small>
+[<a class="el" href="group__NPF__include.html">NPF structures and definitions</a>]</small>
+</h1><!-- doxytag: class="_PACKET_RESERVED" -->
+<p>Contains a NDIS packet.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="Packet_8h_source.html">Packet.h</a>&gt;</code></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">LIST_ENTRY&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__PACKET__RESERVED.html#a52c50c47cc14f9989d741158ef6da1b9">ListElement</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Used to handle lists of packets. <a href="#a52c50c47cc14f9989d741158ef6da1b9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PIRP&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__PACKET__RESERVED.html#a4bee02d146b824008b9d03379b085b1e">Irp</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Irp that performed the request. <a href="#a4bee02d146b824008b9d03379b085b1e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PMDL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__PACKET__RESERVED.html#a3bbb67b64845622d97356325852ef6be">pMdl</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">MDL mapping the buffer of the packet. <a href="#a3bbb67b64845622d97356325852ef6be"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">BOOLEAN&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__PACKET__RESERVED.html#abc42eac7c5d3593aa809edceadb0743f">FreeBufAfterWrite</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">ULONG&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__PACKET__RESERVED.html#a761baf004d76cf5faf3c898787fceeb6">Cpu</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The CPU on which the packet was pulled out of the linked list of free packets. <a href="#a761baf004d76cf5faf3c898787fceeb6"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Contains a NDIS packet. </p>
+<p>The driver uses this structure to wrap a NDIS_PACKET structure. This allows to handle correctly the callback structure of NdisTransferData(), handling multiple requests and maintaining information about the IRPs to complete. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00180">180</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="a761baf004d76cf5faf3c898787fceeb6"></a><!-- doxytag: member="_PACKET_RESERVED::Cpu" ref="a761baf004d76cf5faf3c898787fceeb6" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ULONG <a class="el" href="struct__PACKET__RESERVED.html#a761baf004d76cf5faf3c898787fceeb6">Cpu</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>The CPU on which the packet was pulled out of the linked list of free packets. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00186">186</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abc42eac7c5d3593aa809edceadb0743f"></a><!-- doxytag: member="_PACKET_RESERVED::FreeBufAfterWrite" ref="abc42eac7c5d3593aa809edceadb0743f" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">BOOLEAN <a class="el" href="struct__PACKET__RESERVED.html#abc42eac7c5d3593aa809edceadb0743f">FreeBufAfterWrite</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>True if the memory buffer associated with the packet must be freed after a call to NdisSend(). </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00184">184</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4bee02d146b824008b9d03379b085b1e"></a><!-- doxytag: member="_PACKET_RESERVED::Irp" ref="a4bee02d146b824008b9d03379b085b1e" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">PIRP <a class="el" href="struct__PACKET__RESERVED.html#a4bee02d146b824008b9d03379b085b1e">Irp</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Irp that performed the request. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00182">182</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a52c50c47cc14f9989d741158ef6da1b9"></a><!-- doxytag: member="_PACKET_RESERVED::ListElement" ref="a52c50c47cc14f9989d741158ef6da1b9" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">LIST_ENTRY <a class="el" href="struct__PACKET__RESERVED.html#a52c50c47cc14f9989d741158ef6da1b9">ListElement</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Used to handle lists of packets. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00181">181</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3bbb67b64845622d97356325852ef6be"></a><!-- doxytag: member="_PACKET_RESERVED::pMdl" ref="a3bbb67b64845622d97356325852ef6be" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">PMDL <a class="el" href="struct__PACKET__RESERVED.html#a3bbb67b64845622d97356325852ef6be">pMdl</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>MDL mapping the buffer of the packet. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00183">183</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="Packet_8h_source.html">Packet.h</a></li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/struct____CPU__Private__Data.html b/3rdparty/winpcap/docs/html/struct____CPU__Private__Data.html
new file mode 100644
index 00000000000..75b690bbbd3
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/struct____CPU__Private__Data.html
@@ -0,0 +1,257 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: __CPU_Private_Data Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>__CPU_Private_Data Struct Reference<br/>
+<small>
+[<a class="el" href="group__NPF__include.html">NPF structures and definitions</a>]</small>
+</h1><!-- doxytag: class="__CPU_Private_Data" -->
+<p>Kernel buffer of each CPU.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="Packet_8h_source.html">Packet.h</a>&gt;</code></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">ULONG&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct____CPU__Private__Data.html#a897d2179904e0d6fafd73b3d400052de">P</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Zero-based index of the producer in the buffer. It indicates the first free byte to be written. <a href="#a897d2179904e0d6fafd73b3d400052de"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">ULONG&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct____CPU__Private__Data.html#a2df61425b58c12f1de6f0e6aaeb131ea">C</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Zero-based index of the consumer in the buffer. It indicates the first free byte to be read. <a href="#a2df61425b58c12f1de6f0e6aaeb131ea"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">ULONG&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct____CPU__Private__Data.html#acaf5ef1e959170b06d01fc65a27bb951">Free</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Number of the free bytes in the buffer. <a href="#acaf5ef1e959170b06d01fc65a27bb951"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PUCHAR&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct____CPU__Private__Data.html#a7ed9f5e612c567cfa25af0f46a25dad4">Buffer</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pointer to the kernel buffer used to capture packets. <a href="#a7ed9f5e612c567cfa25af0f46a25dad4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">ULONG&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct____CPU__Private__Data.html#ac723ebbda9ff2ef8e4d773c7305db1f6">Accepted</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">ULONG&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct____CPU__Private__Data.html#a82febc79f3f3bbf857a4fd34447b5ca2">Received</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">ULONG&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct____CPU__Private__Data.html#a04eecb86252e644a73f38346274340dc">Dropped</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">NDIS_SPIN_LOCK&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct____CPU__Private__Data.html#a59c9030d87b24c9cb4efdabe9c7b9337">BufferLock</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">It protects the buffer associated with this CPU. <a href="#a59c9030d87b24c9cb4efdabe9c7b9337"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PMDL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct____CPU__Private__Data.html#acae03ade5065032ceaeef0bd03217b4f">TransferMdl1</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">MDL used to map the portion of the buffer that will contain an incoming packet. <a href="#acae03ade5065032ceaeef0bd03217b4f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PMDL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct____CPU__Private__Data.html#a17b59e156d00ef5c76bdfe454c73ca49">TransferMdl2</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Second MDL used to map the portion of the buffer that will contain an incoming packet. <a href="#a17b59e156d00ef5c76bdfe454c73ca49"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">ULONG&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct____CPU__Private__Data.html#a58f2c915dfc7041ccb0d568eb79b494e">NewP</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Used by NdisTransferData() (when we call NdisTransferData, p index must be updated only in the TransferDataComplete. <a href="#a58f2c915dfc7041ccb0d568eb79b494e"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Kernel buffer of each CPU. </p>
+<p>Structure containing the kernel buffer (and other CPU related fields) used to capture packets. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00207">207</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="ac723ebbda9ff2ef8e4d773c7305db1f6"></a><!-- doxytag: member="__CPU_Private_Data::Accepted" ref="ac723ebbda9ff2ef8e4d773c7305db1f6" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ULONG <a class="el" href="struct____CPU__Private__Data.html#ac723ebbda9ff2ef8e4d773c7305db1f6">Accepted</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Number of packet that current capture instance acepted, from its opening. A packet is accepted if it passes the filter and fits in the buffer. Accepted packets are the ones that reach the application. This number is related to the particular CPU this structure is referring to. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00213">213</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7ed9f5e612c567cfa25af0f46a25dad4"></a><!-- doxytag: member="__CPU_Private_Data::Buffer" ref="a7ed9f5e612c567cfa25af0f46a25dad4" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">PUCHAR <a class="el" href="struct____CPU__Private__Data.html#a7ed9f5e612c567cfa25af0f46a25dad4">Buffer</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Pointer to the kernel buffer used to capture packets. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00212">212</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a59c9030d87b24c9cb4efdabe9c7b9337"></a><!-- doxytag: member="__CPU_Private_Data::BufferLock" ref="a59c9030d87b24c9cb4efdabe9c7b9337" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">NDIS_SPIN_LOCK <a class="el" href="struct____CPU__Private__Data.html#a59c9030d87b24c9cb4efdabe9c7b9337">BufferLock</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>It protects the buffer associated with this CPU. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00225">225</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2df61425b58c12f1de6f0e6aaeb131ea"></a><!-- doxytag: member="__CPU_Private_Data::C" ref="a2df61425b58c12f1de6f0e6aaeb131ea" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ULONG <a class="el" href="struct____CPU__Private__Data.html#a2df61425b58c12f1de6f0e6aaeb131ea">C</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Zero-based index of the consumer in the buffer. It indicates the first free byte to be read. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00210">210</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a04eecb86252e644a73f38346274340dc"></a><!-- doxytag: member="__CPU_Private_Data::Dropped" ref="a04eecb86252e644a73f38346274340dc" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ULONG <a class="el" href="struct____CPU__Private__Data.html#a04eecb86252e644a73f38346274340dc">Dropped</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Number of packet that current instance had to drop, from its opening. A packet is dropped if there is no more space to store it in the circular buffer that the driver associates to current instance. This number is related to the particular CPU this structure is referring to. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00221">221</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="acaf5ef1e959170b06d01fc65a27bb951"></a><!-- doxytag: member="__CPU_Private_Data::Free" ref="acaf5ef1e959170b06d01fc65a27bb951" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ULONG <a class="el" href="struct____CPU__Private__Data.html#acaf5ef1e959170b06d01fc65a27bb951">Free</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Number of the free bytes in the buffer. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00211">211</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a58f2c915dfc7041ccb0d568eb79b494e"></a><!-- doxytag: member="__CPU_Private_Data::NewP" ref="a58f2c915dfc7041ccb0d568eb79b494e" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ULONG <a class="el" href="struct____CPU__Private__Data.html#a58f2c915dfc7041ccb0d568eb79b494e">NewP</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Used by NdisTransferData() (when we call NdisTransferData, p index must be updated only in the TransferDataComplete. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00228">228</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a897d2179904e0d6fafd73b3d400052de"></a><!-- doxytag: member="__CPU_Private_Data::P" ref="a897d2179904e0d6fafd73b3d400052de" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ULONG <a class="el" href="struct____CPU__Private__Data.html#a897d2179904e0d6fafd73b3d400052de">P</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Zero-based index of the producer in the buffer. It indicates the first free byte to be written. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00209">209</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a82febc79f3f3bbf857a4fd34447b5ca2"></a><!-- doxytag: member="__CPU_Private_Data::Received" ref="a82febc79f3f3bbf857a4fd34447b5ca2" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ULONG <a class="el" href="struct____CPU__Private__Data.html#a82febc79f3f3bbf857a4fd34447b5ca2">Received</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Number of packets received by current instance from its opening, i.e. number of packet received by the network adapter since the beginning of the capture/monitoring/dump session. This number is related to the particular CPU this structure is referring to. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00217">217</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="acae03ade5065032ceaeef0bd03217b4f"></a><!-- doxytag: member="__CPU_Private_Data::TransferMdl1" ref="acae03ade5065032ceaeef0bd03217b4f" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">PMDL <a class="el" href="struct____CPU__Private__Data.html#acae03ade5065032ceaeef0bd03217b4f">TransferMdl1</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>MDL used to map the portion of the buffer that will contain an incoming packet. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00226">226</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a17b59e156d00ef5c76bdfe454c73ca49"></a><!-- doxytag: member="__CPU_Private_Data::TransferMdl2" ref="a17b59e156d00ef5c76bdfe454c73ca49" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">PMDL <a class="el" href="struct____CPU__Private__Data.html#a17b59e156d00ef5c76bdfe454c73ca49">TransferMdl2</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Second MDL used to map the portion of the buffer that will contain an incoming packet. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00227">227</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="Packet_8h_source.html">Packet.h</a></li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/structactive__pars.html b/3rdparty/winpcap/docs/html/structactive__pars.html
new file mode 100644
index 00000000000..800860c22e4
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/structactive__pars.html
@@ -0,0 +1,94 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: active_pars Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>active_pars Struct Reference</h1><!-- doxytag: class="active_pars" -->
+<p><code>#include &lt;<a class="el" href="rpcapd_8h_source.html">rpcapd.h</a>&gt;</code></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structactive__pars.html#a5511071c05ef7770f90a2a75366c2929">address</a> [MAX_LINE+1]</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structactive__pars.html#a27201989fe772052edc147c02e61ae00">port</a> [MAX_LINE+1]</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structactive__pars.html#a4dc44d22f13bc5c59bff73e549e96a5c">ai_family</a></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+
+<p>Definition at line <a class="el" href="rpcapd_8h_source.html#l00044">44</a> of file <a class="el" href="rpcapd_8h_source.html">rpcapd.h</a>.</p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="a5511071c05ef7770f90a2a75366c2929"></a><!-- doxytag: member="active_pars::address" ref="a5511071c05ef7770f90a2a75366c2929" args="[MAX_LINE+1]" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char <a class="el" href="structactive__pars.html#a5511071c05ef7770f90a2a75366c2929">address</a>[MAX_LINE+1]</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="rpcapd_8h_source.html#l00046">46</a> of file <a class="el" href="rpcapd_8h_source.html">rpcapd.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4dc44d22f13bc5c59bff73e549e96a5c"></a><!-- doxytag: member="active_pars::ai_family" ref="a4dc44d22f13bc5c59bff73e549e96a5c" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="structactive__pars.html#a4dc44d22f13bc5c59bff73e549e96a5c">ai_family</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="rpcapd_8h_source.html#l00048">48</a> of file <a class="el" href="rpcapd_8h_source.html">rpcapd.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a27201989fe772052edc147c02e61ae00"></a><!-- doxytag: member="active_pars::port" ref="a27201989fe772052edc147c02e61ae00" args="[MAX_LINE+1]" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char <a class="el" href="structactive__pars.html#a27201989fe772052edc147c02e61ae00">port</a>[MAX_LINE+1]</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="rpcapd_8h_source.html#l00047">47</a> of file <a class="el" href="rpcapd_8h_source.html">rpcapd.h</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="rpcapd_8h_source.html">rpcapd.h</a></li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/structactivehosts.html b/3rdparty/winpcap/docs/html/structactivehosts.html
new file mode 100644
index 00000000000..382c20f150c
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/structactivehosts.html
@@ -0,0 +1,102 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: activehosts Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>activehosts Struct Reference<br/>
+<small>
+[<a class="el" href="group__remote__pri__struct.html">Internal Structures and Definitions</a>]</small>
+</h1><!-- doxytag: class="activehosts" -->
+<p>Keeps a list of all the opened connections in the active mode.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>&gt;</code></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct sockaddr_storage&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structactivehosts.html#aa80ddc7d4304067f1441e3562c9b2b08">host</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">SOCKET&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structactivehosts.html#a33939ceefa385f1e6c60f94f2474869d">sockctrl</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structactivehosts.html">activehosts</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structactivehosts.html#a34f7d4dc0ffb851aa4d9bf2e82ba915b">next</a></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Keeps a list of all the opened connections in the active mode. </p>
+<p>This structure defines a linked list of items that are needed to keep the info required to manage the active mode. In other words, when a new connection in active mode starts, this structure is updated so that it reflects the list of active mode connections currently opened. This structure is required by findalldevs() and open_remote() to see if they have to open a new control connection toward the host, or they already have a control connection in place. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00133">133</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="aa80ddc7d4304067f1441e3562c9b2b08"></a><!-- doxytag: member="activehosts::host" ref="aa80ddc7d4304067f1441e3562c9b2b08" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct sockaddr_storage <a class="el" href="structactivehosts.html#aa80ddc7d4304067f1441e3562c9b2b08">host</a><code> [read]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00135">135</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a34f7d4dc0ffb851aa4d9bf2e82ba915b"></a><!-- doxytag: member="activehosts::next" ref="a34f7d4dc0ffb851aa4d9bf2e82ba915b" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct <a class="el" href="structactivehosts.html">activehosts</a>* <a class="el" href="structactivehosts.html#a34f7d4dc0ffb851aa4d9bf2e82ba915b">next</a><code> [read]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00137">137</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a33939ceefa385f1e6c60f94f2474869d"></a><!-- doxytag: member="activehosts::sockctrl" ref="a33939ceefa385f1e6c60f94f2474869d" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SOCKET <a class="el" href="structactivehosts.html#a33939ceefa385f1e6c60f94f2474869d">sockctrl</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00136">136</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a></li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/structbinary__stream.html b/3rdparty/winpcap/docs/html/structbinary__stream.html
new file mode 100644
index 00000000000..918b05995c6
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/structbinary__stream.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: binary_stream Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>binary_stream Struct Reference<br/>
+<small>
+[<a class="el" href="group__NPF__jitter.html">NPF Just-in-time compiler definitions</a>]</small>
+</h1><!-- doxytag: class="binary_stream" -->
+<p>A stream of X86 binary code.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="jitter_8h_source.html">jitter.h</a>&gt;</code></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">INT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbinary__stream.html#a50441f9758f33af17338ad5287c77eba">cur_ip</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Current X86 instruction pointer. <a href="#a50441f9758f33af17338ad5287c77eba"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">INT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbinary__stream.html#aac2aa0c781c5af722cd3b1bbf843349e">bpf_pc</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Current BPF instruction pointer, i.e. position in the BPF program reached by the jitter. <a href="#aac2aa0c781c5af722cd3b1bbf843349e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PCHAR&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbinary__stream.html#abb3db7b09fbe9ae9c56d7ee080669cca">ibuf</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Instruction buffer, contains the X86 generated code. <a href="#abb3db7b09fbe9ae9c56d7ee080669cca"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">PUINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbinary__stream.html#a479a793a3937e38fd40e0bb6edfbfe5e">refs</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Jumps reference table. <a href="#a479a793a3937e38fd40e0bb6edfbfe5e"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>A stream of X86 binary code. </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00069">69</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="aac2aa0c781c5af722cd3b1bbf843349e"></a><!-- doxytag: member="binary_stream::bpf_pc" ref="aac2aa0c781c5af722cd3b1bbf843349e" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">INT <a class="el" href="structbinary__stream.html#aac2aa0c781c5af722cd3b1bbf843349e">bpf_pc</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Current BPF instruction pointer, i.e. position in the BPF program reached by the jitter. </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00071">71</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a50441f9758f33af17338ad5287c77eba"></a><!-- doxytag: member="binary_stream::cur_ip" ref="a50441f9758f33af17338ad5287c77eba" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">INT <a class="el" href="structbinary__stream.html#a50441f9758f33af17338ad5287c77eba">cur_ip</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Current X86 instruction pointer. </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00070">70</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abb3db7b09fbe9ae9c56d7ee080669cca"></a><!-- doxytag: member="binary_stream::ibuf" ref="abb3db7b09fbe9ae9c56d7ee080669cca" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">PCHAR <a class="el" href="structbinary__stream.html#abb3db7b09fbe9ae9c56d7ee080669cca">ibuf</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Instruction buffer, contains the X86 generated code. </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00072">72</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a479a793a3937e38fd40e0bb6edfbfe5e"></a><!-- doxytag: member="binary_stream::refs" ref="a479a793a3937e38fd40e0bb6edfbfe5e" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">PUINT <a class="el" href="structbinary__stream.html#a479a793a3937e38fd40e0bb6edfbfe5e">refs</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Jumps reference table. </p>
+
+<p>Definition at line <a class="el" href="jitter_8h_source.html#l00073">73</a> of file <a class="el" href="jitter_8h_source.html">jitter.h</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="jitter_8h_source.html">jitter.h</a></li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/structdaemon__slpars.html b/3rdparty/winpcap/docs/html/structdaemon__slpars.html
new file mode 100644
index 00000000000..82caf029b8d
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/structdaemon__slpars.html
@@ -0,0 +1,126 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: daemon_slpars Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>daemon_slpars Struct Reference</h1><!-- doxytag: class="daemon_slpars" -->
+<p>Structure that keeps the parameters needed by the <a class="el" href="daemon_8h.html#ac54125d76e6f1ed4531f2025d51297e9">daemon_serviceloop()</a> function.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="daemon_8h_source.html">daemon.h</a>&gt;</code></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">SOCKET&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdaemon__slpars.html#a33939ceefa385f1e6c60f94f2474869d">sockctrl</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SOCKET ID of the control connection. <a href="#a33939ceefa385f1e6c60f94f2474869d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdaemon__slpars.html#a144e351e5de6c1ee3d9db04403434984">isactive</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Not null if the daemon has to run in active mode. <a href="#a144e351e5de6c1ee3d9db04403434984"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdaemon__slpars.html#a2513fb035d3d00a2d1b3c355aab6c93a">nullAuthAllowed</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">'1' if we permit NULL authentication, '0' otherwise <a href="#a2513fb035d3d00a2d1b3c355aab6c93a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdaemon__slpars.html#a56e762dd86c425a2780508a6373d5271">activeclose</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">'1' if the client closed the control connection explicitely; used in active mode only <a href="#a56e762dd86c425a2780508a6373d5271"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Structure that keeps the parameters needed by the <a class="el" href="daemon_8h.html#ac54125d76e6f1ed4531f2025d51297e9">daemon_serviceloop()</a> function. </p>
+
+<p>Definition at line <a class="el" href="daemon_8h_source.html#l00037">37</a> of file <a class="el" href="daemon_8h_source.html">daemon.h</a>.</p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="a56e762dd86c425a2780508a6373d5271"></a><!-- doxytag: member="daemon_slpars::activeclose" ref="a56e762dd86c425a2780508a6373d5271" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="structdaemon__slpars.html#a56e762dd86c425a2780508a6373d5271">activeclose</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>'1' if the client closed the control connection explicitely; used in active mode only </p>
+
+<p>Definition at line <a class="el" href="daemon_8h_source.html#l00042">42</a> of file <a class="el" href="daemon_8h_source.html">daemon.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a144e351e5de6c1ee3d9db04403434984"></a><!-- doxytag: member="daemon_slpars::isactive" ref="a144e351e5de6c1ee3d9db04403434984" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="structdaemon__slpars.html#a144e351e5de6c1ee3d9db04403434984">isactive</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Not null if the daemon has to run in active mode. </p>
+
+<p>Definition at line <a class="el" href="daemon_8h_source.html#l00040">40</a> of file <a class="el" href="daemon_8h_source.html">daemon.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2513fb035d3d00a2d1b3c355aab6c93a"></a><!-- doxytag: member="daemon_slpars::nullAuthAllowed" ref="a2513fb035d3d00a2d1b3c355aab6c93a" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="structdaemon__slpars.html#a2513fb035d3d00a2d1b3c355aab6c93a">nullAuthAllowed</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>'1' if we permit NULL authentication, '0' otherwise </p>
+
+<p>Definition at line <a class="el" href="daemon_8h_source.html#l00041">41</a> of file <a class="el" href="daemon_8h_source.html">daemon.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a33939ceefa385f1e6c60f94f2474869d"></a><!-- doxytag: member="daemon_slpars::sockctrl" ref="a33939ceefa385f1e6c60f94f2474869d" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">SOCKET <a class="el" href="structdaemon__slpars.html#a33939ceefa385f1e6c60f94f2474869d">sockctrl</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>SOCKET ID of the control connection. </p>
+
+<p>Definition at line <a class="el" href="daemon_8h_source.html#l00039">39</a> of file <a class="el" href="daemon_8h_source.html">daemon.h</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="daemon_8h_source.html">daemon.h</a></li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/structpacket__file__header.html b/3rdparty/winpcap/docs/html/structpacket__file__header.html
new file mode 100644
index 00000000000..f2b0b69a546
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/structpacket__file__header.html
@@ -0,0 +1,187 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: packet_file_header Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>packet_file_header Struct Reference<br/>
+<small>
+[<a class="el" href="group__NPF__include.html">NPF structures and definitions</a>]</small>
+</h1><!-- doxytag: class="packet_file_header" -->
+<p>Header of a libpcap dump file.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="Packet_8h_source.html">Packet.h</a>&gt;</code></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">UINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpacket__file__header.html#ab396ddef34e11edb49e5edfcc39c2dc7">magic</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Libpcap magic number. <a href="#ab396ddef34e11edb49e5edfcc39c2dc7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">USHORT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpacket__file__header.html#a312dffcaa516df104318626fbdc01a77">version_major</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Libpcap major version. <a href="#a312dffcaa516df104318626fbdc01a77"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">USHORT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpacket__file__header.html#a143bc467378ffbd0460662bd8912082b">version_minor</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Libpcap minor version. <a href="#a143bc467378ffbd0460662bd8912082b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">UINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpacket__file__header.html#ab0f3e0ccc83861eb84cd3da32f01f090">thiszone</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gmt to local correction. <a href="#ab0f3e0ccc83861eb84cd3da32f01f090"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">UINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpacket__file__header.html#a5938c470e9e548ad2ac04923725e7721">sigfigs</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Accuracy of timestamps. <a href="#a5938c470e9e548ad2ac04923725e7721"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">UINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpacket__file__header.html#a45b189420d67014dba25bd13da85ddae">snaplen</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Length of the max saved portion of each packet. <a href="#a45b189420d67014dba25bd13da85ddae"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">UINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpacket__file__header.html#ab2a8854181cde7a065a43380b56fd2a1">linktype</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Data link type (DLT_*). See win_bpf.h for details. <a href="#ab2a8854181cde7a065a43380b56fd2a1"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Header of a libpcap dump file. </p>
+<p>Used when a driver instance is set in dump mode to create a libpcap-compatible file. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00106">106</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="ab2a8854181cde7a065a43380b56fd2a1"></a><!-- doxytag: member="packet_file_header::linktype" ref="ab2a8854181cde7a065a43380b56fd2a1" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">UINT <a class="el" href="structpacket__file__header.html#ab2a8854181cde7a065a43380b56fd2a1">linktype</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Data link type (DLT_*). See win_bpf.h for details. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00114">114</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab396ddef34e11edb49e5edfcc39c2dc7"></a><!-- doxytag: member="packet_file_header::magic" ref="ab396ddef34e11edb49e5edfcc39c2dc7" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">UINT <a class="el" href="structpacket__file__header.html#ab396ddef34e11edb49e5edfcc39c2dc7">magic</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Libpcap magic number. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00108">108</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5938c470e9e548ad2ac04923725e7721"></a><!-- doxytag: member="packet_file_header::sigfigs" ref="a5938c470e9e548ad2ac04923725e7721" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">UINT <a class="el" href="structpacket__file__header.html#a5938c470e9e548ad2ac04923725e7721">sigfigs</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Accuracy of timestamps. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00112">112</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a45b189420d67014dba25bd13da85ddae"></a><!-- doxytag: member="packet_file_header::snaplen" ref="a45b189420d67014dba25bd13da85ddae" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">UINT <a class="el" href="structpacket__file__header.html#a45b189420d67014dba25bd13da85ddae">snaplen</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Length of the max saved portion of each packet. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00113">113</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab0f3e0ccc83861eb84cd3da32f01f090"></a><!-- doxytag: member="packet_file_header::thiszone" ref="ab0f3e0ccc83861eb84cd3da32f01f090" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">UINT <a class="el" href="structpacket__file__header.html#ab0f3e0ccc83861eb84cd3da32f01f090">thiszone</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Gmt to local correction. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00111">111</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a312dffcaa516df104318626fbdc01a77"></a><!-- doxytag: member="packet_file_header::version_major" ref="a312dffcaa516df104318626fbdc01a77" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">USHORT <a class="el" href="structpacket__file__header.html#a312dffcaa516df104318626fbdc01a77">version_major</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Libpcap major version. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00109">109</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a143bc467378ffbd0460662bd8912082b"></a><!-- doxytag: member="packet_file_header::version_minor" ref="a143bc467378ffbd0460662bd8912082b" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">USHORT <a class="el" href="structpacket__file__header.html#a143bc467378ffbd0460662bd8912082b">version_minor</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Libpcap minor version. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00110">110</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="Packet_8h_source.html">Packet.h</a></li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/structpcap__addr.html b/3rdparty/winpcap/docs/html/structpcap__addr.html
new file mode 100644
index 00000000000..d374db59b23
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/structpcap__addr.html
@@ -0,0 +1,148 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: pcap_addr Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>pcap_addr Struct Reference<br/>
+<small>
+[<a class="el" href="group__wpcap__def.html">Definitions</a>]</small>
+</h1><!-- doxytag: class="pcap_addr" -->
+<p>Representation of an interface address, used by <a class="el" href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d" title="Construct a list of network devices that can be opened with pcap_open_live().">pcap_findalldevs()</a>.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="incs_2pcap_8h_source.html">pcap.h</a>&gt;</code></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structpcap__addr.html">pcap_addr</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__addr.html#ab151e8e96bdb23ae8dd8d644de561999">next</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">if not NULL, a pointer to the next element in the list; NULL for the last element of the list <a href="#ab151e8e96bdb23ae8dd8d644de561999"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct sockaddr *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__addr.html#a4863f5b8767cd19fe6ea4db75456e5df">addr</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">a pointer to a struct sockaddr containing an address <a href="#a4863f5b8767cd19fe6ea4db75456e5df"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct sockaddr *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__addr.html#ac43963e42e4d901e55e433ab9c3ea686">netmask</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">if not NULL, a pointer to a struct sockaddr that contains the netmask corresponding to the address pointed to by addr. <a href="#ac43963e42e4d901e55e433ab9c3ea686"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct sockaddr *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__addr.html#a0077647e1560caa72d457120b36c248c">broadaddr</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">if not NULL, a pointer to a struct sockaddr that contains the broadcast address corre­ sponding to the address pointed to by addr; may be null if the interface doesn't support broadcasts <a href="#a0077647e1560caa72d457120b36c248c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct sockaddr *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__addr.html#a4a32e00e83d4b1b582ba9cef24a5d62a">dstaddr</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">if not NULL, a pointer to a struct sockaddr that contains the destination address corre­ sponding to the address pointed to by addr; may be null if the interface isn't a point- to-point interface <a href="#a4a32e00e83d4b1b582ba9cef24a5d62a"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Representation of an interface address, used by <a class="el" href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d" title="Construct a list of network devices that can be opened with pcap_open_live().">pcap_findalldevs()</a>. </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00161">161</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="a4863f5b8767cd19fe6ea4db75456e5df"></a><!-- doxytag: member="pcap_addr::addr" ref="a4863f5b8767cd19fe6ea4db75456e5df" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct sockaddr* <a class="el" href="structpcap__addr.html#a4863f5b8767cd19fe6ea4db75456e5df">addr</a><code> [read]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>a pointer to a struct sockaddr containing an address </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00163">163</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0077647e1560caa72d457120b36c248c"></a><!-- doxytag: member="pcap_addr::broadaddr" ref="a0077647e1560caa72d457120b36c248c" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct sockaddr* <a class="el" href="structpcap__addr.html#a0077647e1560caa72d457120b36c248c">broadaddr</a><code> [read]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>if not NULL, a pointer to a struct sockaddr that contains the broadcast address corre­ sponding to the address pointed to by addr; may be null if the interface doesn't support broadcasts </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00165">165</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4a32e00e83d4b1b582ba9cef24a5d62a"></a><!-- doxytag: member="pcap_addr::dstaddr" ref="a4a32e00e83d4b1b582ba9cef24a5d62a" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct sockaddr* <a class="el" href="structpcap__addr.html#a4a32e00e83d4b1b582ba9cef24a5d62a">dstaddr</a><code> [read]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>if not NULL, a pointer to a struct sockaddr that contains the destination address corre­ sponding to the address pointed to by addr; may be null if the interface isn't a point- to-point interface </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00166">166</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac43963e42e4d901e55e433ab9c3ea686"></a><!-- doxytag: member="pcap_addr::netmask" ref="ac43963e42e4d901e55e433ab9c3ea686" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct sockaddr* <a class="el" href="structpcap__addr.html#ac43963e42e4d901e55e433ab9c3ea686">netmask</a><code> [read]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>if not NULL, a pointer to a struct sockaddr that contains the netmask corresponding to the address pointed to by addr. </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00164">164</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab151e8e96bdb23ae8dd8d644de561999"></a><!-- doxytag: member="pcap_addr::next" ref="ab151e8e96bdb23ae8dd8d644de561999" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct <a class="el" href="structpcap__addr.html">pcap_addr</a>* <a class="el" href="structpcap__addr.html#ab151e8e96bdb23ae8dd8d644de561999">next</a><code> [read]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>if not NULL, a pointer to the next element in the list; NULL for the last element of the list </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00162">162</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a></li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/structpcap__file__header.html b/3rdparty/winpcap/docs/html/structpcap__file__header.html
new file mode 100644
index 00000000000..cbdb48026ac
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/structpcap__file__header.html
@@ -0,0 +1,192 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: pcap_file_header Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>pcap_file_header Struct Reference<br/>
+<small>
+[<a class="el" href="group__wpcap__def.html">Definitions</a>]</small>
+</h1><!-- doxytag: class="pcap_file_header" -->
+<p>Header of a libpcap dump file.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="incs_2pcap_8h_source.html">pcap.h</a>&gt;</code></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482">bpf_u_int32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__file__header.html#a18b75bcc7dcee1412b74b57bb238cf3d">magic</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">u_short&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__file__header.html#a571fada6e8ffbb02ad47e64f0f721d4a">version_major</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Libpcap major version. <a href="#a571fada6e8ffbb02ad47e64f0f721d4a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">u_short&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__file__header.html#a82971bc0da75fef683f826bd48050307">version_minor</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Libpcap minor version. <a href="#a82971bc0da75fef683f826bd48050307"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__wpcap__def.html#ga759c6336c1d9abb462d9248c5ca5c437">bpf_int32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__file__header.html#ae729a1ba12145c96acbe2bb6310bc7e1">thiszone</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">gmt to local correction <a href="#ae729a1ba12145c96acbe2bb6310bc7e1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482">bpf_u_int32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__file__header.html#a209ec264363632ccd21b412c93d2881a">sigfigs</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">accuracy of timestamps <a href="#a209ec264363632ccd21b412c93d2881a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482">bpf_u_int32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__file__header.html#aa73496b51e5edb630420e4044792c897">snaplen</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">max length saved portion of each pkt <a href="#aa73496b51e5edb630420e4044792c897"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482">bpf_u_int32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__file__header.html#a1c54dd90a08b2c232f2f204bfaa54496">linktype</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">data link type (LINKTYPE_*) <a href="#a1c54dd90a08b2c232f2f204bfaa54496"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Header of a libpcap dump file. </p>
+<p>The first record in the file contains saved values for some of the flags used in the printout phases of tcpdump. Many fields here are 32 bit ints so compilers won't insert unwanted padding; these files need to be interchangeable across architectures.</p>
+<p>Do not change the layout of this structure, in any way (this includes changes that only affect the length of fields in this structure).</p>
+<p>Also, do not change the interpretation of any of the members of this structure, in any way (this includes using values other than LINKTYPE_ values, as defined in "savefile.c", in the "linktype" field).</p>
+<p>Instead:</p>
+<p>introduce a new structure for the new format, if the layout of the structure changed;</p>
+<p>send mail to "tcpdump-workers@tcpdump.org", requesting a new magic number for your new capture file format, and, when you get the new magic number, put it in "savefile.c";</p>
+<p>use that magic number for save files with the changed file header;</p>
+<p>make the code in "savefile.c" capable of reading files with the old file header as well as files with the new file header (using the magic number to determine the header format).</p>
+<p>Then supply the changes to "patches@tcpdump.org", so that future versions of libpcap and programs that use it (such as tcpdump) will be able to read your new capture file format. </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00110">110</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="a1c54dd90a08b2c232f2f204bfaa54496"></a><!-- doxytag: member="pcap_file_header::linktype" ref="a1c54dd90a08b2c232f2f204bfaa54496" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482">bpf_u_int32</a> <a class="el" href="structpcap__file__header.html#a1c54dd90a08b2c232f2f204bfaa54496">linktype</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>data link type (LINKTYPE_*) </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00117">117</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a18b75bcc7dcee1412b74b57bb238cf3d"></a><!-- doxytag: member="pcap_file_header::magic" ref="a18b75bcc7dcee1412b74b57bb238cf3d" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482">bpf_u_int32</a> <a class="el" href="structpcap__file__header.html#a18b75bcc7dcee1412b74b57bb238cf3d">magic</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00111">111</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a209ec264363632ccd21b412c93d2881a"></a><!-- doxytag: member="pcap_file_header::sigfigs" ref="a209ec264363632ccd21b412c93d2881a" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482">bpf_u_int32</a> <a class="el" href="structpcap__file__header.html#a209ec264363632ccd21b412c93d2881a">sigfigs</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>accuracy of timestamps </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00115">115</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa73496b51e5edb630420e4044792c897"></a><!-- doxytag: member="pcap_file_header::snaplen" ref="aa73496b51e5edb630420e4044792c897" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482">bpf_u_int32</a> <a class="el" href="structpcap__file__header.html#aa73496b51e5edb630420e4044792c897">snaplen</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>max length saved portion of each pkt </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00116">116</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae729a1ba12145c96acbe2bb6310bc7e1"></a><!-- doxytag: member="pcap_file_header::thiszone" ref="ae729a1ba12145c96acbe2bb6310bc7e1" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__wpcap__def.html#ga759c6336c1d9abb462d9248c5ca5c437">bpf_int32</a> <a class="el" href="structpcap__file__header.html#ae729a1ba12145c96acbe2bb6310bc7e1">thiszone</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>gmt to local correction </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00114">114</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a571fada6e8ffbb02ad47e64f0f721d4a"></a><!-- doxytag: member="pcap_file_header::version_major" ref="a571fada6e8ffbb02ad47e64f0f721d4a" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">u_short <a class="el" href="structpcap__file__header.html#a571fada6e8ffbb02ad47e64f0f721d4a">version_major</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Libpcap major version. </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00112">112</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a82971bc0da75fef683f826bd48050307"></a><!-- doxytag: member="pcap_file_header::version_minor" ref="a82971bc0da75fef683f826bd48050307" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">u_short <a class="el" href="structpcap__file__header.html#a82971bc0da75fef683f826bd48050307">version_minor</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Libpcap minor version. </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00113">113</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a></li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/structpcap__if.html b/3rdparty/winpcap/docs/html/structpcap__if.html
new file mode 100644
index 00000000000..3f455a864e6
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/structpcap__if.html
@@ -0,0 +1,148 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: pcap_if Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>pcap_if Struct Reference<br/>
+<small>
+[<a class="el" href="group__wpcap__def.html">Definitions</a>]</small>
+</h1><!-- doxytag: class="pcap_if" -->
+<p>Item in a list of interfaces, used by <a class="el" href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d" title="Construct a list of network devices that can be opened with pcap_open_live().">pcap_findalldevs()</a>.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="incs_2pcap_8h_source.html">pcap.h</a>&gt;</code></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structpcap__if.html">pcap_if</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__if.html#a81508e6e4e41ca4235c8d6b51913c536">next</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">if not NULL, a pointer to the next element in the list; NULL for the last element of the list <a href="#a81508e6e4e41ca4235c8d6b51913c536"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__if.html#a5ac083a645d964373f022d03df4849c8">name</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">a pointer to a string giving a name for the device to pass to <a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a> <a href="#a5ac083a645d964373f022d03df4849c8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__if.html#a8444d6e0dfe2bbab0b5e7b24308f1559">description</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">if not NULL, a pointer to a string giving a human-readable description of the device <a href="#a8444d6e0dfe2bbab0b5e7b24308f1559"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structpcap__addr.html">pcap_addr</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__if.html#a3910004677550db6d9b09792ba3e2cca">addresses</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">a pointer to the first element of a list of addresses for the interface <a href="#a3910004677550db6d9b09792ba3e2cca"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">u_int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__if.html#a304e038dd1326c14b31a206cbad18756">flags</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">PCAP_IF_ interface flags. Currently the only possible flag is <b>PCAP_IF_LOOPBACK</b>, that is set if the interface is a loopback interface. <a href="#a304e038dd1326c14b31a206cbad18756"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Item in a list of interfaces, used by <a class="el" href="group__wpcapfunc.html#ga7b128eaeef627b408f6a6e2a2f5eb45d" title="Construct a list of network devices that can be opened with pcap_open_live().">pcap_findalldevs()</a>. </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00148">148</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="a3910004677550db6d9b09792ba3e2cca"></a><!-- doxytag: member="pcap_if::addresses" ref="a3910004677550db6d9b09792ba3e2cca" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct <a class="el" href="structpcap__addr.html">pcap_addr</a>* <a class="el" href="structpcap__if.html#a3910004677550db6d9b09792ba3e2cca">addresses</a><code> [read]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>a pointer to the first element of a list of addresses for the interface </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00152">152</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8444d6e0dfe2bbab0b5e7b24308f1559"></a><!-- doxytag: member="pcap_if::description" ref="a8444d6e0dfe2bbab0b5e7b24308f1559" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char* <a class="el" href="structpcap__if.html#a8444d6e0dfe2bbab0b5e7b24308f1559">description</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>if not NULL, a pointer to a string giving a human-readable description of the device </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00151">151</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a304e038dd1326c14b31a206cbad18756"></a><!-- doxytag: member="pcap_if::flags" ref="a304e038dd1326c14b31a206cbad18756" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">u_int <a class="el" href="structpcap__if.html#a304e038dd1326c14b31a206cbad18756">flags</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>PCAP_IF_ interface flags. Currently the only possible flag is <b>PCAP_IF_LOOPBACK</b>, that is set if the interface is a loopback interface. </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00153">153</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5ac083a645d964373f022d03df4849c8"></a><!-- doxytag: member="pcap_if::name" ref="a5ac083a645d964373f022d03df4849c8" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char* <a class="el" href="structpcap__if.html#a5ac083a645d964373f022d03df4849c8">name</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>a pointer to a string giving a name for the device to pass to <a class="el" href="group__wpcapfunc.html#gaae6abe06e15c87b803f69773822beca8" title="Open a live capture from the network.">pcap_open_live()</a> </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00150">150</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a81508e6e4e41ca4235c8d6b51913c536"></a><!-- doxytag: member="pcap_if::next" ref="a81508e6e4e41ca4235c8d6b51913c536" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct <a class="el" href="structpcap__if.html">pcap_if</a>* <a class="el" href="structpcap__if.html#a81508e6e4e41ca4235c8d6b51913c536">next</a><code> [read]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>if not NULL, a pointer to the next element in the list; NULL for the last element of the list </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00149">149</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a></li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/structpcap__pkthdr.html b/3rdparty/winpcap/docs/html/structpcap__pkthdr.html
new file mode 100644
index 00000000000..9a721e0b552
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/structpcap__pkthdr.html
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: pcap_pkthdr Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>pcap_pkthdr Struct Reference<br/>
+<small>
+[<a class="el" href="group__wpcap__def.html">Definitions</a>]</small>
+</h1><!-- doxytag: class="pcap_pkthdr" -->
+<p>Header of a packet in the dump file.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="incs_2pcap_8h_source.html">pcap.h</a>&gt;</code></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct timeval&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__pkthdr.html#a21be78b2818c91cb205885b8a6f5aed8">ts</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">time stamp <a href="#a21be78b2818c91cb205885b8a6f5aed8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482">bpf_u_int32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__pkthdr.html#aac5771ed2efd92508bb4fe650f2ce7d7">caplen</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">length of portion present <a href="#aac5771ed2efd92508bb4fe650f2ce7d7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482">bpf_u_int32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__pkthdr.html#a728f264db4f5cc304742565a2bcdbeea">len</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">length this packet (off wire) <a href="#a728f264db4f5cc304742565a2bcdbeea"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Header of a packet in the dump file. </p>
+<p>Each packet in the dump file is prepended with this generic header. This gets around the problem of different headers for different packet interfaces. </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00126">126</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="aac5771ed2efd92508bb4fe650f2ce7d7"></a><!-- doxytag: member="pcap_pkthdr::caplen" ref="aac5771ed2efd92508bb4fe650f2ce7d7" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482">bpf_u_int32</a> <a class="el" href="structpcap__pkthdr.html#aac5771ed2efd92508bb4fe650f2ce7d7">caplen</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>length of portion present </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00128">128</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a728f264db4f5cc304742565a2bcdbeea"></a><!-- doxytag: member="pcap_pkthdr::len" ref="a728f264db4f5cc304742565a2bcdbeea" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__wpcap__def.html#ga37fdbc8313e90fb2041203a2e40cd482">bpf_u_int32</a> <a class="el" href="structpcap__pkthdr.html#a728f264db4f5cc304742565a2bcdbeea">len</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>length this packet (off wire) </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00129">129</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a21be78b2818c91cb205885b8a6f5aed8"></a><!-- doxytag: member="pcap_pkthdr::ts" ref="a21be78b2818c91cb205885b8a6f5aed8" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct timeval <a class="el" href="structpcap__pkthdr.html#a21be78b2818c91cb205885b8a6f5aed8">ts</a><code> [read]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>time stamp </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00127">127</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a></li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/structpcap__rmtauth.html b/3rdparty/winpcap/docs/html/structpcap__rmtauth.html
new file mode 100644
index 00000000000..f846c464d01
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/structpcap__rmtauth.html
@@ -0,0 +1,115 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: pcap_rmtauth Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>pcap_rmtauth Struct Reference<br/>
+<small>
+[<a class="el" href="group__remote__struct.html">Exported Structures and Definitions</a>]</small>
+</h1><!-- doxytag: class="pcap_rmtauth" -->
+<p>This structure keeps the information needed to autheticate the user on a remote machine.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="remote-ext_8h_source.html">remote-ext.h</a>&gt;</code></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__rmtauth.html#ac765329451135abec74c45e1897abf26">type</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type of the authentication required. <a href="#ac765329451135abec74c45e1897abf26"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__rmtauth.html#a9b20c006bd90a09e1465fb668700e81d">username</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Zero-terminated string containing the username that has to be used on the remote machine for authentication. <a href="#a9b20c006bd90a09e1465fb668700e81d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__rmtauth.html#a59460a3ff2c12443d1022e5cc0fba85c">password</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Zero-terminated string containing the password that has to be used on the remote machine for authentication. <a href="#a59460a3ff2c12443d1022e5cc0fba85c"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>This structure keeps the information needed to autheticate the user on a remote machine. </p>
+<p>The remote machine can either grant or refuse the access according to the information provided. In case the NULL authentication is required, both 'username' and 'password' can be NULL pointers.</p>
+<p>This structure is meaningless if the source is not a remote interface; in that case, the functions which requires such a structure can accept a NULL pointer as well. </p>
+
+<p>Definition at line <a class="el" href="remote-ext_8h_source.html#l00338">338</a> of file <a class="el" href="remote-ext_8h_source.html">remote-ext.h</a>.</p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="a59460a3ff2c12443d1022e5cc0fba85c"></a><!-- doxytag: member="pcap_rmtauth::password" ref="a59460a3ff2c12443d1022e5cc0fba85c" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char* <a class="el" href="structpcap__rmtauth.html#a59460a3ff2c12443d1022e5cc0fba85c">password</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Zero-terminated string containing the password that has to be used on the remote machine for authentication. </p>
+<p>This field is meaningless in case of the RPCAP_RMTAUTH_NULL authentication and it can be NULL. </p>
+
+<p>Definition at line <a class="el" href="remote-ext_8h_source.html#l00365">365</a> of file <a class="el" href="remote-ext_8h_source.html">remote-ext.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac765329451135abec74c45e1897abf26"></a><!-- doxytag: member="pcap_rmtauth::type" ref="ac765329451135abec74c45e1897abf26" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="structpcap__rmtauth.html#ac765329451135abec74c45e1897abf26">type</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Type of the authentication required. </p>
+<p>In order to provide maximum flexibility, we can support different types of authentication based on the value of this 'type' variable. The currently supported authentication methods are defined into the <a class="el" href="group__remote__auth__methods.html">Remote Authentication Methods Section</a>. </p>
+
+<p>Definition at line <a class="el" href="remote-ext_8h_source.html#l00349">349</a> of file <a class="el" href="remote-ext_8h_source.html">remote-ext.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9b20c006bd90a09e1465fb668700e81d"></a><!-- doxytag: member="pcap_rmtauth::username" ref="a9b20c006bd90a09e1465fb668700e81d" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char* <a class="el" href="structpcap__rmtauth.html#a9b20c006bd90a09e1465fb668700e81d">username</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Zero-terminated string containing the username that has to be used on the remote machine for authentication. </p>
+<p>This field is meaningless in case of the RPCAP_RMTAUTH_NULL authentication and it can be NULL. </p>
+
+<p>Definition at line <a class="el" href="remote-ext_8h_source.html#l00357">357</a> of file <a class="el" href="remote-ext_8h_source.html">remote-ext.h</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="remote-ext_8h_source.html">remote-ext.h</a></li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/structpcap__samp.html b/3rdparty/winpcap/docs/html/structpcap__samp.html
new file mode 100644
index 00000000000..6aaeb84a802
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/structpcap__samp.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: pcap_samp Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>pcap_samp Struct Reference<br/>
+<small>
+[<a class="el" href="group__remote__struct.html">Exported Structures and Definitions</a>]</small>
+</h1><!-- doxytag: class="pcap_samp" -->
+<p>This structure defines the information related to sampling.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="remote-ext_8h_source.html">remote-ext.h</a>&gt;</code></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__samp.html#adcc9a19ad3119f823a658f6a49a24e64">method</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__samp.html#ac4f474c82e82cbb89ca7c36dd52be0ed">value</a></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>This structure defines the information related to sampling. </p>
+<p>In case the sampling is requested, the capturing device should read only a subset of the packets coming from the source. The returned packets depend on the sampling parameters.</p>
+<dl class="warning"><dt><b>Warning:</b></dt><dd>The sampling process is applied <b>after</b> the filtering process. In other words, packets are filtered first, then the sampling process selects a subset of the 'filtered' packets and it returns them to the caller. </dd></dl>
+
+<p>Definition at line <a class="el" href="remote-ext_8h_source.html#l00380">380</a> of file <a class="el" href="remote-ext_8h_source.html">remote-ext.h</a>.</p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="adcc9a19ad3119f823a658f6a49a24e64"></a><!-- doxytag: member="pcap_samp::method" ref="adcc9a19ad3119f823a658f6a49a24e64" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="structpcap__samp.html#adcc9a19ad3119f823a658f6a49a24e64">method</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Method used for sampling. Currently, the supported methods are listed in the <a class="el" href="group__remote__samp__methods.html">Sampling Methods Section</a>. </p>
+
+<p>Definition at line <a class="el" href="remote-ext_8h_source.html#l00386">386</a> of file <a class="el" href="remote-ext_8h_source.html">remote-ext.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac4f474c82e82cbb89ca7c36dd52be0ed"></a><!-- doxytag: member="pcap_samp::value" ref="ac4f474c82e82cbb89ca7c36dd52be0ed" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="structpcap__samp.html#ac4f474c82e82cbb89ca7c36dd52be0ed">value</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>This value depends on the sampling method defined. For its meaning, please check at the <a class="el" href="group__remote__samp__methods.html">Sampling Methods Section</a>. </p>
+
+<p>Definition at line <a class="el" href="remote-ext_8h_source.html#l00392">392</a> of file <a class="el" href="remote-ext_8h_source.html">remote-ext.h</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="remote-ext_8h_source.html">remote-ext.h</a></li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/structpcap__send__queue.html b/3rdparty/winpcap/docs/html/structpcap__send__queue.html
new file mode 100644
index 00000000000..f8a85108102
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/structpcap__send__queue.html
@@ -0,0 +1,107 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: pcap_send_queue Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>pcap_send_queue Struct Reference</h1><!-- doxytag: class="pcap_send_queue" -->
+<p>A queue of raw packets that will be sent to the network with <a class="el" href="group__wpcapfunc.html#gaa4d55eb047a1cccc0e28397ce04ee097" title="Send a queue of raw packets to the network.">pcap_sendqueue_transmit()</a>.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="Win32-Extensions_8h_source.html">Win32-Extensions.h</a>&gt;</code></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">u_int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__send__queue.html#a30305e6f9a9069760edf175b138e445d">maxlen</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maximum size of the the queue, in bytes. This variable contains the size of the buffer field. <a href="#a30305e6f9a9069760edf175b138e445d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">u_int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__send__queue.html#ab4853420730b2b590cd3ad0e72fa80ca">len</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Current size of the queue, in bytes. <a href="#ab4853420730b2b590cd3ad0e72fa80ca"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__send__queue.html#aff2566f4c366b48d73479bef43ee4d2e">buffer</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Buffer containing the packets to be sent. <a href="#aff2566f4c366b48d73479bef43ee4d2e"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>A queue of raw packets that will be sent to the network with <a class="el" href="group__wpcapfunc.html#gaa4d55eb047a1cccc0e28397ce04ee097" title="Send a queue of raw packets to the network.">pcap_sendqueue_transmit()</a>. </p>
+
+<p>Definition at line <a class="el" href="Win32-Extensions_8h_source.html#l00046">46</a> of file <a class="el" href="Win32-Extensions_8h_source.html">Win32-Extensions.h</a>.</p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="aff2566f4c366b48d73479bef43ee4d2e"></a><!-- doxytag: member="pcap_send_queue::buffer" ref="aff2566f4c366b48d73479bef43ee4d2e" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char* <a class="el" href="structpcap__send__queue.html#aff2566f4c366b48d73479bef43ee4d2e">buffer</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Buffer containing the packets to be sent. </p>
+
+<p>Definition at line <a class="el" href="Win32-Extensions_8h_source.html#l00050">50</a> of file <a class="el" href="Win32-Extensions_8h_source.html">Win32-Extensions.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab4853420730b2b590cd3ad0e72fa80ca"></a><!-- doxytag: member="pcap_send_queue::len" ref="ab4853420730b2b590cd3ad0e72fa80ca" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">u_int <a class="el" href="structpcap__send__queue.html#ab4853420730b2b590cd3ad0e72fa80ca">len</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Current size of the queue, in bytes. </p>
+
+<p>Definition at line <a class="el" href="Win32-Extensions_8h_source.html#l00049">49</a> of file <a class="el" href="Win32-Extensions_8h_source.html">Win32-Extensions.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a30305e6f9a9069760edf175b138e445d"></a><!-- doxytag: member="pcap_send_queue::maxlen" ref="a30305e6f9a9069760edf175b138e445d" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">u_int <a class="el" href="structpcap__send__queue.html#a30305e6f9a9069760edf175b138e445d">maxlen</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Maximum size of the the queue, in bytes. This variable contains the size of the buffer field. </p>
+
+<p>Definition at line <a class="el" href="Win32-Extensions_8h_source.html#l00048">48</a> of file <a class="el" href="Win32-Extensions_8h_source.html">Win32-Extensions.h</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="Win32-Extensions_8h_source.html">Win32-Extensions.h</a></li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/structpcap__stat.html b/3rdparty/winpcap/docs/html/structpcap__stat.html
new file mode 100644
index 00000000000..efa58254a06
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/structpcap__stat.html
@@ -0,0 +1,130 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: pcap_stat Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>pcap_stat Struct Reference<br/>
+<small>
+[<a class="el" href="group__wpcap__def.html">Definitions</a>]</small>
+</h1><!-- doxytag: class="pcap_stat" -->
+<p>Structure that keeps statistical values on an interface.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="incs_2pcap_8h_source.html">pcap.h</a>&gt;</code></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">u_int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__stat.html#a825c8bdb589e7de8e597f6d6f7af8125">ps_recv</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">number of packets transited on the network <a href="#a825c8bdb589e7de8e597f6d6f7af8125"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">u_int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__stat.html#a2cfc89d84a0ba404cacfa59f6b112bc1">ps_drop</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">number of packets dropped by the driver <a href="#a2cfc89d84a0ba404cacfa59f6b112bc1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">u_int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__stat.html#abc51be1ec5423e462bde5eac5a9b7c56">ps_ifdrop</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">drops by interface, not yet supported <a href="#abc51be1ec5423e462bde5eac5a9b7c56"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">u_int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpcap__stat.html#a579778ac11d2b5c142ce8bc7ed37bb08">bs_capt</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><b>Win32 specific.</b> number of packets captured, i.e number of packets that are accepted by the filter, that find place in the kernel buffer and therefore that actually reach the application. For backward compatibility, <a class="el" href="group__wpcapfunc.html#gabbd74d8c3ce1bcbccc76129ac38f4549" title="Return statistics on current capture.">pcap_stats()</a> does not fill this member, so use <a class="el" href="group__wpcapfunc.html#ga8050f7829956aabd243cc32b3cfabbd6" title="Return statistics on current capture.">pcap_stats_ex()</a> to get it. <a href="#a579778ac11d2b5c142ce8bc7ed37bb08"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Structure that keeps statistical values on an interface. </p>
+<p>As returned by the <a class="el" href="group__wpcapfunc.html#gabbd74d8c3ce1bcbccc76129ac38f4549" title="Return statistics on current capture.">pcap_stats()</a> </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00136">136</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="a579778ac11d2b5c142ce8bc7ed37bb08"></a><!-- doxytag: member="pcap_stat::bs_capt" ref="a579778ac11d2b5c142ce8bc7ed37bb08" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">u_int <a class="el" href="structpcap__stat.html#a579778ac11d2b5c142ce8bc7ed37bb08">bs_capt</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p><b>Win32 specific.</b> number of packets captured, i.e number of packets that are accepted by the filter, that find place in the kernel buffer and therefore that actually reach the application. For backward compatibility, <a class="el" href="group__wpcapfunc.html#gabbd74d8c3ce1bcbccc76129ac38f4549" title="Return statistics on current capture.">pcap_stats()</a> does not fill this member, so use <a class="el" href="group__wpcapfunc.html#ga8050f7829956aabd243cc32b3cfabbd6" title="Return statistics on current capture.">pcap_stats_ex()</a> to get it. </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00141">141</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2cfc89d84a0ba404cacfa59f6b112bc1"></a><!-- doxytag: member="pcap_stat::ps_drop" ref="a2cfc89d84a0ba404cacfa59f6b112bc1" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">u_int <a class="el" href="structpcap__stat.html#a2cfc89d84a0ba404cacfa59f6b112bc1">ps_drop</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>number of packets dropped by the driver </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00138">138</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abc51be1ec5423e462bde5eac5a9b7c56"></a><!-- doxytag: member="pcap_stat::ps_ifdrop" ref="abc51be1ec5423e462bde5eac5a9b7c56" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">u_int <a class="el" href="structpcap__stat.html#abc51be1ec5423e462bde5eac5a9b7c56">ps_ifdrop</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>drops by interface, not yet supported </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00139">139</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a825c8bdb589e7de8e597f6d6f7af8125"></a><!-- doxytag: member="pcap_stat::ps_recv" ref="a825c8bdb589e7de8e597f6d6f7af8125" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">u_int <a class="el" href="structpcap__stat.html#a825c8bdb589e7de8e597f6d6f7af8125">ps_recv</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>number of packets transited on the network </p>
+
+<p>Definition at line <a class="el" href="incs_2pcap_8h_source.html#l00137">137</a> of file <a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="incs_2pcap_8h_source.html">incs/pcap.h</a></li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/structrpcap__auth.html b/3rdparty/winpcap/docs/html/structrpcap__auth.html
new file mode 100644
index 00000000000..5d68086720c
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/structrpcap__auth.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: rpcap_auth Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>rpcap_auth Struct Reference<br/>
+<small>
+[<a class="el" href="group__remote__pri__struct.html">Internal Structures and Definitions</a>]</small>
+</h1><!-- doxytag: class="rpcap_auth" -->
+<p>Structure that keeps the data required for the authentication on the remote host.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>&gt;</code></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__auth.html#af9b2e23a8f32ca09cfeb7d828436fb01">type</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Authentication type. <a href="#af9b2e23a8f32ca09cfeb7d828436fb01"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__auth.html#a39840d82c8fedd34d8b6d25ae4e374c7">dummy</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Must be zero. <a href="#a39840d82c8fedd34d8b6d25ae4e374c7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__auth.html#a893c04f91ad73ad97125a7b451ad9f79">slen1</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Length of the first authentication item (e.g. username). <a href="#a893c04f91ad73ad97125a7b451ad9f79"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__auth.html#aa8114dce6bebe43b9a350a9716128cd1">slen2</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Length of the second authentication item (e.g. password). <a href="#aa8114dce6bebe43b9a350a9716128cd1"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Structure that keeps the data required for the authentication on the remote host. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00249">249</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="a39840d82c8fedd34d8b6d25ae4e374c7"></a><!-- doxytag: member="rpcap_auth::dummy" ref="a39840d82c8fedd34d8b6d25ae4e374c7" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a> <a class="el" href="structrpcap__auth.html#a39840d82c8fedd34d8b6d25ae4e374c7">dummy</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Must be zero. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00252">252</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a893c04f91ad73ad97125a7b451ad9f79"></a><!-- doxytag: member="rpcap_auth::slen1" ref="a893c04f91ad73ad97125a7b451ad9f79" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a> <a class="el" href="structrpcap__auth.html#a893c04f91ad73ad97125a7b451ad9f79">slen1</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Length of the first authentication item (e.g. username). </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00253">253</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa8114dce6bebe43b9a350a9716128cd1"></a><!-- doxytag: member="rpcap_auth::slen2" ref="aa8114dce6bebe43b9a350a9716128cd1" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a> <a class="el" href="structrpcap__auth.html#aa8114dce6bebe43b9a350a9716128cd1">slen2</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Length of the second authentication item (e.g. password). </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00254">254</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af9b2e23a8f32ca09cfeb7d828436fb01"></a><!-- doxytag: member="rpcap_auth::type" ref="af9b2e23a8f32ca09cfeb7d828436fb01" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a> <a class="el" href="structrpcap__auth.html#af9b2e23a8f32ca09cfeb7d828436fb01">type</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Authentication type. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00251">251</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a></li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/structrpcap__filter.html b/3rdparty/winpcap/docs/html/structrpcap__filter.html
new file mode 100644
index 00000000000..2c6e543fcd4
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/structrpcap__filter.html
@@ -0,0 +1,110 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: rpcap_filter Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>rpcap_filter Struct Reference<br/>
+<small>
+[<a class="el" href="group__remote__pri__struct.html">Internal Structures and Definitions</a>]</small>
+</h1><!-- doxytag: class="rpcap_filter" -->
+<p>General header used for the <a class="el" href="group__wpcapfunc.html#gaf5f9cfe85dad0967ff607e5159b1ba61" title="Associate a filter to a capture.">pcap_setfilter()</a> command; keeps just the number of BPF instructions.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>&gt;</code></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__filter.html#a1d9d57b94681191242914430f33b34f0">filtertype</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">type of the filter transferred (BPF instructions, ...) <a href="#a1d9d57b94681191242914430f33b34f0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__filter.html#a39840d82c8fedd34d8b6d25ae4e374c7">dummy</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Must be zero. <a href="#a39840d82c8fedd34d8b6d25ae4e374c7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">uint32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__filter.html#afa9a77743030f7cbceae9cffa2f8b311">nitems</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Number of items contained into the filter (e.g. BPF instructions for BPF filters). <a href="#afa9a77743030f7cbceae9cffa2f8b311"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>General header used for the <a class="el" href="group__wpcapfunc.html#gaf5f9cfe85dad0967ff607e5159b1ba61" title="Associate a filter to a capture.">pcap_setfilter()</a> command; keeps just the number of BPF instructions. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00230">230</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="a39840d82c8fedd34d8b6d25ae4e374c7"></a><!-- doxytag: member="rpcap_filter::dummy" ref="a39840d82c8fedd34d8b6d25ae4e374c7" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a> <a class="el" href="structrpcap__filter.html#a39840d82c8fedd34d8b6d25ae4e374c7">dummy</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Must be zero. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00233">233</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1d9d57b94681191242914430f33b34f0"></a><!-- doxytag: member="rpcap_filter::filtertype" ref="a1d9d57b94681191242914430f33b34f0" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a> <a class="el" href="structrpcap__filter.html#a1d9d57b94681191242914430f33b34f0">filtertype</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>type of the filter transferred (BPF instructions, ...) </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00232">232</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="afa9a77743030f7cbceae9cffa2f8b311"></a><!-- doxytag: member="rpcap_filter::nitems" ref="afa9a77743030f7cbceae9cffa2f8b311" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">uint32</a> <a class="el" href="structrpcap__filter.html#afa9a77743030f7cbceae9cffa2f8b311">nitems</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Number of items contained into the filter (e.g. BPF instructions for BPF filters). </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00234">234</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a></li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/structrpcap__filterbpf__insn.html b/3rdparty/winpcap/docs/html/structrpcap__filterbpf__insn.html
new file mode 100644
index 00000000000..12f7bdd50bf
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/structrpcap__filterbpf__insn.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: rpcap_filterbpf_insn Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>rpcap_filterbpf_insn Struct Reference<br/>
+<small>
+[<a class="el" href="group__remote__pri__struct.html">Internal Structures and Definitions</a>]</small>
+</h1><!-- doxytag: class="rpcap_filterbpf_insn" -->
+<p>Structure that keeps a single BPF instuction; it is repeated 'ninsn' times according to the 'rpcap_filterbpf' header.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>&gt;</code></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__filterbpf__insn.html#a17ec1b1641303c1995e0ca66ae938603">code</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">opcode of the instuction <a href="#a17ec1b1641303c1995e0ca66ae938603"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#gadde6aaee8457bee49c2a92621fe22b79">uint8</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__filterbpf__insn.html#ad4d266bd45e28984c672e886adb82907">jt</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">relative offset to jump to in case of 'true' <a href="#ad4d266bd45e28984c672e886adb82907"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#gadde6aaee8457bee49c2a92621fe22b79">uint8</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__filterbpf__insn.html#ab2a6ab7330382a0e09a46b17ecbd1f9a">jf</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">relative offset to jump to in case of 'false' <a href="#ab2a6ab7330382a0e09a46b17ecbd1f9a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#ga56f1a81c92849566ae864511088eb7e8">int32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__filterbpf__insn.html#adf462c7c841cf6945d8552684393efcf">k</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">instruction-dependent value <a href="#adf462c7c841cf6945d8552684393efcf"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Structure that keeps a single BPF instuction; it is repeated 'ninsn' times according to the 'rpcap_filterbpf' header. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00239">239</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="a17ec1b1641303c1995e0ca66ae938603"></a><!-- doxytag: member="rpcap_filterbpf_insn::code" ref="a17ec1b1641303c1995e0ca66ae938603" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a> <a class="el" href="structrpcap__filterbpf__insn.html#a17ec1b1641303c1995e0ca66ae938603">code</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>opcode of the instuction </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00241">241</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab2a6ab7330382a0e09a46b17ecbd1f9a"></a><!-- doxytag: member="rpcap_filterbpf_insn::jf" ref="ab2a6ab7330382a0e09a46b17ecbd1f9a" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#gadde6aaee8457bee49c2a92621fe22b79">uint8</a> <a class="el" href="structrpcap__filterbpf__insn.html#ab2a6ab7330382a0e09a46b17ecbd1f9a">jf</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>relative offset to jump to in case of 'false' </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00243">243</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad4d266bd45e28984c672e886adb82907"></a><!-- doxytag: member="rpcap_filterbpf_insn::jt" ref="ad4d266bd45e28984c672e886adb82907" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#gadde6aaee8457bee49c2a92621fe22b79">uint8</a> <a class="el" href="structrpcap__filterbpf__insn.html#ad4d266bd45e28984c672e886adb82907">jt</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>relative offset to jump to in case of 'true' </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00242">242</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="adf462c7c841cf6945d8552684393efcf"></a><!-- doxytag: member="rpcap_filterbpf_insn::k" ref="adf462c7c841cf6945d8552684393efcf" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#ga56f1a81c92849566ae864511088eb7e8">int32</a> <a class="el" href="structrpcap__filterbpf__insn.html#adf462c7c841cf6945d8552684393efcf">k</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>instruction-dependent value </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00244">244</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a></li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/structrpcap__findalldevs__if.html b/3rdparty/winpcap/docs/html/structrpcap__findalldevs__if.html
new file mode 100644
index 00000000000..6b5fa8da4a0
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/structrpcap__findalldevs__if.html
@@ -0,0 +1,148 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: rpcap_findalldevs_if Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>rpcap_findalldevs_if Struct Reference<br/>
+<small>
+[<a class="el" href="group__remote__pri__struct.html">Internal Structures and Definitions</a>]</small>
+</h1><!-- doxytag: class="rpcap_findalldevs_if" -->
+<p>Format of the message for the interface description (findalldevs command).
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>&gt;</code></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__findalldevs__if.html#ab42bca1875d25b6ce19de3ff5309a0bf">namelen</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Length of the interface name. <a href="#ab42bca1875d25b6ce19de3ff5309a0bf"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__findalldevs__if.html#a9fe649a115732c913d126218054a9941">desclen</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Length of the interface description. <a href="#a9fe649a115732c913d126218054a9941"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">uint32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__findalldevs__if.html#a81a27ce50e78368b0d0de1e8767fd32d">flags</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Interface flags. <a href="#a81a27ce50e78368b0d0de1e8767fd32d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__findalldevs__if.html#af6e199ccfaf5ab811cc064e09f3153c3">naddr</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Number of addresses. <a href="#af6e199ccfaf5ab811cc064e09f3153c3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__findalldevs__if.html#a39840d82c8fedd34d8b6d25ae4e374c7">dummy</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Must be zero. <a href="#a39840d82c8fedd34d8b6d25ae4e374c7"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Format of the message for the interface description (findalldevs command). </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00160">160</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="a9fe649a115732c913d126218054a9941"></a><!-- doxytag: member="rpcap_findalldevs_if::desclen" ref="a9fe649a115732c913d126218054a9941" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a> <a class="el" href="structrpcap__findalldevs__if.html#a9fe649a115732c913d126218054a9941">desclen</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Length of the interface description. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00163">163</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a39840d82c8fedd34d8b6d25ae4e374c7"></a><!-- doxytag: member="rpcap_findalldevs_if::dummy" ref="a39840d82c8fedd34d8b6d25ae4e374c7" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a> <a class="el" href="structrpcap__findalldevs__if.html#a39840d82c8fedd34d8b6d25ae4e374c7">dummy</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Must be zero. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00166">166</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a81a27ce50e78368b0d0de1e8767fd32d"></a><!-- doxytag: member="rpcap_findalldevs_if::flags" ref="a81a27ce50e78368b0d0de1e8767fd32d" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">uint32</a> <a class="el" href="structrpcap__findalldevs__if.html#a81a27ce50e78368b0d0de1e8767fd32d">flags</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Interface flags. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00164">164</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af6e199ccfaf5ab811cc064e09f3153c3"></a><!-- doxytag: member="rpcap_findalldevs_if::naddr" ref="af6e199ccfaf5ab811cc064e09f3153c3" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a> <a class="el" href="structrpcap__findalldevs__if.html#af6e199ccfaf5ab811cc064e09f3153c3">naddr</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Number of addresses. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00165">165</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab42bca1875d25b6ce19de3ff5309a0bf"></a><!-- doxytag: member="rpcap_findalldevs_if::namelen" ref="ab42bca1875d25b6ce19de3ff5309a0bf" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a> <a class="el" href="structrpcap__findalldevs__if.html#ab42bca1875d25b6ce19de3ff5309a0bf">namelen</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Length of the interface name. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00162">162</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a></li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/structrpcap__findalldevs__ifaddr.html b/3rdparty/winpcap/docs/html/structrpcap__findalldevs__ifaddr.html
new file mode 100644
index 00000000000..e3cc4f2c1be
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/structrpcap__findalldevs__ifaddr.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: rpcap_findalldevs_ifaddr Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>rpcap_findalldevs_ifaddr Struct Reference<br/>
+<small>
+[<a class="el" href="group__remote__pri__struct.html">Internal Structures and Definitions</a>]</small>
+</h1><!-- doxytag: class="rpcap_findalldevs_ifaddr" -->
+<p>Format of the message for the address listing (findalldevs command).
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>&gt;</code></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct sockaddr_storage&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__findalldevs__ifaddr.html#a7fe4b3f87e7a49d2520a0d26563bb921">addr</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Network address. <a href="#a7fe4b3f87e7a49d2520a0d26563bb921"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct sockaddr_storage&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__findalldevs__ifaddr.html#ae65e589cf67e45f6c5b5bd05a068b1dd">netmask</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Netmask for that address. <a href="#ae65e589cf67e45f6c5b5bd05a068b1dd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct sockaddr_storage&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__findalldevs__ifaddr.html#a2689aec0100832e17df8795f1acfdef0">broadaddr</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Broadcast address for that address. <a href="#a2689aec0100832e17df8795f1acfdef0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct sockaddr_storage&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__findalldevs__ifaddr.html#a907e6142b6f02d26357a18525f2a32c1">dstaddr</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">P2P destination address for that address. <a href="#a907e6142b6f02d26357a18525f2a32c1"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Format of the message for the address listing (findalldevs command). </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00171">171</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="a7fe4b3f87e7a49d2520a0d26563bb921"></a><!-- doxytag: member="rpcap_findalldevs_ifaddr::addr" ref="a7fe4b3f87e7a49d2520a0d26563bb921" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct sockaddr_storage <a class="el" href="structrpcap__findalldevs__ifaddr.html#a7fe4b3f87e7a49d2520a0d26563bb921">addr</a><code> [read]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Network address. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00173">173</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2689aec0100832e17df8795f1acfdef0"></a><!-- doxytag: member="rpcap_findalldevs_ifaddr::broadaddr" ref="a2689aec0100832e17df8795f1acfdef0" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct sockaddr_storage <a class="el" href="structrpcap__findalldevs__ifaddr.html#a2689aec0100832e17df8795f1acfdef0">broadaddr</a><code> [read]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Broadcast address for that address. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00175">175</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a907e6142b6f02d26357a18525f2a32c1"></a><!-- doxytag: member="rpcap_findalldevs_ifaddr::dstaddr" ref="a907e6142b6f02d26357a18525f2a32c1" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct sockaddr_storage <a class="el" href="structrpcap__findalldevs__ifaddr.html#a907e6142b6f02d26357a18525f2a32c1">dstaddr</a><code> [read]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>P2P destination address for that address. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00176">176</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae65e589cf67e45f6c5b5bd05a068b1dd"></a><!-- doxytag: member="rpcap_findalldevs_ifaddr::netmask" ref="ae65e589cf67e45f6c5b5bd05a068b1dd" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct sockaddr_storage <a class="el" href="structrpcap__findalldevs__ifaddr.html#ae65e589cf67e45f6c5b5bd05a068b1dd">netmask</a><code> [read]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Netmask for that address. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00174">174</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a></li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/structrpcap__header.html b/3rdparty/winpcap/docs/html/structrpcap__header.html
new file mode 100644
index 00000000000..296717dc7de
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/structrpcap__header.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: rpcap_header Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>rpcap_header Struct Reference<br/>
+<small>
+[<a class="el" href="group__remote__pri__struct.html">Internal Structures and Definitions</a>]</small>
+</h1><!-- doxytag: class="rpcap_header" -->
+<p>Common header for all the RPCAP messages.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>&gt;</code></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#gadde6aaee8457bee49c2a92621fe22b79">uint8</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__header.html#ad284ddbfb04b14b9f8341f4dea79076e">ver</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">RPCAP version number. <a href="#ad284ddbfb04b14b9f8341f4dea79076e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#gadde6aaee8457bee49c2a92621fe22b79">uint8</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__header.html#a0d5276797b2358f6093607c68006bde8">type</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">RPCAP message type (error, findalldevs, ...). <a href="#a0d5276797b2358f6093607c68006bde8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__header.html#a4dd7e7f197e82dc6db279eed0a5dc820">value</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Message-dependent value (not always used). <a href="#a4dd7e7f197e82dc6db279eed0a5dc820"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">uint32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__header.html#a9f51ae02e66e202ec26632a2bce78942">plen</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Length of the payload of this RPCAP message. <a href="#a9f51ae02e66e202ec26632a2bce78942"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Common header for all the RPCAP messages. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00150">150</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="a9f51ae02e66e202ec26632a2bce78942"></a><!-- doxytag: member="rpcap_header::plen" ref="a9f51ae02e66e202ec26632a2bce78942" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">uint32</a> <a class="el" href="structrpcap__header.html#a9f51ae02e66e202ec26632a2bce78942">plen</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Length of the payload of this RPCAP message. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00155">155</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0d5276797b2358f6093607c68006bde8"></a><!-- doxytag: member="rpcap_header::type" ref="a0d5276797b2358f6093607c68006bde8" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#gadde6aaee8457bee49c2a92621fe22b79">uint8</a> <a class="el" href="structrpcap__header.html#a0d5276797b2358f6093607c68006bde8">type</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>RPCAP message type (error, findalldevs, ...). </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00153">153</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4dd7e7f197e82dc6db279eed0a5dc820"></a><!-- doxytag: member="rpcap_header::value" ref="a4dd7e7f197e82dc6db279eed0a5dc820" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a> <a class="el" href="structrpcap__header.html#a4dd7e7f197e82dc6db279eed0a5dc820">value</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Message-dependent value (not always used). </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00154">154</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad284ddbfb04b14b9f8341f4dea79076e"></a><!-- doxytag: member="rpcap_header::ver" ref="ad284ddbfb04b14b9f8341f4dea79076e" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#gadde6aaee8457bee49c2a92621fe22b79">uint8</a> <a class="el" href="structrpcap__header.html#ad284ddbfb04b14b9f8341f4dea79076e">ver</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>RPCAP version number. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00152">152</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a></li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/structrpcap__openreply.html b/3rdparty/winpcap/docs/html/structrpcap__openreply.html
new file mode 100644
index 00000000000..bc686e215aa
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/structrpcap__openreply.html
@@ -0,0 +1,92 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: rpcap_openreply Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>rpcap_openreply Struct Reference<br/>
+<small>
+[<a class="el" href="group__remote__pri__struct.html">Internal Structures and Definitions</a>]</small>
+</h1><!-- doxytag: class="rpcap_openreply" -->
+<p>Format of the message of the connection opening reply (open command).
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>&gt;</code></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#ga56f1a81c92849566ae864511088eb7e8">int32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__openreply.html#a114fd2309d7d5811a05db20605112955">linktype</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Link type. <a href="#a114fd2309d7d5811a05db20605112955"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#ga56f1a81c92849566ae864511088eb7e8">int32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__openreply.html#a3d91df4637112c85432c1f3c59b2c5ae">tzoff</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Timezone offset. <a href="#a3d91df4637112c85432c1f3c59b2c5ae"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Format of the message of the connection opening reply (open command). </p>
+<p>This structure transfers over the network some of the values useful on the client side. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00186">186</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="a114fd2309d7d5811a05db20605112955"></a><!-- doxytag: member="rpcap_openreply::linktype" ref="a114fd2309d7d5811a05db20605112955" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#ga56f1a81c92849566ae864511088eb7e8">int32</a> <a class="el" href="structrpcap__openreply.html#a114fd2309d7d5811a05db20605112955">linktype</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Link type. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00188">188</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3d91df4637112c85432c1f3c59b2c5ae"></a><!-- doxytag: member="rpcap_openreply::tzoff" ref="a3d91df4637112c85432c1f3c59b2c5ae" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#ga56f1a81c92849566ae864511088eb7e8">int32</a> <a class="el" href="structrpcap__openreply.html#a3d91df4637112c85432c1f3c59b2c5ae">tzoff</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Timezone offset. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00189">189</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a></li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/structrpcap__pkthdr.html b/3rdparty/winpcap/docs/html/structrpcap__pkthdr.html
new file mode 100644
index 00000000000..34837d45534
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/structrpcap__pkthdr.html
@@ -0,0 +1,149 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: rpcap_pkthdr Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>rpcap_pkthdr Struct Reference<br/>
+<small>
+[<a class="el" href="group__remote__pri__struct.html">Internal Structures and Definitions</a>]</small>
+</h1><!-- doxytag: class="rpcap_pkthdr" -->
+<p>Format of the header which encapsulates captured packets when transmitted on the network.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>&gt;</code></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">uint32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__pkthdr.html#a0878eda64803556abde60998d96cae36">timestamp_sec</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">'struct timeval' compatible, it represents the 'tv_sec' field <a href="#a0878eda64803556abde60998d96cae36"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">uint32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__pkthdr.html#a590071a7578068cca2e22ab465a8af68">timestamp_usec</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">'struct timeval' compatible, it represents the 'tv_usec' field <a href="#a590071a7578068cca2e22ab465a8af68"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">uint32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__pkthdr.html#a7219d531cfc6ceb3447db730ffd11794">caplen</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Length of portion present in the capture. <a href="#a7219d531cfc6ceb3447db730ffd11794"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">uint32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__pkthdr.html#a63941c3a03dc9736f3234bb756d9a305">len</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Real length this packet (off wire). <a href="#a63941c3a03dc9736f3234bb756d9a305"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">uint32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__pkthdr.html#a18dee93b2d48c10546eb5637ba48405d">npkt</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ordinal number of the packet (i.e. the first one captured has '1', the second one '2', etc). <a href="#a18dee93b2d48c10546eb5637ba48405d"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Format of the header which encapsulates captured packets when transmitted on the network. </p>
+<p>This message requries the general header as well, since we want to be albe to exchange more information across the network in the future (for example statistics, and kind like that). </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00219">219</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="a7219d531cfc6ceb3447db730ffd11794"></a><!-- doxytag: member="rpcap_pkthdr::caplen" ref="a7219d531cfc6ceb3447db730ffd11794" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">uint32</a> <a class="el" href="structrpcap__pkthdr.html#a7219d531cfc6ceb3447db730ffd11794">caplen</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Length of portion present in the capture. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00223">223</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a63941c3a03dc9736f3234bb756d9a305"></a><!-- doxytag: member="rpcap_pkthdr::len" ref="a63941c3a03dc9736f3234bb756d9a305" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">uint32</a> <a class="el" href="structrpcap__pkthdr.html#a63941c3a03dc9736f3234bb756d9a305">len</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Real length this packet (off wire). </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00224">224</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a18dee93b2d48c10546eb5637ba48405d"></a><!-- doxytag: member="rpcap_pkthdr::npkt" ref="a18dee93b2d48c10546eb5637ba48405d" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">uint32</a> <a class="el" href="structrpcap__pkthdr.html#a18dee93b2d48c10546eb5637ba48405d">npkt</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Ordinal number of the packet (i.e. the first one captured has '1', the second one '2', etc). </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00225">225</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0878eda64803556abde60998d96cae36"></a><!-- doxytag: member="rpcap_pkthdr::timestamp_sec" ref="a0878eda64803556abde60998d96cae36" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">uint32</a> <a class="el" href="structrpcap__pkthdr.html#a0878eda64803556abde60998d96cae36">timestamp_sec</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>'struct timeval' compatible, it represents the 'tv_sec' field </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00221">221</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a590071a7578068cca2e22ab465a8af68"></a><!-- doxytag: member="rpcap_pkthdr::timestamp_usec" ref="a590071a7578068cca2e22ab465a8af68" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">uint32</a> <a class="el" href="structrpcap__pkthdr.html#a590071a7578068cca2e22ab465a8af68">timestamp_usec</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>'struct timeval' compatible, it represents the 'tv_usec' field </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00222">222</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a></li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/structrpcap__sampling.html b/3rdparty/winpcap/docs/html/structrpcap__sampling.html
new file mode 100644
index 00000000000..47fcf32e1a7
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/structrpcap__sampling.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: rpcap_sampling Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>rpcap_sampling Struct Reference<br/>
+<small>
+[<a class="el" href="group__remote__pri__struct.html">Internal Structures and Definitions</a>]</small>
+</h1><!-- doxytag: class="rpcap_sampling" -->
+<p>Structure that is needed to set sampling parameters.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>&gt;</code></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#gadde6aaee8457bee49c2a92621fe22b79">uint8</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__sampling.html#aa4da76ff1a3e6459e06e4d39af6bfef2">method</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sampling method. <a href="#aa4da76ff1a3e6459e06e4d39af6bfef2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#gadde6aaee8457bee49c2a92621fe22b79">uint8</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__sampling.html#ac5a9635addc2e517659182ae5b8a6fe6">dummy1</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Must be zero. <a href="#ac5a9635addc2e517659182ae5b8a6fe6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__sampling.html#a055fd5d9ca450d213ec8d0be4328251a">dummy2</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Must be zero. <a href="#a055fd5d9ca450d213ec8d0be4328251a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">uint32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__sampling.html#a825a6aa3f85d5b289f6e1a3b3a2beb83">value</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parameter related to the sampling method. <a href="#a825a6aa3f85d5b289f6e1a3b3a2beb83"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Structure that is needed to set sampling parameters. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00269">269</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="ac5a9635addc2e517659182ae5b8a6fe6"></a><!-- doxytag: member="rpcap_sampling::dummy1" ref="ac5a9635addc2e517659182ae5b8a6fe6" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#gadde6aaee8457bee49c2a92621fe22b79">uint8</a> <a class="el" href="structrpcap__sampling.html#ac5a9635addc2e517659182ae5b8a6fe6">dummy1</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Must be zero. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00272">272</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a055fd5d9ca450d213ec8d0be4328251a"></a><!-- doxytag: member="rpcap_sampling::dummy2" ref="a055fd5d9ca450d213ec8d0be4328251a" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a> <a class="el" href="structrpcap__sampling.html#a055fd5d9ca450d213ec8d0be4328251a">dummy2</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Must be zero. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00273">273</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa4da76ff1a3e6459e06e4d39af6bfef2"></a><!-- doxytag: member="rpcap_sampling::method" ref="aa4da76ff1a3e6459e06e4d39af6bfef2" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#gadde6aaee8457bee49c2a92621fe22b79">uint8</a> <a class="el" href="structrpcap__sampling.html#aa4da76ff1a3e6459e06e4d39af6bfef2">method</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Sampling method. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00271">271</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a825a6aa3f85d5b289f6e1a3b3a2beb83"></a><!-- doxytag: member="rpcap_sampling::value" ref="a825a6aa3f85d5b289f6e1a3b3a2beb83" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">uint32</a> <a class="el" href="structrpcap__sampling.html#a825a6aa3f85d5b289f6e1a3b3a2beb83">value</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Parameter related to the sampling method. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00274">274</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a></li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/structrpcap__startcapreply.html b/3rdparty/winpcap/docs/html/structrpcap__startcapreply.html
new file mode 100644
index 00000000000..600c78a81ca
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/structrpcap__startcapreply.html
@@ -0,0 +1,110 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: rpcap_startcapreply Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>rpcap_startcapreply Struct Reference<br/>
+<small>
+[<a class="el" href="group__remote__pri__struct.html">Internal Structures and Definitions</a>]</small>
+</h1><!-- doxytag: class="rpcap_startcapreply" -->
+<p>Format of the reply message that devoted to start a remote capture (startcap reply command).
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>&gt;</code></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#ga56f1a81c92849566ae864511088eb7e8">int32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__startcapreply.html#a115866b96012076ded74e527b0e082ea">bufsize</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Size of the user buffer allocated by WinPcap; it can be different from the one we chose. <a href="#a115866b96012076ded74e527b0e082ea"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__startcapreply.html#a914e4f42058b208f03d04a65c902bff3">portdata</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Network port on which the server is waiting at (passive mode only). <a href="#a914e4f42058b208f03d04a65c902bff3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__startcapreply.html#a39840d82c8fedd34d8b6d25ae4e374c7">dummy</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Must be zero. <a href="#a39840d82c8fedd34d8b6d25ae4e374c7"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Format of the reply message that devoted to start a remote capture (startcap reply command). </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00205">205</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="a115866b96012076ded74e527b0e082ea"></a><!-- doxytag: member="rpcap_startcapreply::bufsize" ref="a115866b96012076ded74e527b0e082ea" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#ga56f1a81c92849566ae864511088eb7e8">int32</a> <a class="el" href="structrpcap__startcapreply.html#a115866b96012076ded74e527b0e082ea">bufsize</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Size of the user buffer allocated by WinPcap; it can be different from the one we chose. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00207">207</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a39840d82c8fedd34d8b6d25ae4e374c7"></a><!-- doxytag: member="rpcap_startcapreply::dummy" ref="a39840d82c8fedd34d8b6d25ae4e374c7" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a> <a class="el" href="structrpcap__startcapreply.html#a39840d82c8fedd34d8b6d25ae4e374c7">dummy</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Must be zero. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00209">209</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a914e4f42058b208f03d04a65c902bff3"></a><!-- doxytag: member="rpcap_startcapreply::portdata" ref="a914e4f42058b208f03d04a65c902bff3" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a> <a class="el" href="structrpcap__startcapreply.html#a914e4f42058b208f03d04a65c902bff3">portdata</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Network port on which the server is waiting at (passive mode only). </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00208">208</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a></li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/structrpcap__startcapreq.html b/3rdparty/winpcap/docs/html/structrpcap__startcapreq.html
new file mode 100644
index 00000000000..569d619c2de
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/structrpcap__startcapreq.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: rpcap_startcapreq Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>rpcap_startcapreq Struct Reference<br/>
+<small>
+[<a class="el" href="group__remote__pri__struct.html">Internal Structures and Definitions</a>]</small>
+</h1><!-- doxytag: class="rpcap_startcapreq" -->
+<p>Format of the message that starts a remote capture (startcap command).
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>&gt;</code></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">uint32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__startcapreq.html#aebbb13cc569d948514d286df698443d2">snaplen</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Length of the snapshot (number of bytes to capture for each packet). <a href="#aebbb13cc569d948514d286df698443d2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">uint32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__startcapreq.html#a189e41efb9a00f52c242e0287e341543">read_timeout</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read timeout in milliseconds. <a href="#a189e41efb9a00f52c242e0287e341543"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__startcapreq.html#ae15f0808741c35cb9a8d231105d8beea">flags</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flags (see RPCAP_STARTCAPREQ_FLAG_xxx). <a href="#ae15f0808741c35cb9a8d231105d8beea"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__startcapreq.html#a914e4f42058b208f03d04a65c902bff3">portdata</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Network port on which the client is waiting at (if 'serveropen'). <a href="#a914e4f42058b208f03d04a65c902bff3"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Format of the message that starts a remote capture (startcap command). </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00195">195</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="ae15f0808741c35cb9a8d231105d8beea"></a><!-- doxytag: member="rpcap_startcapreq::flags" ref="ae15f0808741c35cb9a8d231105d8beea" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a> <a class="el" href="structrpcap__startcapreq.html#ae15f0808741c35cb9a8d231105d8beea">flags</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Flags (see RPCAP_STARTCAPREQ_FLAG_xxx). </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00199">199</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a914e4f42058b208f03d04a65c902bff3"></a><!-- doxytag: member="rpcap_startcapreq::portdata" ref="a914e4f42058b208f03d04a65c902bff3" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e">uint16</a> <a class="el" href="structrpcap__startcapreq.html#a914e4f42058b208f03d04a65c902bff3">portdata</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Network port on which the client is waiting at (if 'serveropen'). </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00200">200</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a189e41efb9a00f52c242e0287e341543"></a><!-- doxytag: member="rpcap_startcapreq::read_timeout" ref="a189e41efb9a00f52c242e0287e341543" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">uint32</a> <a class="el" href="structrpcap__startcapreq.html#a189e41efb9a00f52c242e0287e341543">read_timeout</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Read timeout in milliseconds. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00198">198</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aebbb13cc569d948514d286df698443d2"></a><!-- doxytag: member="rpcap_startcapreq::snaplen" ref="aebbb13cc569d948514d286df698443d2" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">uint32</a> <a class="el" href="structrpcap__startcapreq.html#aebbb13cc569d948514d286df698443d2">snaplen</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Length of the snapshot (number of bytes to capture for each packet). </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00197">197</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a></li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/structrpcap__stats.html b/3rdparty/winpcap/docs/html/structrpcap__stats.html
new file mode 100644
index 00000000000..d270a9c8df7
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/structrpcap__stats.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: rpcap_stats Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>rpcap_stats Struct Reference<br/>
+<small>
+[<a class="el" href="group__remote__pri__struct.html">Internal Structures and Definitions</a>]</small>
+</h1><!-- doxytag: class="rpcap_stats" -->
+<p>Structure that keeps the statistics about the number of packets captured, dropped, etc.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>&gt;</code></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">uint32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__stats.html#a1d0c9184d7f075a1237db76400b1b503">ifrecv</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Packets received by the kernel filter (i.e. pcap_stats.ps_recv). <a href="#a1d0c9184d7f075a1237db76400b1b503"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">uint32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__stats.html#a1be6b9fbf42a7f74578974c611903f7d">ifdrop</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Packets dropped by the network interface (e.g. not enough buffers) (i.e. pcap_stats.ps_ifdrop). <a href="#a1be6b9fbf42a7f74578974c611903f7d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">uint32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__stats.html#a498da3bcc201f4f77714798c5c6b03b5">krnldrop</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Packets dropped by the kernel filter (i.e. pcap_stats.ps_drop). <a href="#a498da3bcc201f4f77714798c5c6b03b5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">uint32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrpcap__stats.html#a42ea5a69add0a420c6cb2b8961482a76">svrcapt</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Packets captured by the RPCAP daemon and sent on the network. <a href="#a42ea5a69add0a420c6cb2b8961482a76"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Structure that keeps the statistics about the number of packets captured, dropped, etc. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00259">259</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="a1be6b9fbf42a7f74578974c611903f7d"></a><!-- doxytag: member="rpcap_stats::ifdrop" ref="a1be6b9fbf42a7f74578974c611903f7d" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">uint32</a> <a class="el" href="structrpcap__stats.html#a1be6b9fbf42a7f74578974c611903f7d">ifdrop</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Packets dropped by the network interface (e.g. not enough buffers) (i.e. pcap_stats.ps_ifdrop). </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00262">262</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1d0c9184d7f075a1237db76400b1b503"></a><!-- doxytag: member="rpcap_stats::ifrecv" ref="a1d0c9184d7f075a1237db76400b1b503" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">uint32</a> <a class="el" href="structrpcap__stats.html#a1d0c9184d7f075a1237db76400b1b503">ifrecv</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Packets received by the kernel filter (i.e. pcap_stats.ps_recv). </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00261">261</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a498da3bcc201f4f77714798c5c6b03b5"></a><!-- doxytag: member="rpcap_stats::krnldrop" ref="a498da3bcc201f4f77714798c5c6b03b5" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">uint32</a> <a class="el" href="structrpcap__stats.html#a498da3bcc201f4f77714798c5c6b03b5">krnldrop</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Packets dropped by the kernel filter (i.e. pcap_stats.ps_drop). </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00263">263</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a42ea5a69add0a420c6cb2b8961482a76"></a><!-- doxytag: member="rpcap_stats::svrcapt" ref="a42ea5a69add0a420c6cb2b8961482a76" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__remote__pri__struct.html#ga1134b580f8da4de94ca6b1de4d37975e">uint32</a> <a class="el" href="structrpcap__stats.html#a42ea5a69add0a420c6cb2b8961482a76">svrcapt</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Packets captured by the RPCAP daemon and sent on the network. </p>
+
+<p>Definition at line <a class="el" href="pcap-remote_8h_source.html#l00264">264</a> of file <a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="pcap-remote_8h_source.html">pcap-remote.h</a></li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/structsf__pkthdr.html b/3rdparty/winpcap/docs/html/structsf__pkthdr.html
new file mode 100644
index 00000000000..5ab32a59a6e
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/structsf__pkthdr.html
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: sf_pkthdr Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>sf_pkthdr Struct Reference<br/>
+<small>
+[<a class="el" href="group__NPF__include.html">NPF structures and definitions</a>]</small>
+</h1><!-- doxytag: class="sf_pkthdr" -->
+<p>Header associated to a packet in the driver's buffer when the driver is in dump mode. Similar to the bpf_hdr structure, but simpler.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="Packet_8h_source.html">Packet.h</a>&gt;</code></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct timeval&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsf__pkthdr.html#a21be78b2818c91cb205885b8a6f5aed8">ts</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">time stamp <a href="#a21be78b2818c91cb205885b8a6f5aed8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">UINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsf__pkthdr.html#addde4bcd837b0ac2f4ab6472162c8ec2">caplen</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">UINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsf__pkthdr.html#aacda8195c98d3cc32ebece7b17dac774">len</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Length of the original packet (off wire). <a href="#aacda8195c98d3cc32ebece7b17dac774"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Header associated to a packet in the driver's buffer when the driver is in dump mode. Similar to the bpf_hdr structure, but simpler. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00121">121</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="addde4bcd837b0ac2f4ab6472162c8ec2"></a><!-- doxytag: member="sf_pkthdr::caplen" ref="addde4bcd837b0ac2f4ab6472162c8ec2" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">UINT <a class="el" href="structsf__pkthdr.html#addde4bcd837b0ac2f4ab6472162c8ec2">caplen</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Length of captured portion. The captured portion can be different from the original packet, because it is possible (with a proper filter) to instruct the driver to capture only a portion of the packets. </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00123">123</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aacda8195c98d3cc32ebece7b17dac774"></a><!-- doxytag: member="sf_pkthdr::len" ref="aacda8195c98d3cc32ebece7b17dac774" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">UINT <a class="el" href="structsf__pkthdr.html#aacda8195c98d3cc32ebece7b17dac774">len</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Length of the original packet (off wire). </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00126">126</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a21be78b2818c91cb205885b8a6f5aed8"></a><!-- doxytag: member="sf_pkthdr::ts" ref="a21be78b2818c91cb205885b8a6f5aed8" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct timeval <a class="el" href="structsf__pkthdr.html#a21be78b2818c91cb205885b8a6f5aed8">ts</a><code> [read]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>time stamp </p>
+
+<p>Definition at line <a class="el" href="Packet_8h_source.html#l00122">122</a> of file <a class="el" href="Packet_8h_source.html">Packet.h</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="Packet_8h_source.html">Packet.h</a></li>
+</ul>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/style.css b/3rdparty/winpcap/docs/html/style.css
new file mode 100644
index 00000000000..b9205ee33da
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/style.css
@@ -0,0 +1,360 @@
+BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV {
+ font-family: Verdana,Arial,Helvetica;
+}
+BODY,TD {
+ font-size: 80%;
+}
+CODE,PRE {
+ font-size: 120%;
+}
+H1 {
+ text-align: center;
+ font-size: 190%;
+}
+H2 {
+ font-size: 150%;
+}
+H3 {
+ font-size: 120%;
+}
+CAPTION { font-weight: bold }
+DIV.qindex {
+ width: 100%;
+ background-color: #e8eef2;
+ border: 1px solid #84b0c7;
+ text-align: center;
+ margin: 2px;
+ padding: 2px;
+ line-height: 140%;
+}
+DIV.nav {
+ width: 100%;
+ background-color: #e8eef2;
+ border: 1px solid #84b0c7;
+ text-align: center;
+ margin: 2px;
+ padding: 2px;
+ line-height: 140%;
+}
+DIV.navtab {
+ background-color: #e8eef2;
+ border: 1px solid #84b0c7;
+ text-align: center;
+ margin: 2px;
+ margin-right: 15px;
+ padding: 2px;
+}
+TD.navtab {
+ font-size: 70%;
+}
+A.qindex {
+ text-decoration: none;
+ font-weight: bold;
+ color: #1A419D;
+}
+A.qindex:visited {
+ text-decoration: none;
+ font-weight: bold;
+ color: #1A419D
+}
+A.qindex:hover {
+ text-decoration: none;
+ background-color: #ddddff;
+}
+A.qindexHL {
+ text-decoration: none;
+ font-weight: bold;
+ background-color: #6666cc;
+ color: #ffffff;
+ border: 1px double #9295C2;
+}
+A.qindexHL:hover {
+ text-decoration: none;
+ background-color: #6666cc;
+ color: #ffffff;
+}
+A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff }
+A.el { text-decoration: none; font-weight: bold }
+A.elRef { font-weight: bold }
+A.code:link { text-decoration: none; font-weight: normal; color: #0000FF}
+A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF}
+A.codeRef:link { font-weight: normal; color: #0000FF}
+A.codeRef:visited { font-weight: normal; color: #0000FF}
+A:hover { text-decoration: none; background-color: #f2f2ff }
+DL.el { margin-left: -1cm }
+.fragment {
+ font-family: monospace, fixed;
+}
+PRE.fragment {
+ border: 1px solid #CCCCCC;
+ background-color: #f5f5f5;
+ margin-top: 4px;
+ margin-bottom: 4px;
+ margin-left: 2px;
+ margin-right: 8px;
+ padding-left: 6px;
+ padding-right: 6px;
+ padding-top: 4px;
+ padding-bottom: 4px;
+}
+DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }
+
+DIV.groupHeader {
+ margin-left: 16px;
+ margin-top: 12px;
+ margin-bottom: 6px;
+ font-weight: bold;
+}
+DIV.groupText { margin-left: 16px; font-style: italic; font-size: 90% }
+BODY {
+ background: white;
+ color: black;
+ margin-right: 20px;
+ margin-left: 20px;
+}
+TD.indexkey {
+ background-color: #e8eef2;
+ font-weight: bold;
+ padding-right : 10px;
+ padding-top : 2px;
+ padding-left : 10px;
+ padding-bottom : 2px;
+ margin-left : 0px;
+ margin-right : 0px;
+ margin-top : 2px;
+ margin-bottom : 2px;
+ border: 1px solid #CCCCCC;
+}
+TD.indexvalue {
+ background-color: #e8eef2;
+ font-style: italic;
+ padding-right : 10px;
+ padding-top : 2px;
+ padding-left : 10px;
+ padding-bottom : 2px;
+ margin-left : 0px;
+ margin-right : 0px;
+ margin-top : 2px;
+ margin-bottom : 2px;
+ border: 1px solid #CCCCCC;
+}
+TR.memlist {
+ background-color: #f0f0f0;
+}
+P.formulaDsp { text-align: center; }
+IMG.formulaDsp { }
+IMG.formulaInl { vertical-align: middle; }
+SPAN.keyword { color: #008000 }
+SPAN.keywordtype { color: #604020 }
+SPAN.keywordflow { color: #e08000 }
+SPAN.comment { color: #800000 }
+SPAN.preprocessor { color: #806020 }
+SPAN.stringliteral { color: #002080 }
+SPAN.charliteral { color: #008080 }
+.mdescLeft {
+ padding: 0px 8px 4px 8px;
+ font-size: 80%;
+ font-style: italic;
+ background-color: #FAFAFA;
+ border-top: 1px none #E0E0E0;
+ border-right: 1px none #E0E0E0;
+ border-bottom: 1px none #E0E0E0;
+ border-left: 1px none #E0E0E0;
+ margin: 0px;
+}
+.mdescRight {
+ padding: 0px 8px 4px 8px;
+ font-size: 80%;
+ font-style: italic;
+ background-color: #FAFAFA;
+ border-top: 1px none #E0E0E0;
+ border-right: 1px none #E0E0E0;
+ border-bottom: 1px none #E0E0E0;
+ border-left: 1px none #E0E0E0;
+ margin: 0px;
+}
+.memItemLeft {
+ padding: 1px 0px 0px 8px;
+ margin: 4px;
+ border-top-width: 1px;
+ border-right-width: 1px;
+ border-bottom-width: 1px;
+ border-left-width: 1px;
+ border-top-color: #E0E0E0;
+ border-right-color: #E0E0E0;
+ border-bottom-color: #E0E0E0;
+ border-left-color: #E0E0E0;
+ border-top-style: solid;
+ border-right-style: none;
+ border-bottom-style: none;
+ border-left-style: none;
+ background-color: #FAFAFA;
+ font-size: 80%;
+}
+.memItemRight {
+ padding: 1px 8px 0px 8px;
+ margin: 4px;
+ border-top-width: 1px;
+ border-right-width: 1px;
+ border-bottom-width: 1px;
+ border-left-width: 1px;
+ border-top-color: #E0E0E0;
+ border-right-color: #E0E0E0;
+ border-bottom-color: #E0E0E0;
+ border-left-color: #E0E0E0;
+ border-top-style: solid;
+ border-right-style: none;
+ border-bottom-style: none;
+ border-left-style: none;
+ background-color: #FAFAFA;
+ font-size: 80%;
+}
+.memTemplItemLeft {
+ padding: 1px 0px 0px 8px;
+ margin: 4px;
+ border-top-width: 1px;
+ border-right-width: 1px;
+ border-bottom-width: 1px;
+ border-left-width: 1px;
+ border-top-color: #E0E0E0;
+ border-right-color: #E0E0E0;
+ border-bottom-color: #E0E0E0;
+ border-left-color: #E0E0E0;
+ border-top-style: none;
+ border-right-style: none;
+ border-bottom-style: none;
+ border-left-style: none;
+ background-color: #FAFAFA;
+ font-size: 80%;
+}
+.memTemplItemRight {
+ padding: 1px 8px 0px 8px;
+ margin: 4px;
+ border-top-width: 1px;
+ border-right-width: 1px;
+ border-bottom-width: 1px;
+ border-left-width: 1px;
+ border-top-color: #E0E0E0;
+ border-right-color: #E0E0E0;
+ border-bottom-color: #E0E0E0;
+ border-left-color: #E0E0E0;
+ border-top-style: none;
+ border-right-style: none;
+ border-bottom-style: none;
+ border-left-style: none;
+ background-color: #FAFAFA;
+ font-size: 80%;
+}
+.memTemplParams {
+ padding: 1px 0px 0px 8px;
+ margin: 4px;
+ border-top-width: 1px;
+ border-right-width: 1px;
+ border-bottom-width: 1px;
+ border-left-width: 1px;
+ border-top-color: #E0E0E0;
+ border-right-color: #E0E0E0;
+ border-bottom-color: #E0E0E0;
+ border-left-color: #E0E0E0;
+ border-top-style: solid;
+ border-right-style: none;
+ border-bottom-style: none;
+ border-left-style: none;
+ color: #606060;
+ background-color: #FAFAFA;
+ font-size: 80%;
+}
+.search { color: #003399;
+ font-weight: bold;
+}
+FORM.search {
+ margin-bottom: 0px;
+ margin-top: 0px;
+}
+INPUT.search { font-size: 75%;
+ color: #000080;
+ font-weight: normal;
+ background-color: #e8eef2;
+}
+TD.tiny { font-size: 75%;
+}
+a {
+ color: #1A41A8;
+}
+a:visited {
+ color: #2A3798;
+}
+.dirtab { padding: 4px;
+ border-collapse: collapse;
+ border: 1px solid #84b0c7;
+}
+TH.dirtab { background: #e8eef2;
+ font-weight: bold;
+}
+HR { height: 1px;
+ border: none;
+ border-top: 1px solid black;
+}
+
+/* Style for detailed member documentation */
+.memtemplate {
+ font-size: 80%;
+ color: #606060;
+ font-weight: normal;
+}
+.memnav {
+ background-color: #e8eef2;
+ border: 1px solid #84b0c7;
+ text-align: center;
+ margin: 2px;
+ margin-right: 15px;
+ padding: 2px;
+}
+.memitem {
+ padding: 4px;
+ background-color: #eef3f5;
+ border-width: 1px;
+ border-style: solid;
+ border-color: #dedeee;
+ -moz-border-radius: 8px 8px 8px 8px;
+}
+.memname {
+ white-space: nowrap;
+ font-weight: bold;
+}
+.memdoc{
+ padding-left: 10px;
+}
+.memproto {
+ background-color: #d5e1e8;
+ width: 100%;
+ border-width: 1px;
+ border-style: solid;
+ border-color: #84b0c7;
+ font-weight: bold;
+ -moz-border-radius: 8px 8px 8px 8px;
+}
+.paramkey {
+ text-align: right;
+}
+.paramtype {
+ white-space: nowrap;
+}
+.paramname {
+ color: #602020;
+ font-style: italic;
+ white-space: nowrap;
+}
+/* End Styling for detailed member documentation */
+
+/* for the tree view */
+.ftvtree {
+ font-family: sans-serif;
+ margin:0.5em;
+}
+.directory { font-size: 9pt; font-weight: bold; }
+.directory h3 { margin: 0px; margin-top: 1em; font-size: 11pt; }
+.directory > h3 { margin-top: 0; }
+.directory p { margin: 0px; white-space: nowrap; }
+.directory div { display: none; margin: 0px; }
+.directory img { vertical-align: -30%; }
diff --git a/3rdparty/winpcap/docs/html/tab_b.gif b/3rdparty/winpcap/docs/html/tab_b.gif
new file mode 100644
index 00000000000..0d623483ffd
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/tab_b.gif
Binary files differ
diff --git a/3rdparty/winpcap/docs/html/tab_l.gif b/3rdparty/winpcap/docs/html/tab_l.gif
new file mode 100644
index 00000000000..9b1e6337c92
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/tab_l.gif
Binary files differ
diff --git a/3rdparty/winpcap/docs/html/tab_r.gif b/3rdparty/winpcap/docs/html/tab_r.gif
new file mode 100644
index 00000000000..ce9dd9f533c
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/tab_r.gif
Binary files differ
diff --git a/3rdparty/winpcap/docs/html/tabs.css b/3rdparty/winpcap/docs/html/tabs.css
new file mode 100644
index 00000000000..a444163416f
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/tabs.css
@@ -0,0 +1,105 @@
+/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */
+
+DIV.tabs
+{
+ float : left;
+ width : 100%;
+ background : url("tab_b.gif") repeat-x bottom;
+ margin-bottom : 4px;
+}
+
+DIV.tabs UL
+{
+ margin : 0px;
+ padding-left : 10px;
+ list-style : none;
+}
+
+DIV.tabs LI, DIV.tabs FORM
+{
+ display : inline;
+ margin : 0px;
+ padding : 0px;
+}
+
+DIV.tabs FORM
+{
+ float : right;
+}
+
+DIV.tabs A
+{
+ float : left;
+ background : url("tab_r.gif") no-repeat right top;
+ border-bottom : 1px solid #84B0C7;
+ font-size : 80%;
+ font-weight : bold;
+ text-decoration : none;
+}
+
+DIV.tabs A:hover
+{
+ background-position: 100% -150px;
+}
+
+DIV.tabs A:link, DIV.tabs A:visited,
+DIV.tabs A:active, DIV.tabs A:hover
+{
+ color: #1A419D;
+}
+
+DIV.tabs SPAN
+{
+ float : left;
+ display : block;
+ background : url("tab_l.gif") no-repeat left top;
+ padding : 5px 9px;
+ white-space : nowrap;
+}
+
+DIV.tabs #MSearchBox
+{
+ float : right;
+ display : inline;
+ font-size : 1em;
+}
+
+DIV.tabs TD
+{
+ font-size : 80%;
+ font-weight : bold;
+ text-decoration : none;
+}
+
+
+
+/* Commented Backslash Hack hides rule from IE5-Mac \*/
+DIV.tabs SPAN {float : none;}
+/* End IE5-Mac hack */
+
+DIV.tabs A:hover SPAN
+{
+ background-position: 0% -150px;
+}
+
+DIV.tabs LI.current A
+{
+ background-position: 100% -150px;
+ border-width : 0px;
+}
+
+DIV.tabs LI.current SPAN
+{
+ background-position: 0% -150px;
+ padding-bottom : 6px;
+}
+
+DIV.navpath
+{
+ background : none;
+ border : none;
+ border-bottom : 1px solid #84B0C7;
+ text-align : center;
+ margin : 2px;
+ padding : 2px;
+}
diff --git a/3rdparty/winpcap/docs/html/tree.html b/3rdparty/winpcap/docs/html/tree.html
new file mode 100644
index 00000000000..2f3ebe4e7ec
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/tree.html
@@ -0,0 +1,175 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+ <meta http-equiv="Content-Style-Type" content="text/css" />
+ <meta http-equiv="Content-Language" content="en" />
+ <link rel="stylesheet" href="style.css"/>
+ <title>TreeView</title>
+ <script type="text/javascript">
+ <!-- // Hide script from old browsers
+
+ function toggleFolder(id, imageNode)
+ {
+ var folder = document.getElementById(id);
+ var l = imageNode.src.length;
+ if (imageNode.src.substring(l-20,l)=="ftv2folderclosed.png" ||
+ imageNode.src.substring(l-18,l)=="ftv2folderopen.png")
+ {
+ imageNode = imageNode.previousSibling;
+ l = imageNode.src.length;
+ }
+ if (folder == null)
+ {
+ }
+ else if (folder.style.display == "block")
+ {
+ if (imageNode != null)
+ {
+ imageNode.nextSibling.src = "ftv2folderclosed.png";
+ if (imageNode.src.substring(l-13,l) == "ftv2mnode.png")
+ {
+ imageNode.src = "ftv2pnode.png";
+ }
+ else if (imageNode.src.substring(l-17,l) == "ftv2mlastnode.png")
+ {
+ imageNode.src = "ftv2plastnode.png";
+ }
+ }
+ folder.style.display = "none";
+ }
+ else
+ {
+ if (imageNode != null)
+ {
+ imageNode.nextSibling.src = "ftv2folderopen.png";
+ if (imageNode.src.substring(l-13,l) == "ftv2pnode.png")
+ {
+ imageNode.src = "ftv2mnode.png";
+ }
+ else if (imageNode.src.substring(l-17,l) == "ftv2plastnode.png")
+ {
+ imageNode.src = "ftv2mlastnode.png";
+ }
+ }
+ folder.style.display = "block";
+ }
+ }
+
+ // End script hiding -->
+ </script>
+ </head>
+
+ <body class="ftvtree">
+ <div class="directory">
+ <h3 class="swap"><span>WinPcap</span></h3>
+ <div style="display: block;">
+ <p><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="main.html" target="basefrm">WinPcap Documentation</a></p>
+ <p><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="deprecated.html" target="basefrm">Deprecated List</a></p>
+ <p><img src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('folder1', this)"/><img src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('folder1', this)"/><a class="el" href="modules.html" target="basefrm">Modules</a></p>
+ <div id="folder1">
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="group__wpcap__tut.html" target="basefrm">WinPcap tutorial: a step by step guide to using WinPcap</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="group__wpcap__tut1.html" target="basefrm">Obtaining the device list</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="group__wpcap__tut2.html" target="basefrm">Obtaining advanced information about installed devices</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="group__wpcap__tut3.html" target="basefrm">Opening an adapter and capturing the packets</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="group__wpcap__tut4.html" target="basefrm">Capturing the packets without the callback</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="group__wpcap__tut5.html" target="basefrm">Filtering the traffic</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="group__wpcap__tut6.html" target="basefrm">Interpreting the packets</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="group__wpcap__tut7.html" target="basefrm">Handling offline dump files</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="group__wpcap__tut8.html" target="basefrm">Sending Packets</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="group__wpcap__tut9.html" target="basefrm">Gathering Statistics on the network traffic</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('folder2', this)"/><img src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('folder2', this)"/><a class="el" href="group__internals.html" target="basefrm">WinPcap internals</a></p>
+ <div id="folder2">
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('folder3', this)"/><img src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('folder3', this)"/><a class="el" href="group__NPF.html" target="basefrm">NPF driver internals manual</a></p>
+ <div id="folder3">
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="group__NPF__ioctl.html" target="basefrm">NPF I/O control codes</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="group__NPF__include.html" target="basefrm">NPF structures and definitions</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="group__NPF__code.html" target="basefrm">NPF functions</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="group__NPF__jitter.html" target="basefrm">NPF Just-in-time compiler definitions</a></p>
+ </div>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="group__compilation.html" target="basefrm">How to compile WinPcap</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="group__packetapi.html" target="basefrm">Packet.dll -- Packet Driver API</a></p>
+ </div>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('folder4', this)"/><img src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('folder4', this)"/><a class="el" href="group__wpcap.html" target="basefrm">WinPcap user&#39;s manual</a></p>
+ <div id="folder4">
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="group__wpcap__def.html" target="basefrm">Definitions</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="group__wpcapfunc.html" target="basefrm">Exported functions</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="group__language.html" target="basefrm">Filtering expression syntax</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="group__wpcapsamps.html" target="basefrm">Using WinPcap in your programs</a></p>
+ </div>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2plastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('folder5', this)"/><img src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('folder5', this)"/><a class="el" href="group__remote.html" target="basefrm">Remote Capture</a></p>
+ <div id="folder5">
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('folder6', this)"/><img src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('folder6', this)"/><a class="el" href="group__remote__struct.html" target="basefrm">Exported Structures and Definitions</a></p>
+ <div id="folder6">
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="group__remote__source__string.html" target="basefrm">Strings related to the new source syntax</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="group__remote__source__ID.html" target="basefrm">Identifiers related to the new source syntax</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="group__remote__open__flags.html" target="basefrm">Flags defined in the pcap_open() function</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="group__remote__samp__methods.html" target="basefrm">Sampling methods defined in the pcap_setsampling() function</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="group__remote__auth__methods.html" target="basefrm">Authentication methods supported by the RPCAP protocol</a></p>
+ </div>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="group__remotefunc.html" target="basefrm">Exported Functions</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="group__remote__pri__func.html" target="basefrm">Internal Functions</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="group__remote__pri__struct.html" target="basefrm">Internal Structures and Definitions</a></p>
+ </div>
+ </div>
+ <p><img src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('folder7', this)"/><img src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('folder7', this)"/><a class="el" href="annotated.html" target="basefrm">Data Structures</a></p>
+ <div id="folder7">
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="struct____CPU__Private__Data.html" target="basefrm">__CPU_Private_Data</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="struct__DEVICE__EXTENSION.html" target="basefrm">_DEVICE_EXTENSION</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="struct__INTERNAL__REQUEST.html" target="basefrm">_INTERNAL_REQUEST</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="struct__OPEN__INSTANCE.html" target="basefrm">_OPEN_INSTANCE</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="struct__PACKET__OID__DATA.html" target="basefrm">_PACKET_OID_DATA</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="struct__PACKET__RESERVED.html" target="basefrm">_PACKET_RESERVED</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="structactive__pars.html" target="basefrm">active_pars</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="structactivehosts.html" target="basefrm">activehosts</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="structbinary__stream.html" target="basefrm">binary_stream</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="structdaemon__slpars.html" target="basefrm">daemon_slpars</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="structJIT__BPF__Filter.html" target="basefrm">JIT_BPF_Filter</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="structpacket__file__header.html" target="basefrm">packet_file_header</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="structPacketHeader.html" target="basefrm">PacketHeader</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="structpcap__addr.html" target="basefrm">pcap_addr</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="structpcap__file__header.html" target="basefrm">pcap_file_header</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="structpcap__if.html" target="basefrm">pcap_if</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="structpcap__pkthdr.html" target="basefrm">pcap_pkthdr</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="structpcap__rmtauth.html" target="basefrm">pcap_rmtauth</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="structpcap__samp.html" target="basefrm">pcap_samp</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="structpcap__send__queue.html" target="basefrm">pcap_send_queue</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="structpcap__stat.html" target="basefrm">pcap_stat</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="structrpcap__auth.html" target="basefrm">rpcap_auth</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="structrpcap__filter.html" target="basefrm">rpcap_filter</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="structrpcap__filterbpf__insn.html" target="basefrm">rpcap_filterbpf_insn</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="structrpcap__findalldevs__if.html" target="basefrm">rpcap_findalldevs_if</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="structrpcap__findalldevs__ifaddr.html" target="basefrm">rpcap_findalldevs_ifaddr</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="structrpcap__header.html" target="basefrm">rpcap_header</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="structrpcap__openreply.html" target="basefrm">rpcap_openreply</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="structrpcap__pkthdr.html" target="basefrm">rpcap_pkthdr</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="structrpcap__sampling.html" target="basefrm">rpcap_sampling</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="structrpcap__startcapreply.html" target="basefrm">rpcap_startcapreply</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="structrpcap__startcapreq.html" target="basefrm">rpcap_startcapreq</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="structrpcap__stats.html" target="basefrm">rpcap_stats</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="structsf__pkthdr.html" target="basefrm">sf_pkthdr</a></p>
+ </div>
+ <p><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="functions.html" target="basefrm">Data Fields</a></p>
+ <p><img src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('folder8', this)"/><img src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('folder8', this)"/><a class="el" href="files.html" target="basefrm">File List</a></p>
+ <div id="folder8">
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="daemon_8h.html" target="basefrm">daemon.h</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="fileconf_8h.html" target="basefrm">fileconf.h</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="ioctls_8h.html" target="basefrm">ioctls.h</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="jitter_8h.html" target="basefrm">jitter.h</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="Packet_8h.html" target="basefrm">Packet.h</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="pcap-remote_8h.html" target="basefrm">pcap-remote.h</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="incs_2pcap_8h.html" target="basefrm">incs/pcap.h</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="funcs_2pcap_8h.html" target="basefrm">funcs/pcap.h</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="remote-ext_8h.html" target="basefrm">remote-ext.h</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="rpcapd_8h.html" target="basefrm">rpcapd.h</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="utils_8h.html" target="basefrm">utils.h</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="Win32-Extensions_8h.html" target="basefrm">Win32-Extensions.h</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="win32-svc_8h.html" target="basefrm">win32-svc.h</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="wpcap__remote_8htm.html" target="basefrm">wpcap_remote.htm</a></p>
+ </div>
+ <p><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="globals.html" target="basefrm">Globals</a></p>
+ </div>
+ </div>
+ </body>
+</html>
+
diff --git a/3rdparty/winpcap/docs/html/utils_8h.html b/3rdparty/winpcap/docs/html/utils_8h.html
new file mode 100644
index 00000000000..2e2cb08bab6
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/utils_8h.html
@@ -0,0 +1,74 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: utils.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>utils.h File Reference</h1>
+<p><a href="utils_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#ac4cbd81bf756957d5021b41159a17d0d">getopt</a> (int nargc, char *const *nargv, const char *ostr)</td></tr>
+</table>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ac4cbd81bf756957d5021b41159a17d0d"></a><!-- doxytag: member="utils.h::getopt" ref="ac4cbd81bf756957d5021b41159a17d0d" args="(int nargc, char *const *nargv, const char *ostr)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int getopt </td>
+ <td>(</td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>nargc</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *const *&nbsp;</td>
+ <td class="paramname"> <em>nargv</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>ostr</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/utils_8h_source.html b/3rdparty/winpcap/docs/html/utils_8h_source.html
new file mode 100644
index 00000000000..0642e8944ec
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/utils_8h_source.html
@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: utils.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+<h1>utils.h</h1><a href="utils_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (c) 2002 - 2003</span>
+<a name="l00003"></a>00003 <span class="comment"> * NetGroup, Politecnico di Torino (Italy)</span>
+<a name="l00004"></a>00004 <span class="comment"> * All rights reserved.</span>
+<a name="l00005"></a>00005 <span class="comment"> * </span>
+<a name="l00006"></a>00006 <span class="comment"> * Redistribution and use in source and binary forms, with or without </span>
+<a name="l00007"></a>00007 <span class="comment"> * modification, are permitted provided that the following conditions </span>
+<a name="l00008"></a>00008 <span class="comment"> * are met:</span>
+<a name="l00009"></a>00009 <span class="comment"> * </span>
+<a name="l00010"></a>00010 <span class="comment"> * 1. Redistributions of source code must retain the above copyright </span>
+<a name="l00011"></a>00011 <span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
+<a name="l00012"></a>00012 <span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright </span>
+<a name="l00013"></a>00013 <span class="comment"> * notice, this list of conditions and the following disclaimer in the </span>
+<a name="l00014"></a>00014 <span class="comment"> * documentation and/or other materials provided with the distribution. </span>
+<a name="l00015"></a>00015 <span class="comment"> * 3. Neither the name of the Politecnico di Torino nor the names of its </span>
+<a name="l00016"></a>00016 <span class="comment"> * contributors may be used to endorse or promote products derived from </span>
+<a name="l00017"></a>00017 <span class="comment"> * this software without specific prior written permission. </span>
+<a name="l00018"></a>00018 <span class="comment"> * </span>
+<a name="l00019"></a>00019 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS </span>
+<a name="l00020"></a>00020 <span class="comment"> * &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT </span>
+<a name="l00021"></a>00021 <span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR </span>
+<a name="l00022"></a>00022 <span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT </span>
+<a name="l00023"></a>00023 <span class="comment"> * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, </span>
+<a name="l00024"></a>00024 <span class="comment"> * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT </span>
+<a name="l00025"></a>00025 <span class="comment"> * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, </span>
+<a name="l00026"></a>00026 <span class="comment"> * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY </span>
+<a name="l00027"></a>00027 <span class="comment"> * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT </span>
+<a name="l00028"></a>00028 <span class="comment"> * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE </span>
+<a name="l00029"></a>00029 <span class="comment"> * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
+<a name="l00030"></a>00030 <span class="comment"> * </span>
+<a name="l00031"></a>00031 <span class="comment"> */</span>
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="preprocessor">#ifndef __UTILS_H__</span>
+<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="preprocessor">#define __UTILS_H__</span>
+<a name="l00035"></a>00035 <span class="preprocessor"></span>
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <span class="comment">// Common functions declaration</span>
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 <span class="preprocessor">#ifdef WIN32</span>
+<a name="l00040"></a>00040 <span class="preprocessor"></span> <span class="keywordtype">int</span> <a class="code" href="utils_8h.html#ac4cbd81bf756957d5021b41159a17d0d">getopt</a>(<span class="keywordtype">int</span> nargc, <span class="keywordtype">char</span> * <span class="keyword">const</span> *nargv, <span class="keyword">const</span> <span class="keywordtype">char</span> *ostr);
+<a name="l00041"></a>00041 <span class="preprocessor">#endif</span>
+<a name="l00042"></a>00042 <span class="preprocessor"></span>
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 <span class="preprocessor">#endif</span>
+<a name="l00045"></a>00045 <span class="preprocessor"></span>
+</pre></div></div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/win32-svc_8h.html b/3rdparty/winpcap/docs/html/win32-svc_8h.html
new file mode 100644
index 00000000000..b9d8d6043fb
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/win32-svc_8h.html
@@ -0,0 +1,59 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: win32-svc.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>win32-svc.h File Reference</h1>
+<p><a href="win32-svc_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="win32-svc_8h.html#ac70f5868df364c34acf38ac3e2262224">svc_start</a> (void)</td></tr>
+</table>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ac70f5868df364c34acf38ac3e2262224"></a><!-- doxytag: member="win32&#45;svc.h::svc_start" ref="ac70f5868df364c34acf38ac3e2262224" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int svc_start </td>
+ <td>(</td>
+ <td class="paramtype">void&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/win32-svc_8h_source.html b/3rdparty/winpcap/docs/html/win32-svc_8h_source.html
new file mode 100644
index 00000000000..36005b562f2
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/win32-svc_8h_source.html
@@ -0,0 +1,65 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: win32-svc.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+<h1>win32-svc.h</h1><a href="win32-svc_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * Copyright (c) 2002 - 2003</span>
+<a name="l00003"></a>00003 <span class="comment"> * NetGroup, Politecnico di Torino (Italy)</span>
+<a name="l00004"></a>00004 <span class="comment"> * All rights reserved.</span>
+<a name="l00005"></a>00005 <span class="comment"> * </span>
+<a name="l00006"></a>00006 <span class="comment"> * Redistribution and use in source and binary forms, with or without </span>
+<a name="l00007"></a>00007 <span class="comment"> * modification, are permitted provided that the following conditions </span>
+<a name="l00008"></a>00008 <span class="comment"> * are met:</span>
+<a name="l00009"></a>00009 <span class="comment"> * </span>
+<a name="l00010"></a>00010 <span class="comment"> * 1. Redistributions of source code must retain the above copyright </span>
+<a name="l00011"></a>00011 <span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
+<a name="l00012"></a>00012 <span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright </span>
+<a name="l00013"></a>00013 <span class="comment"> * notice, this list of conditions and the following disclaimer in the </span>
+<a name="l00014"></a>00014 <span class="comment"> * documentation and/or other materials provided with the distribution. </span>
+<a name="l00015"></a>00015 <span class="comment"> * 3. Neither the name of the Politecnico di Torino nor the names of its </span>
+<a name="l00016"></a>00016 <span class="comment"> * contributors may be used to endorse or promote products derived from </span>
+<a name="l00017"></a>00017 <span class="comment"> * this software without specific prior written permission. </span>
+<a name="l00018"></a>00018 <span class="comment"> * </span>
+<a name="l00019"></a>00019 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS </span>
+<a name="l00020"></a>00020 <span class="comment"> * &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT </span>
+<a name="l00021"></a>00021 <span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR </span>
+<a name="l00022"></a>00022 <span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT </span>
+<a name="l00023"></a>00023 <span class="comment"> * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, </span>
+<a name="l00024"></a>00024 <span class="comment"> * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT </span>
+<a name="l00025"></a>00025 <span class="comment"> * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, </span>
+<a name="l00026"></a>00026 <span class="comment"> * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY </span>
+<a name="l00027"></a>00027 <span class="comment"> * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT </span>
+<a name="l00028"></a>00028 <span class="comment"> * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE </span>
+<a name="l00029"></a>00029 <span class="comment"> * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
+<a name="l00030"></a>00030 <span class="comment"> * </span>
+<a name="l00031"></a>00031 <span class="comment"> */</span>
+<a name="l00032"></a>00032
+<a name="l00033"></a>00033 <span class="keywordtype">int</span> <a class="code" href="win32-svc_8h.html#ac70f5868df364c34acf38ac3e2262224">svc_start</a>(<span class="keywordtype">void</span>);
+</pre></div></div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/winpcap.gif b/3rdparty/winpcap/docs/html/winpcap.gif
new file mode 100644
index 00000000000..c6b3484f0e6
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/winpcap.gif
Binary files differ
diff --git a/3rdparty/winpcap/docs/html/winpcap_small.gif b/3rdparty/winpcap/docs/html/winpcap_small.gif
new file mode 100644
index 00000000000..42b3adb6584
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/winpcap_small.gif
Binary files differ
diff --git a/3rdparty/winpcap/docs/html/wpcap__remote_8htm.html b/3rdparty/winpcap/docs/html/wpcap__remote_8htm.html
new file mode 100644
index 00000000000..5a6a85193d0
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/wpcap__remote_8htm.html
@@ -0,0 +1,180 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: wpcap_remote.htm File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>wpcap_remote.htm File Reference</h1>
+<p><a href="wpcap__remote_8htm_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&lt; html &gt;&lt; head &gt;&lt; metahttp-equiv=&quot;Content-Type&quot;content=&quot;text/html;charset=windows-1252&quot;&gt;<br class="typebreak"/>
+&lt; metaname=&quot;GENERATOR&quot;content=&quot;MicrosoftFrontPage4.0&quot;&gt;<br class="typebreak"/>
+&lt; metaname=&quot;ProgId&quot;content=&quot;FrontPage.Editor.Document&quot;&gt;<br class="typebreak"/>
+&lt; title &gt; Using WinPcap Remote <br class="typebreak"/>
+Capture&lt;/title &gt;&lt;/head &gt;&lt; body &gt;<br class="typebreak"/>
+&lt; hr &gt;&lt; ul &gt;&lt; li &gt;&lt; ahref=&quot;#RunningModes&quot;&gt;<br class="typebreak"/>
+ Remote Capture Running Modes<br class="typebreak"/>
+&lt;/a &gt;&lt;/li &gt;&lt; li &gt;&lt; ahref=&quot;#Config&quot;&gt;<br class="typebreak"/>
+ Configuring the Remote&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="wpcap__remote_8htm.html#a258f021c7879aa3b45bdf4d6e922d4f1">Daemon</a> (rpcapd)&lt;/a &gt;&lt;/li &gt;&lt; li &gt;&lt; a href</td></tr>
+<tr><td colspan="2"><h2>Variables</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="wpcap__remote_8htm.html#a751ff7ed91d2e43008930137c9fa6925">then</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">the client sends the <br class="typebreak"/>
+appropriate commands to the <br class="typebreak"/>
+daemon and it starts the <br class="typebreak"/>
+capture This name is due to <br class="typebreak"/>
+the fact thet the daemon <br class="typebreak"/>
+becomes&lt; i &gt; active&lt;/i &gt;<br class="typebreak"/>
+ instead of&lt; i &gt; waiting&lt;/i &gt;<br class="typebreak"/>
+ for new connections&lt;/li &gt;&lt;/ul &gt;<br class="typebreak"/>
+&lt; p &gt; The Active Mode is <br class="typebreak"/>
+useful in <a class="el" href="wpcap__remote_8htm.html#a0b27a0048ba88eaf6d523bcc6c6ef00e">case</a> the remote <br class="typebreak"/>
+daemon is behind a firewall <br class="typebreak"/>
+and it cannot receive <br class="typebreak"/>
+connections from the external <br class="typebreak"/>
+world In this&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="wpcap__remote_8htm.html#a0b27a0048ba88eaf6d523bcc6c6ef00e">case</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">the client sends the <br class="typebreak"/>
+appropriate commands to the <br class="typebreak"/>
+daemon and it starts the <br class="typebreak"/>
+capture This name is due to <br class="typebreak"/>
+the fact thet the daemon <br class="typebreak"/>
+becomes&lt; i &gt; active&lt;/i &gt;<br class="typebreak"/>
+ instead of&lt; i &gt; waiting&lt;/i &gt;<br class="typebreak"/>
+ for new connections&lt;/li &gt;&lt;/ul &gt;<br class="typebreak"/>
+&lt; p &gt; The Active Mode is <br class="typebreak"/>
+useful in <a class="el" href="wpcap__remote_8htm.html#a0b27a0048ba88eaf6d523bcc6c6ef00e">case</a> the remote <br class="typebreak"/>
+daemon is behind a firewall <br class="typebreak"/>
+and it cannot receive <br class="typebreak"/>
+connections from the external <br class="typebreak"/>
+world In this the daemon can <br class="typebreak"/>
+be configured to establish the <br class="typebreak"/>
+<a class="el" href="wpcap__remote_8htm.html#a9626e8afe69dfeee0e9d7a2477dedf52">connection</a> to a given&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="wpcap__remote_8htm.html#a3c46d79c790748a5942fb43baa6b3073">host</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">the client sends the <br class="typebreak"/>
+appropriate commands to the <br class="typebreak"/>
+daemon and it starts the <br class="typebreak"/>
+capture This name is due to <br class="typebreak"/>
+the fact thet the daemon <br class="typebreak"/>
+becomes&lt; i &gt; active&lt;/i &gt;<br class="typebreak"/>
+ instead of&lt; i &gt; waiting&lt;/i &gt;<br class="typebreak"/>
+ for new connections&lt;/li &gt;&lt;/ul &gt;<br class="typebreak"/>
+&lt; p &gt; The Active Mode is <br class="typebreak"/>
+useful in <a class="el" href="wpcap__remote_8htm.html#a0b27a0048ba88eaf6d523bcc6c6ef00e">case</a> the remote <br class="typebreak"/>
+daemon is behind a firewall <br class="typebreak"/>
+and it cannot receive <br class="typebreak"/>
+connections from the external <br class="typebreak"/>
+world In this the daemon can <br class="typebreak"/>
+be configured to establish the <br class="typebreak"/>
+<a class="el" href="wpcap__remote_8htm.html#a9626e8afe69dfeee0e9d7a2477dedf52">connection</a> to a given which <br class="typebreak"/>
+will have been configured in <br class="typebreak"/>
+order to&lt; i &gt; wait&lt;/i &gt; for <br class="typebreak"/>
+that <a class="el" href="wpcap__remote_8htm.html#a9626e8afe69dfeee0e9d7a2477dedf52">connection</a> After <br class="typebreak"/>
+establishing the&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="wpcap__remote_8htm.html#a9626e8afe69dfeee0e9d7a2477dedf52">connection</a></td></tr>
+</table>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="a258f021c7879aa3b45bdf4d6e922d4f1"></a><!-- doxytag: member="wpcap_remote.htm::Daemon" ref="a258f021c7879aa3b45bdf4d6e922d4f1" args="(rpcapd)&lt;/a &gt;&lt;/li &gt;&lt; li &gt;&lt; a href" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">&lt;html&gt;&lt;head&gt;&lt;metahttp-equiv=&quot;Content-Type&quot;content=&quot;text/html;charset=windows-1252&quot;&gt;&lt;metaname=&quot;GENERATOR&quot;content=&quot;MicrosoftFrontPage4.0&quot;&gt;&lt;metaname=&quot;ProgId&quot;content=&quot;FrontPage.Editor.Document&quot;&gt;&lt;title&gt; Using WinPcap Remote Capture&lt;/title&gt;&lt;/head&gt;&lt;body&gt;&lt;hr&gt;&lt;ul&gt;&lt;li&gt;&lt;ahref=&quot;#RunningModes&quot;&gt; Remote Capture Running Modes&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;ahref=&quot;#Config&quot;&gt; Configuring the Remote Daemon </td>
+ <td>(</td>
+ <td class="paramtype">rpcapd&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<hr/><h2>Variable Documentation</h2>
+<a class="anchor" id="a0b27a0048ba88eaf6d523bcc6c6ef00e"></a><!-- doxytag: member="wpcap_remote.htm::case" ref="a0b27a0048ba88eaf6d523bcc6c6ef00e" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">the client sends the appropriate commands to the daemon and it starts the capture This name is due to the fact thet the daemon becomes&lt;i&gt; active&lt;/i&gt; instead of&lt;i&gt; waiting&lt;/i&gt; for new connections&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; The Active Mode is useful in <a class="el" href="wpcap__remote_8htm.html#a0b27a0048ba88eaf6d523bcc6c6ef00e">case</a> the remote daemon is behind a firewall and it cannot receive connections from the external world In this <a class="el" href="wpcap__remote_8htm.html#a0b27a0048ba88eaf6d523bcc6c6ef00e">case</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="wpcap__remote_8htm_source.html#l00038">38</a> of file <a class="el" href="wpcap__remote_8htm_source.html">wpcap_remote.htm</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9626e8afe69dfeee0e9d7a2477dedf52"></a><!-- doxytag: member="wpcap_remote.htm::connection" ref="a9626e8afe69dfeee0e9d7a2477dedf52" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">the client sends the appropriate commands to the daemon and it starts the capture This name is due to the fact thet the daemon becomes&lt;i&gt; active&lt;/i&gt; instead of&lt;i&gt; waiting&lt;/i&gt; for new connections&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; The Active Mode is useful in <a class="el" href="wpcap__remote_8htm.html#a0b27a0048ba88eaf6d523bcc6c6ef00e">case</a> the remote daemon is behind a firewall and it cannot receive connections from the external world In this the daemon can be configured to establish the <a class="el" href="wpcap__remote_8htm.html#a9626e8afe69dfeee0e9d7a2477dedf52">connection</a> to a given which will have been configured in order to&lt;i&gt; wait&lt;/i&gt; for that <a class="el" href="wpcap__remote_8htm.html#a9626e8afe69dfeee0e9d7a2477dedf52">connection</a> After establishing the <a class="el" href="wpcap__remote_8htm.html#a9626e8afe69dfeee0e9d7a2477dedf52">connection</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="wpcap__remote_8htm_source.html#l00038">38</a> of file <a class="el" href="wpcap__remote_8htm_source.html">wpcap_remote.htm</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3c46d79c790748a5942fb43baa6b3073"></a><!-- doxytag: member="wpcap_remote.htm::host" ref="a3c46d79c790748a5942fb43baa6b3073" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">the client sends the appropriate commands to the daemon and it starts the capture This name is due to the fact thet the daemon becomes&lt;i&gt; active&lt;/i&gt; instead of&lt;i&gt; waiting&lt;/i&gt; for new connections&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; The Active Mode is useful in <a class="el" href="wpcap__remote_8htm.html#a0b27a0048ba88eaf6d523bcc6c6ef00e">case</a> the remote daemon is behind a firewall and it cannot receive connections from the external world In this the daemon can be configured to establish the <a class="el" href="wpcap__remote_8htm.html#a9626e8afe69dfeee0e9d7a2477dedf52">connection</a> to a given <a class="el" href="wpcap__remote_8htm.html#a3c46d79c790748a5942fb43baa6b3073">host</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="wpcap__remote_8htm_source.html#l00038">38</a> of file <a class="el" href="wpcap__remote_8htm_source.html">wpcap_remote.htm</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a751ff7ed91d2e43008930137c9fa6925"></a><!-- doxytag: member="wpcap_remote.htm::then" ref="a751ff7ed91d2e43008930137c9fa6925" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="wpcap__remote_8htm.html#a751ff7ed91d2e43008930137c9fa6925">then</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="wpcap__remote_8htm_source.html#l00038">38</a> of file <a class="el" href="wpcap__remote_8htm_source.html">wpcap_remote.htm</a>.</p>
+
+</div>
+</div>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/wpcap__remote_8htm_source.html b/3rdparty/winpcap/docs/html/wpcap__remote_8htm_source.html
new file mode 100644
index 00000000000..967f3ec13e7
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/wpcap__remote_8htm_source.html
@@ -0,0 +1,382 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: wpcap_remote.htm Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+<h1>wpcap_remote.htm</h1><a href="wpcap__remote_8htm.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 &lt;html&gt;
+<a name="l00002"></a>00002
+<a name="l00003"></a>00003 &lt;head&gt;
+<a name="l00004"></a>00004 &lt;meta http-equiv=<span class="stringliteral">&quot;Content-Type&quot;</span> content=<span class="stringliteral">&quot;text/html; charset=windows-1252&quot;</span>&gt;
+<a name="l00005"></a>00005 &lt;meta name=<span class="stringliteral">&quot;GENERATOR&quot;</span> content=<span class="stringliteral">&quot;Microsoft FrontPage 4.0&quot;</span>&gt;
+<a name="l00006"></a>00006 &lt;meta name=<span class="stringliteral">&quot;ProgId&quot;</span> content=<span class="stringliteral">&quot;FrontPage.Editor.Document&quot;</span>&gt;
+<a name="l00007"></a>00007 &lt;title&gt;Using WinPcap Remote Capture&lt;/title&gt;
+<a name="l00008"></a>00008 &lt;/head&gt;
+<a name="l00009"></a>00009
+<a name="l00010"></a>00010 &lt;body&gt;
+<a name="l00011"></a>00011
+<a name="l00012"></a>00012 &lt;hr&gt;
+<a name="l00013"></a>00013 &lt;ul&gt;
+<a name="l00014"></a>00014 &lt;li&gt;&lt;a href=<span class="stringliteral">&quot;#RunningModes&quot;</span>&gt;Remote Capture Running Modes&lt;/a&gt;&lt;/li&gt;
+<a name="l00015"></a>00015 &lt;li&gt;&lt;a href=<span class="stringliteral">&quot;#Config&quot;</span>&gt;Configuring the Remote <a class="code" href="wpcap__remote_8htm.html#a258f021c7879aa3b45bdf4d6e922d4f1">Daemon</a> (rpcapd)&lt;/a&gt;&lt;/li&gt;
+<a name="l00016"></a>00016 &lt;li&gt;&lt;a href=<span class="stringliteral">&quot;#StartCap&quot;</span>&gt;Starting a capture on a remote machine&lt;/a&gt;&lt;/li&gt;
+<a name="l00017"></a>00017 &lt;li&gt;&lt;a href=<span class="stringliteral">&quot;#UNIX&quot;</span>&gt;Installing the Remote Capture <a class="code" href="wpcap__remote_8htm.html#a258f021c7879aa3b45bdf4d6e922d4f1">Daemon</a> in UNIX&lt;/a&gt;&lt;/li&gt;
+<a name="l00018"></a>00018 &lt;/ul&gt;
+<a name="l00019"></a>00019 &lt;hr&gt;
+<a name="l00020"></a>00020 &lt;p&gt;WinPcap comes with Remote Capture capabilities. This is an highly
+<a name="l00021"></a>00021 experimental feature that allows to interact to a remote machine and capture
+<a name="l00022"></a>00022 packets that are being transmitted on the remote network.&lt;/p&gt;
+<a name="l00023"></a>00023 &lt;p&gt;This requires a &lt;b&gt;remote daemon &lt;/b&gt;(called &lt;code&gt;rpcapd&lt;/code&gt;) which
+<a name="l00024"></a>00024 performs the capture and sends data back and a &lt;b&gt;local client &lt;/b&gt;that sends
+<a name="l00025"></a>00025 the appropriate commands and receives the captured data.&lt;/p&gt;
+<a name="l00026"></a>00026 &lt;p&gt;WinPcap extends the standard WinPcap code in such a way that all
+<a name="l00027"></a>00027 WinPcap-based tools can expoit remote capture capabilities. For instance, the
+<a name="l00028"></a>00028 capabillity to interact with a remote daemon are added to the client software
+<a name="l00029"></a>00029 without any <span class="keyword">explicit</span> modification to it. Vice versa, the remote daemon must be
+<a name="l00030"></a>00030 explicitely installed (and configured) on the remote machine.&lt;/p&gt;
+<a name="l00031"></a>00031 &lt;h2&gt;&lt;a name=<span class="stringliteral">&quot;RunningModes&quot;</span>&gt;&lt;/a&gt;Remote Capture Running Modes&lt;/h2&gt;
+<a name="l00032"></a>00032 &lt;p&gt;The Remote Capture Protocol (RPCAP) can work in two modes:&lt;/p&gt;
+<a name="l00033"></a>00033 &lt;ul&gt;
+<a name="l00034"></a>00034 &lt;li&gt;&lt;b&gt;Passive Mode&lt;/b&gt; (default): the client (e.g. a network sniffer)
+<a name="l00035"></a>00035 connects to the remote daemon, it sends them the appropriate commands, and
+<a name="l00036"></a>00036 it starts the capture.&lt;/li&gt;
+<a name="l00037"></a>00037 &lt;li&gt;&lt;b&gt;Active Mode&lt;/b&gt;: the remote daemon try to establish a <a class="code" href="wpcap__remote_8htm.html#a9626e8afe69dfeee0e9d7a2477dedf52">connection</a> toward
+<a name="l00038"></a><a class="code" href="wpcap__remote_8htm.html#a751ff7ed91d2e43008930137c9fa6925">00038</a> the client (e.g. the network sniffer); <a class="code" href="wpcap__remote_8htm.html#a751ff7ed91d2e43008930137c9fa6925">then</a>, the client sends the
+<a name="l00039"></a>00039 appropriate commands to the daemon and it starts the capture. This name is
+<a name="l00040"></a>00040 due to the fact thet the daemon becomes &lt;i&gt;active&lt;/i&gt; instead of &lt;i&gt;waiting&lt;/i&gt;
+<a name="l00041"></a>00041 for new connections.&lt;/li&gt;
+<a name="l00042"></a>00042 &lt;/ul&gt;
+<a name="l00043"></a>00043 &lt;p&gt;The Active Mode is useful in <a class="code" href="wpcap__remote_8htm.html#a0b27a0048ba88eaf6d523bcc6c6ef00e">case</a> the remote daemon is behind a firewall and
+<a name="l00044"></a>00044 it cannot receive connections from the external world. In this <a class="code" href="wpcap__remote_8htm.html#a0b27a0048ba88eaf6d523bcc6c6ef00e">case</a>, the daemon
+<a name="l00045"></a>00045 can be configured to establish the <a class="code" href="wpcap__remote_8htm.html#a9626e8afe69dfeee0e9d7a2477dedf52">connection</a> to a given <a class="code" href="wpcap__remote_8htm.html#a3c46d79c790748a5942fb43baa6b3073">host</a>, which will have
+<a name="l00046"></a>00046 been configured in order to &lt;i&gt;wait&lt;/i&gt; for that <a class="code" href="wpcap__remote_8htm.html#a9626e8afe69dfeee0e9d7a2477dedf52">connection</a>. After establishing
+<a name="l00047"></a>00047 the <a class="code" href="wpcap__remote_8htm.html#a9626e8afe69dfeee0e9d7a2477dedf52">connection</a>, the protocol continues its job in almost the same way in both
+<a name="l00048"></a>00048 Active and Passive Mode.&lt;/p&gt;
+<a name="l00049"></a>00049 &lt;p&gt;Analyzer (&lt;a href=&quot;http:<span class="comment">//analyzer.polito.it/30alpha/&quot;&gt;http://analyzer.polito.it/30alpha/&lt;/a&gt;)</span>
+<a name="l00050"></a>00050 has a set of commands (in the &lt;b&gt;Capture&lt;/b&gt; menu) that allows you to accept a
+<a name="l00051"></a>00051 remote connection and <a class="code" href="wpcap__remote_8htm.html#a751ff7ed91d2e43008930137c9fa6925">then</a> start the capture on the remote device. Currently,
+<a name="l00052"></a>00052 Analyzer is the only tool that is able to work in active mode, since it requires
+<a name="l00053"></a>00053 some modifications to the application code.&lt;/p&gt;
+<a name="l00054"></a>00054 &lt;h2&gt;&lt;a name=&quot;Config&quot;&gt;&lt;/a&gt;Configuring the Remote <a class="code" href="wpcap__remote_8htm.html#a258f021c7879aa3b45bdf4d6e922d4f1">Daemon</a> (rpcapd)&lt;/h2&gt;
+<a name="l00055"></a>00055 &lt;p&gt;The Remote <a class="code" href="wpcap__remote_8htm.html#a258f021c7879aa3b45bdf4d6e922d4f1">Daemon</a> is a standard Win32 executable running either in console
+<a name="l00056"></a>00056 mode or as a service. The executable can be found in the &lt;code&gt;WinPcap&lt;/code&gt;
+<a name="l00057"></a>00057 folder and it has the following syntax:&lt;/p&gt;
+<a name="l00058"></a>00058 &lt;pre&gt; rpcapd [-b &amp;lt;address&amp;gt;] [-p &amp;lt;port&amp;gt;] [-6] [-l &amp;lt;host_list&amp;gt;] [-a &amp;lt;host,port&amp;gt;]
+<a name="l00059"></a>00059 [-n] [-v] [-d] [-s &amp;lt;file&amp;gt;] [-f &amp;lt;file&amp;gt;]&lt;/pre&gt;
+<a name="l00060"></a>00060 &lt;p&gt;The daemon can be compiled and it is actually working on Linux as well.&lt;/p&gt;
+<a name="l00061"></a>00061 &lt;p&gt;Here there is a brief description of the allowed commands:&lt;/p&gt;
+<a name="l00062"></a>00062 &lt;div align=&quot;left&quot;&gt;
+<a name="l00063"></a>00063 &lt;table border=&quot;1&quot;&gt;
+<a name="l00064"></a>00064 &lt;tr&gt;
+<a name="l00065"></a>00065 &lt;th&gt;Switch&lt;/th&gt;
+<a name="l00066"></a>00066 &lt;th&gt;Description&lt;/th&gt;
+<a name="l00067"></a>00067 &lt;/tr&gt;
+<a name="l00068"></a>00068 &lt;tr&gt;
+<a name="l00069"></a>00069 &lt;td&gt;
+<a name="l00070"></a>00070 &lt;pre&gt;-b &amp;lt;address&amp;gt;&lt;/pre&gt;
+<a name="l00071"></a>00071 &lt;/td&gt;
+<a name="l00072"></a>00072 &lt;td&gt;It sets the address the daemon has to bind to (either numeric or
+<a name="l00073"></a>00073 literal). Default: it binds to all local IPv4 and IPv6 addresses.&lt;/td&gt;
+<a name="l00074"></a>00074 &lt;/tr&gt;
+<a name="l00075"></a>00075 &lt;tr&gt;
+<a name="l00076"></a>00076 &lt;td&gt;
+<a name="l00077"></a>00077 &lt;pre&gt;-p &amp;lt;port&amp;gt;&lt;/pre&gt;
+<a name="l00078"></a>00078 &lt;/td&gt;
+<a name="l00079"></a>00079 &lt;td&gt;It sets the port the daemon has to bind to. Default: it binds to port
+<a name="l00080"></a>00080 2002.&lt;/td&gt;
+<a name="l00081"></a>00081 &lt;/tr&gt;
+<a name="l00082"></a>00082 &lt;tr&gt;
+<a name="l00083"></a>00083 &lt;td&gt;
+<a name="l00084"></a>00084 &lt;pre&gt;-4&lt;/pre&gt;
+<a name="l00085"></a>00085 &lt;/td&gt;
+<a name="l00086"></a>00086 &lt;td&gt;It binds only to IPv4 addresses. Default: both IPv4 and IPv6 waiting
+<a name="l00087"></a>00087 sockets are used.&lt;/td&gt;
+<a name="l00088"></a>00088 &lt;/tr&gt;
+<a name="l00089"></a>00089 &lt;tr&gt;
+<a name="l00090"></a>00090 &lt;td&gt;
+<a name="l00091"></a>00091 &lt;pre&gt;-l &amp;lt;host_list_file&amp;gt;&lt;/pre&gt;
+<a name="l00092"></a>00092 &lt;/td&gt;
+<a name="l00093"></a>00093 &lt;td&gt;It specifies a file that keeps the list of the hosts which are allowed
+<a name="l00094"></a>00094 to connect to this daemon (if more than one, the file keeps them one per
+<a name="l00095"></a>00095 line). We suggest to use literal names (instead of numeric ones) in
+<a name="l00096"></a>00096 order to avoid problems with different address families (IPv4 and IPv6).&lt;/td&gt;
+<a name="l00097"></a>00097 &lt;/tr&gt;
+<a name="l00098"></a>00098 &lt;tr&gt;
+<a name="l00099"></a>00099 &lt;td&gt;
+<a name="l00100"></a>00100 &lt;pre&gt;-n&lt;/pre&gt;
+<a name="l00101"></a>00101 &lt;/td&gt;
+<a name="l00102"></a>00102 &lt;td&gt;It permits NULL authentication (usually used with &apos;-l&apos;, that
+<a name="l00103"></a>00103 guarantees that only the allowed hosts can connect to the daemon).
+<a name="l00104"></a>00104 Default: the username/password authentication mechanism is required.&lt;/td&gt;
+<a name="l00105"></a>00105 &lt;/tr&gt;
+<a name="l00106"></a>00106 &lt;tr&gt;
+<a name="l00107"></a>00107 &lt;td&gt;
+<a name="l00108"></a>00108 &lt;pre&gt;-a &amp;lt;host, port&amp;gt;&lt;/pre&gt;
+<a name="l00109"></a>00109 &lt;/td&gt;
+<a name="l00110"></a>00110 &lt;td&gt;It forces the daemon to run in active mode and to connect to &apos;host&apos; on
+<a name="l00111"></a>00111 port &apos;port&apos;. This does not exclude that the daemon is still able to
+<a name="l00112"></a>00112 accept passive connections.&lt;/td&gt;
+<a name="l00113"></a>00113 &lt;/tr&gt;
+<a name="l00114"></a>00114 &lt;tr&gt;
+<a name="l00115"></a>00115 &lt;td&gt;
+<a name="l00116"></a>00116 &lt;pre&gt;-v&lt;/pre&gt;
+<a name="l00117"></a>00117 &lt;/td&gt;
+<a name="l00118"></a>00118 &lt;td&gt;It forces the daemon to run in active mode only (default: the daemon
+<a name="l00119"></a>00119 always accepts active connections, even if the &apos;-a&apos; switch is
+<a name="l00120"></a>00120 specified).&lt;/td&gt;
+<a name="l00121"></a>00121 &lt;/tr&gt;
+<a name="l00122"></a>00122 &lt;tr&gt;
+<a name="l00123"></a>00123 &lt;td&gt;
+<a name="l00124"></a>00124 &lt;pre&gt;-d&lt;/pre&gt;
+<a name="l00125"></a>00125 &lt;/td&gt;
+<a name="l00126"></a>00126 &lt;td&gt;Forces the daemon to run in background, i.e. as a daemon (UNIX only)
+<a name="l00127"></a>00127 or as a service (Win32 only). &lt;b&gt;Warning&lt;/b&gt; (Win32): this switch is
+<a name="l00128"></a>00128 provided automatically when WinPcap installs this daemon into the Win32
+<a name="l00129"></a>00129 services (control panel - administrative tools - services).&lt;/td&gt;
+<a name="l00130"></a>00130 &lt;/tr&gt;
+<a name="l00131"></a>00131 &lt;tr&gt;
+<a name="l00132"></a>00132 &lt;td&gt;
+<a name="l00133"></a>00133 &lt;pre&gt;-s &amp;lt;file&amp;gt;&lt;/pre&gt;
+<a name="l00134"></a>00134 &lt;/td&gt;
+<a name="l00135"></a>00135 &lt;td&gt;It saves the current configuration to file.&lt;/td&gt;
+<a name="l00136"></a>00136 &lt;/tr&gt;
+<a name="l00137"></a>00137 &lt;tr&gt;
+<a name="l00138"></a>00138 &lt;td&gt;
+<a name="l00139"></a>00139 &lt;pre&gt;-f &amp;lt;file&amp;gt;&lt;/pre&gt;
+<a name="l00140"></a>00140 &lt;/td&gt;
+<a name="l00141"></a>00141 &lt;td&gt;It loads the current configuration from file; all the switches
+<a name="l00142"></a>00142 specified from the command line are ignored and the file settings are
+<a name="l00143"></a>00143 used instead.&lt;/td&gt;
+<a name="l00144"></a>00144 &lt;/tr&gt;
+<a name="l00145"></a>00145 &lt;tr&gt;
+<a name="l00146"></a>00146 &lt;td&gt;
+<a name="l00147"></a>00147 &lt;pre&gt;-h&lt;/pre&gt;
+<a name="l00148"></a>00148 &lt;/td&gt;
+<a name="l00149"></a>00149 &lt;td&gt;It prints an help screen.&lt;/td&gt;
+<a name="l00150"></a>00150 &lt;/tr&gt;
+<a name="l00151"></a>00151 &lt;/table&gt;
+<a name="l00152"></a>00152 &lt;/div&gt;
+<a name="l00153"></a>00153 &lt;h3&gt;Installing the remote daemon&lt;/h3&gt;
+<a name="l00154"></a>00154 &lt;p&gt;The remote daemon is installed automatically when installing WinPcap. The
+<a name="l00155"></a>00155 installation process places the &lt;code&gt;rpcapd&lt;/code&gt; file into the &lt;code&gt;WinPcap&lt;/code&gt;
+<a name="l00156"></a>00156 folder. This file can be executed either from the command line, or as a service.
+<a name="l00157"></a>00157 For instance, the installation process updates the list of available services
+<a name="l00158"></a>00158 list and it creates a new item (&lt;b&gt;Remote Packet Capture Protocol v.0
+<a name="l00159"></a>00159 (experimental)&lt;/b&gt; ). To avoid security problems, the service is inactive and it
+<a name="l00160"></a>00160 has to be started manually (control panel - administrative tools - services -
+<a name="l00161"></a>00161 start).&lt;/p&gt;
+<a name="l00162"></a>00162 &lt;p&gt;The service has a set of &amp;quot;standard&amp;quot; parameters, i.e. it it launched
+<a name="l00163"></a>00163 with the &amp;quot;&lt;code&gt;-d&lt;/code&gt;&amp;quot; flag (in orde to make it running as a
+<a name="l00164"></a>00164 service) and the &amp;quot;&lt;code&gt;-f rpcapd.ini&lt;/code&gt;&amp;quot; flag. The user can
+<a name="l00165"></a>00165 create a file called &lt;code&gt;rpcapd.ini&lt;/code&gt; in the same folder of the
+<a name="l00166"></a>00166 executable, and put the configuration commands in there. In order for the
+<a name="l00167"></a>00167 service to execute the commands, you have to stop and restart it again (i.e. the
+<a name="l00168"></a>00168 initialization file is parsed only at the beginning). Viceversa, the UNIX
+<a name="l00169"></a>00169 version of &lt;code&gt;rpcapd&lt;/code&gt; is able to read the configuration file when
+<a name="l00170"></a>00170 sending a kill -HUP signal to it. In that case, all the existing connections
+<a name="l00171"></a>00171 remain in place, while the new connections will be created according to the new
+<a name="l00172"></a>00172 parameters.&lt;/p&gt;
+<a name="l00173"></a>00173 &lt;p&gt;In case the user does not want to create the configuration file manually, it
+<a name="l00174"></a>00174 can launch &lt;code&gt;rpcapd&lt;/code&gt; with the requested parameters plus the &amp;quot;&lt;code&gt;-s
+<a name="l00175"></a>00175 filename&lt;/code&gt;&amp;quot; one. The daemon will parse all the parameters and save
+<a name="l00176"></a>00176 them into the specified configuration file.&lt;/p&gt;
+<a name="l00177"></a>00177 &lt;h3&gt;Starting the remote daemon as a standard executable&lt;/h3&gt;
+<a name="l00178"></a>00178 &lt;p&gt;The &lt;code&gt;rpcapd&lt;/code&gt; executable can be launched directly, i.e. it can run
+<a name="l00179"></a>00179 in the foreground as well (not as a daemon/service). The procedure is quite
+<a name="l00180"></a>00180 simple: you have to invoke the executable from the command line with all the
+<a name="l00181"></a>00181 requested parameters but the &amp;quot;&lt;code&gt;-d&lt;/code&gt;&amp;quot; flag. The capture
+<a name="l00182"></a>00182 server will start in the foreground.&lt;/p&gt;
+<a name="l00183"></a>00183 &lt;h2&gt;&lt;a name=&quot;StartCap&quot;&gt;&lt;/a&gt;Starting a capture on a remote machine&lt;/h2&gt;
+<a name="l00184"></a>00184 &lt;p&gt;If you are using a tool that is already aware of the remote capture (like
+<a name="l00185"></a>00185 Analyzer), everything is simple. The capture wizard will help you to locate the
+<a name="l00186"></a>00186 appropriate interface on the remote machine.&lt;/p&gt;
+<a name="l00187"></a>00187 &lt;p&gt;If your preferred tool is not aware of the remote capture, you can still use
+<a name="l00188"></a>00188 the remote capture. In this case you have to read the next Section.&lt;/p&gt;
+<a name="l00189"></a>00189 &lt;p&gt;&lt;b&gt;Be carefully&lt;/b&gt;: the capture server (&lt;code&gt;rpcapd&lt;/code&gt;) must be up and
+<a name="l00190"></a>00190 running on the remote machine.&lt;/p&gt;
+<a name="l00191"></a>00191 &lt;h3&gt;New <span class="keywordtype">string</span> specifiers for interface selection&lt;/h3&gt;
+<a name="l00192"></a>00192 &lt;p&gt;If your preferred tool is not aware of the remote capture, the only thing you
+<a name="l00193"></a>00193 must do is to insert, as interface specifier, the indication of the remote
+<a name="l00194"></a>00194 machine you want to contact. The following forms are allowed:&lt;/p&gt;
+<a name="l00195"></a>00195 &lt;div align=&quot;left&quot;&gt;
+<a name="l00196"></a>00196 &lt;table border=&quot;1&quot;&gt;
+<a name="l00197"></a>00197 &lt;tr&gt;
+<a name="l00198"></a>00198 &lt;th&gt;Adapter String&lt;/th&gt;
+<a name="l00199"></a>00199 &lt;th&gt;Description&lt;/th&gt;
+<a name="l00200"></a>00200 &lt;/tr&gt;
+<a name="l00201"></a>00201 &lt;tr&gt;
+<a name="l00202"></a>00202 &lt;td&gt;
+<a name="l00203"></a>00203 &lt;pre&gt;file:<span class="comment">//filename&lt;/pre&gt;</span>
+<a name="l00204"></a>00204 &lt;/td&gt;
+<a name="l00205"></a>00205 &lt;td&gt;It opens a local file.&lt;/td&gt;
+<a name="l00206"></a>00206 &lt;/tr&gt;
+<a name="l00207"></a>00207 &lt;tr&gt;
+<a name="l00208"></a>00208 &lt;td&gt;
+<a name="l00209"></a>00209 &lt;pre&gt;rpcap:<span class="comment">//host.foo.bar/adaptername&lt;/pre&gt;</span>
+<a name="l00210"></a>00210 &lt;/td&gt;
+<a name="l00211"></a>00211 &lt;td&gt;It opens a remote adapter; the host is specified by means of the
+<a name="l00212"></a>00212 literal name, without port number (i.e. it uses the RPCAP default port).&lt;/td&gt;
+<a name="l00213"></a>00213 &lt;/tr&gt;
+<a name="l00214"></a>00214 &lt;tr&gt;
+<a name="l00215"></a>00215 &lt;td&gt;
+<a name="l00216"></a>00216 &lt;pre&gt;rpcap:<span class="comment">//host.foo.bar:1234/adaptername&lt;/pre&gt;</span>
+<a name="l00217"></a>00217 &lt;/td&gt;
+<a name="l00218"></a>00218 &lt;td&gt;It is the same as before, but it uses a different port number.&lt;/td&gt;
+<a name="l00219"></a>00219 &lt;/tr&gt;
+<a name="l00220"></a>00220 &lt;tr&gt;
+<a name="l00221"></a>00221 &lt;td&gt;
+<a name="l00222"></a>00222 &lt;pre&gt;rpcap:<span class="comment">//10.11.12.13/adaptername&lt;/pre&gt;</span>
+<a name="l00223"></a>00223 &lt;/td&gt;
+<a name="l00224"></a>00224 &lt;td&gt;It opens a remote adapter, but the host is specified by means of an
+<a name="l00225"></a>00225 IPv4 numeric address, without port number (i.e. it uses the RPCAP
+<a name="l00226"></a>00226 default port).&lt;/td&gt;
+<a name="l00227"></a>00227 &lt;/tr&gt;
+<a name="l00228"></a>00228 &lt;tr&gt;
+<a name="l00229"></a>00229 &lt;td&gt;
+<a name="l00230"></a>00230 &lt;pre&gt;rpcap:<span class="comment">//10.11.12.13:1234/adaptername&lt;/pre&gt;</span>
+<a name="l00231"></a>00231 &lt;/td&gt;
+<a name="l00232"></a>00232 &lt;td&gt;It is the same as before, but it uses a different port number.&lt;/td&gt;
+<a name="l00233"></a>00233 &lt;/tr&gt;
+<a name="l00234"></a>00234 &lt;tr&gt;
+<a name="l00235"></a>00235 &lt;td&gt;
+<a name="l00236"></a>00236 &lt;pre&gt;rpcap:<span class="comment">//[10.11.12.13]:1234/adaptername&lt;/pre&gt;</span>
+<a name="l00237"></a>00237 &lt;/td&gt;
+<a name="l00238"></a>00238 &lt;td&gt;It is the same as before, but the numeric address is specified within
+<a name="l00239"></a>00239 square brackets (like IPv6 addresses).&lt;/td&gt;
+<a name="l00240"></a>00240 &lt;/tr&gt;
+<a name="l00241"></a>00241 &lt;tr&gt;
+<a name="l00242"></a>00242 &lt;td&gt;
+<a name="l00243"></a>00243 &lt;pre&gt;rpcap:<span class="comment">//[1:2:3::4]/adaptername&lt;/pre&gt;</span>
+<a name="l00244"></a>00244 &lt;/td&gt;
+<a name="l00245"></a>00245 &lt;td&gt;It opens a remote adapter, but the host is specified by means of an
+<a name="l00246"></a>00246 IPv6 numeric address, without port number (i.e. it uses the RPCAP
+<a name="l00247"></a>00247 default port). In case of IPv6 addresses you MUST use the square
+<a name="l00248"></a>00248 brackets.&lt;/td&gt;
+<a name="l00249"></a>00249 &lt;/tr&gt;
+<a name="l00250"></a>00250 &lt;tr&gt;
+<a name="l00251"></a>00251 &lt;td&gt;
+<a name="l00252"></a>00252 &lt;pre&gt;rpcap:<span class="comment">//[1:2:3::4]:1234/adaptername&lt;/pre&gt;</span>
+<a name="l00253"></a>00253 &lt;/td&gt;
+<a name="l00254"></a>00254 &lt;td&gt;It is the same as before, but it uses a different port number.&lt;/td&gt;
+<a name="l00255"></a>00255 &lt;/tr&gt;
+<a name="l00256"></a>00256 &lt;tr&gt;
+<a name="l00257"></a>00257 &lt;td&gt;
+<a name="l00258"></a>00258 &lt;pre&gt;rpcap:<span class="comment">//adaptername&lt;/pre&gt;</span>
+<a name="l00259"></a>00259 &lt;/td&gt;
+<a name="l00260"></a>00260 &lt;td&gt;It opens a local adapter, without using the RPCAP protocol.&lt;/td&gt;
+<a name="l00261"></a>00261 &lt;/tr&gt;
+<a name="l00262"></a>00262 &lt;tr&gt;
+<a name="l00263"></a>00263 &lt;td&gt;
+<a name="l00264"></a>00264 &lt;pre&gt;adaptername&lt;/pre&gt;
+<a name="l00265"></a>00265 &lt;/td&gt;
+<a name="l00266"></a>00266 &lt;td&gt;It opens a local adapter; it is kept for compability, but it is
+<a name="l00267"></a>00267 strongly discouraged.&lt;/td&gt;
+<a name="l00268"></a>00268 &lt;/tr&gt;
+<a name="l00269"></a>00269 &lt;tr&gt;
+<a name="l00270"></a>00270 &lt;td&gt;
+<a name="l00271"></a>00271 &lt;pre&gt;(NULL)&lt;/pre&gt;
+<a name="l00272"></a>00272 &lt;/td&gt;
+<a name="l00273"></a>00273 &lt;td&gt;It opens the first local adapter; it is kept for compability, but it
+<a name="l00274"></a>00274 is strongly discouraged.&lt;/td&gt;
+<a name="l00275"></a>00275 &lt;/tr&gt;
+<a name="l00276"></a>00276 &lt;/table&gt;
+<a name="l00277"></a>00277 &lt;/div&gt;
+<a name="l00278"></a>00278 &lt;p&gt;The following formats are not allowed:&lt;/p&gt;
+<a name="l00279"></a>00279 &lt;table border=&quot;1&quot;&gt;
+<a name="l00280"></a>00280 &lt;tr&gt;
+<a name="l00281"></a>00281 &lt;th&gt;Adapter String&lt;/th&gt;
+<a name="l00282"></a>00282 &lt;th&gt;Description&lt;/th&gt;
+<a name="l00283"></a>00283 &lt;/tr&gt;
+<a name="l00284"></a>00284 &lt;tr&gt;
+<a name="l00285"></a>00285 &lt;td&gt;
+<a name="l00286"></a>00286 &lt;pre&gt;rpcap:<span class="comment">//&lt;/pre&gt;</span>
+<a name="l00287"></a>00287 &lt;/td&gt;
+<a name="l00288"></a>00288 &lt;td&gt;It cannot be used to open the first local adapter.&lt;/td&gt;
+<a name="l00289"></a>00289 &lt;/tr&gt;
+<a name="l00290"></a>00290 &lt;tr&gt;
+<a name="l00291"></a>00291 &lt;td&gt;
+<a name="l00292"></a>00292 &lt;pre&gt;rpcap:<span class="comment">//hostname/&lt;/pre&gt;</span>
+<a name="l00293"></a>00293 &lt;/td&gt;
+<a name="l00294"></a>00294 &lt;td&gt;It cannot be used to open the first remote adapter.&lt;/td&gt;
+<a name="l00295"></a>00295 &lt;/tr&gt;
+<a name="l00296"></a>00296 &lt;/table&gt;
+<a name="l00297"></a>00297 &lt;h2&gt;&lt;a name=&quot;UNIX&quot;&gt;&lt;/a&gt;Installing the Remote Capture <a class="code" href="wpcap__remote_8htm.html#a258f021c7879aa3b45bdf4d6e922d4f1">Daemon</a> in UNIX&lt;/h2&gt;
+<a name="l00298"></a>00298 &lt;p&gt;The WinPcap source archive can be compiled in UNIX as well. Currently, remote
+<a name="l00299"></a>00299 capture has been tested on Linux and BSD. What you have to do is:&lt;/p&gt;
+<a name="l00300"></a>00300 &lt;ul&gt;
+<a name="l00301"></a>00301 &lt;li&gt;download the WinPcap sources&lt;/li&gt;
+<a name="l00302"></a>00302 &lt;li&gt;unpack the sources
+<a name="l00303"></a>00303 &lt;ul&gt;
+<a name="l00304"></a>00304 &lt;li&gt;we suggest to use the &lt;code&gt;unzip -a&lt;/code&gt; command in order to
+<a name="l00305"></a>00305 convert DOS files to UNIX ones&lt;/li&gt;
+<a name="l00306"></a>00306 &lt;/ul&gt;
+<a name="l00307"></a>00307 &lt;/li&gt;
+<a name="l00308"></a>00308 &lt;li&gt;move to the &lt;code&gt;libpcap&lt;/code&gt; folder&lt;/li&gt;
+<a name="l00309"></a>00309 &lt;li&gt;type:
+<a name="l00310"></a>00310 &lt;ul&gt;
+<a name="l00311"></a>00311 &lt;li&gt;&lt;code&gt;./configure&lt;/code&gt;&lt;/li&gt;
+<a name="l00312"></a>00312 &lt;li&gt;&lt;b&gt;Warning&lt;/b&gt;: in case the previous step reports an error, please
+<a name="l00313"></a>00313 regenerate the &lt;code&gt;configure&lt;/code&gt; file using &lt;code&gt;automake&lt;/code&gt;
+<a name="l00314"></a>00314 (version 2.50 or higher required)&lt;/li&gt;
+<a name="l00315"></a>00315 &lt;li&gt;&lt;code&gt;make&lt;/code&gt;&lt;/li&gt;
+<a name="l00316"></a>00316 &lt;/ul&gt;
+<a name="l00317"></a>00317 &lt;/li&gt;
+<a name="l00318"></a>00318 &lt;li&gt;move to the &lt;code&gt;rpcapd&lt;/code&gt; folder&lt;/li&gt;
+<a name="l00319"></a>00319 &lt;li&gt;type &lt;code&gt;make&lt;/code&gt;&lt;/li&gt;
+<a name="l00320"></a>00320 &lt;/ul&gt;
+<a name="l00321"></a>00321 &lt;p&gt;The remote capture capabilities are turned on by default on Linux and
+<a name="l00322"></a>00322 FreeBSD. In case you do not want remote capture capabilities in libpcap, you can
+<a name="l00323"></a>00323 type&lt;/p&gt;
+<a name="l00324"></a>00324 &lt;pre&gt; ./configure --disable-remote&lt;/pre&gt;
+<a name="l00325"></a>00325 &lt;p&gt;at the &amp;quot;&lt;code&gt;configure&lt;/code&gt;&amp;quot; step. All the possible flags are
+<a name="l00326"></a>00326 listed when typing &lt;code&gt;./configure --help&lt;/code&gt;.&lt;/p&gt;
+<a name="l00327"></a>00327 &lt;p&gt;What you obtained right now, is:&lt;/p&gt;
+<a name="l00328"></a>00328 &lt;ul&gt;
+<a name="l00329"></a>00329 &lt;li&gt;a library file (&lt;code&gt;libpcap.a&lt;/code&gt;), which can be linked to other
+<a name="l00330"></a>00330 applications (like &lt;code&gt;tcpdump&lt;/code&gt;) in order to enable the remote
+<a name="l00331"></a>00331 capture for them.&lt;/li&gt;
+<a name="l00332"></a>00332 &lt;li&gt;an executable (&lt;code&gt;rpcapd&lt;/code&gt;) that is the remote daemon&lt;/li&gt;
+<a name="l00333"></a>00333 &lt;/ul&gt;
+<a name="l00334"></a>00334 &lt;p&gt;&lt;b&gt;Warning&lt;/b&gt;: in order to run the &lt;code&gt;rpcapd&lt;/code&gt; daemon, the program
+<a name="l00335"></a>00335 must either&lt;/p&gt;
+<a name="l00336"></a>00336 &lt;ul&gt;
+<a name="l00337"></a>00337 &lt;li&gt;run as root (or)&lt;/li&gt;
+<a name="l00338"></a>00338 &lt;li&gt;run as user, but it must be owned by root and must be SUID root (&lt;code&gt;chmod
+<a name="l00339"></a>00339 u+s rpcapd&lt;/code&gt;)&lt;/li&gt;
+<a name="l00340"></a>00340 &lt;/ul&gt;
+<a name="l00341"></a>00341 &lt;h3&gt;Known bugs&lt;/h3&gt;
+<a name="l00342"></a>00342 &lt;p&gt;&lt;b&gt;FreeBSD&lt;/b&gt;: the first time you call the &lt;code&gt;<a class="code" href="structpcap__stat.html" title="Structure that keeps statistical values on an interface.">pcap_stat</a>()&lt;/code&gt;, the
+<a name="l00343"></a>00343 function takes several seconds to return. Therefore, programs like Analyzer seem
+<a name="l00344"></a>00344 to hang up for 20-30 seconds at the beginning of the capture (if this is done
+<a name="l00345"></a>00345 with BSD as a remote probe). We&apos;re investigating to solve this issue.&lt;/p&gt;
+<a name="l00346"></a>00346 &lt;p&gt;&lt;i&gt;For any question, please refer to the WinPcap help page.&lt;/i&gt;&lt;/p&gt;
+<a name="l00347"></a>00347
+<a name="l00348"></a>00348 &lt;/body&gt;
+<a name="l00349"></a>00349
+<a name="l00350"></a>00350 &lt;/html&gt;
+</pre></div></div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/wpcap__tut1_8txt.html b/3rdparty/winpcap/docs/html/wpcap__tut1_8txt.html
new file mode 100644
index 00000000000..eec681d98a2
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/wpcap__tut1_8txt.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: wpcap_tut1.txt File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>wpcap_tut1.txt File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+</table>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/wpcap__tut2_8txt.html b/3rdparty/winpcap/docs/html/wpcap__tut2_8txt.html
new file mode 100644
index 00000000000..24c0847ed36
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/wpcap__tut2_8txt.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: wpcap_tut2.txt File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>wpcap_tut2.txt File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+</table>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/wpcap__tut3_8txt.html b/3rdparty/winpcap/docs/html/wpcap__tut3_8txt.html
new file mode 100644
index 00000000000..bb5b360d3bd
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/wpcap__tut3_8txt.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: wpcap_tut3.txt File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>wpcap_tut3.txt File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+</table>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/wpcap__tut4_8txt.html b/3rdparty/winpcap/docs/html/wpcap__tut4_8txt.html
new file mode 100644
index 00000000000..7b903a212c7
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/wpcap__tut4_8txt.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: wpcap_tut4.txt File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>wpcap_tut4.txt File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+</table>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/wpcap__tut5_8txt.html b/3rdparty/winpcap/docs/html/wpcap__tut5_8txt.html
new file mode 100644
index 00000000000..64737d4a512
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/wpcap__tut5_8txt.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: wpcap_tut5.txt File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>wpcap_tut5.txt File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+</table>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/wpcap__tut6_8txt.html b/3rdparty/winpcap/docs/html/wpcap__tut6_8txt.html
new file mode 100644
index 00000000000..0e970657bf7
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/wpcap__tut6_8txt.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: wpcap_tut6.txt File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>wpcap_tut6.txt File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+</table>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/wpcap__tut7_8txt.html b/3rdparty/winpcap/docs/html/wpcap__tut7_8txt.html
new file mode 100644
index 00000000000..24c5a8c1886
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/wpcap__tut7_8txt.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: wpcap_tut7.txt File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>wpcap_tut7.txt File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+</table>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/wpcap__tut8_8txt.html b/3rdparty/winpcap/docs/html/wpcap__tut8_8txt.html
new file mode 100644
index 00000000000..3bfa5e45981
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/wpcap__tut8_8txt.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: wpcap_tut8.txt File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>wpcap_tut8.txt File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+</table>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/wpcap__tut9_8txt.html b/3rdparty/winpcap/docs/html/wpcap__tut9_8txt.html
new file mode 100644
index 00000000000..5ec7a670795
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/wpcap__tut9_8txt.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: wpcap_tut9.txt File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>wpcap_tut9.txt File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+</table>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/3rdparty/winpcap/docs/html/wpcap__tut_8txt.html b/3rdparty/winpcap/docs/html/wpcap__tut_8txt.html
new file mode 100644
index 00000000000..e76e54df6af
--- /dev/null
+++ b/3rdparty/winpcap/docs/html/wpcap__tut_8txt.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>WinPcap: wpcap_tut.txt File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>wpcap_tut.txt File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+</table>
+</div>
+
+<hr>
+<p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">
+documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2009
+CACE Technologies. All rights reserved.</p>
diff --git a/src/lib/winpcap/pcap/pcap.h b/src/lib/winpcap/pcap/pcap.h
deleted file mode 100644
index 07695d070c3..00000000000
--- a/src/lib/winpcap/pcap/pcap.h
+++ /dev/null
@@ -1,407 +0,0 @@
-/* -*- Mode: c; tab-width: 8; indent-tabs-mode: 1; c-basic-offset: 8; -*- */
-/*
- * Copyright (c) 1993, 1994, 1995, 1996, 1997
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the Computer Systems
- * Engineering Group at Lawrence Berkeley Laboratory.
- * 4. Neither the name of the University nor of the Laboratory may be used
- * to endorse or promote products derived from this software without
- * specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#) $Header: /tcpdump/master/libpcap/pcap/pcap.h,v 1.4.2.11 2008-10-06 15:38:39 gianluca Exp $ (LBL)
- */
-
-#ifndef lib_pcap_pcap_h
-#define lib_pcap_pcap_h
-
-#if defined(WIN32)
- #include <pcap-stdinc.h>
-#elif defined(MSDOS)
- #include <sys/types.h>
- #include <sys/socket.h> /* u_int, u_char etc. */
-#else /* UN*X */
- #include <sys/types.h>
- #include <sys/time.h>
-#endif /* WIN32/MSDOS/UN*X */
-
-#ifndef PCAP_DONT_INCLUDE_PCAP_BPF_H
-#include <pcap/bpf.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef HAVE_REMOTE
- // We have to define the SOCKET here, although it has been defined in sockutils.h
- // This is to avoid the distribution of the 'sockutils.h' file around
- // (for example in the WinPcap developer's pack)
- #ifndef SOCKET
- #ifdef WIN32
- #define SOCKET unsigned int
- #else
- #define SOCKET int
- #endif
- #endif
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define PCAP_VERSION_MAJOR 2
-#define PCAP_VERSION_MINOR 4
-
-#define PCAP_ERRBUF_SIZE 256
-
-/*
- * Compatibility for systems that have a bpf.h that
- * predates the bpf typedefs for 64-bit support.
- */
-#if BPF_RELEASE - 0 < 199406
-typedef int bpf_int32;
-typedef u_int bpf_u_int32;
-#endif
-
-typedef struct pcap pcap_t;
-typedef struct pcap_dumper pcap_dumper_t;
-typedef struct pcap_if pcap_if_t;
-typedef struct pcap_addr pcap_addr_t;
-
-/*
- * The first record in the file contains saved values for some
- * of the flags used in the printout phases of tcpdump.
- * Many fields here are 32 bit ints so compilers won't insert unwanted
- * padding; these files need to be interchangeable across architectures.
- *
- * Do not change the layout of this structure, in any way (this includes
- * changes that only affect the length of fields in this structure).
- *
- * Also, do not change the interpretation of any of the members of this
- * structure, in any way (this includes using values other than
- * LINKTYPE_ values, as defined in "savefile.c", in the "linktype"
- * field).
- *
- * Instead:
- *
- * introduce a new structure for the new format, if the layout
- * of the structure changed;
- *
- * send mail to "tcpdump-workers@lists.tcpdump.org", requesting
- * a new magic number for your new capture file format, and, when
- * you get the new magic number, put it in "savefile.c";
- *
- * use that magic number for save files with the changed file
- * header;
- *
- * make the code in "savefile.c" capable of reading files with
- * the old file header as well as files with the new file header
- * (using the magic number to determine the header format).
- *
- * Then supply the changes as a patch at
- *
- * http://sourceforge.net/projects/libpcap/
- *
- * so that future versions of libpcap and programs that use it (such as
- * tcpdump) will be able to read your new capture file format.
- */
-struct pcap_file_header {
- bpf_u_int32 magic;
- u_short version_major;
- u_short version_minor;
- bpf_int32 thiszone; /* gmt to local correction */
- bpf_u_int32 sigfigs; /* accuracy of timestamps */
- bpf_u_int32 snaplen; /* max length saved portion of each pkt */
- bpf_u_int32 linktype; /* data link type (LINKTYPE_*) */
-};
-
-/*
- * Macros for the value returned by pcap_datalink_ext().
- *
- * If LT_FCS_LENGTH_PRESENT(x) is true, the LT_FCS_LENGTH(x) macro
- * gives the FCS length of packets in the capture.
- */
-#define LT_FCS_LENGTH_PRESENT(x) ((x) & 0x04000000)
-#define LT_FCS_LENGTH(x) (((x) & 0xF0000000) >> 28)
-#define LT_FCS_DATALINK_EXT(x) ((((x) & 0xF) << 28) | 0x04000000)
-
-typedef enum {
- PCAP_D_INOUT = 0,
- PCAP_D_IN,
- PCAP_D_OUT
-} pcap_direction_t;
-
-/*
- * Generic per-packet information, as supplied by libpcap.
- *
- * The time stamp can and should be a "struct timeval", regardless of
- * whether your system supports 32-bit tv_sec in "struct timeval",
- * 64-bit tv_sec in "struct timeval", or both if it supports both 32-bit
- * and 64-bit applications. The on-disk format of savefiles uses 32-bit
- * tv_sec (and tv_usec); this structure is irrelevant to that. 32-bit
- * and 64-bit versions of libpcap, even if they're on the same platform,
- * should supply the appropriate version of "struct timeval", even if
- * that's not what the underlying packet capture mechanism supplies.
- */
-struct pcap_pkthdr {
- struct timeval ts; /* time stamp */
- bpf_u_int32 caplen; /* length of portion present */
- bpf_u_int32 len; /* length this packet (off wire) */
-};
-
-/*
- * As returned by the pcap_stats()
- */
-struct pcap_stat {
- u_int ps_recv; /* number of packets received */
- u_int ps_drop; /* number of packets dropped */
- u_int ps_ifdrop; /* drops by interface XXX not yet supported */
-#ifdef HAVE_REMOTE
- u_int ps_capt; /* number of packets that are received by the application; please get rid off the Win32 ifdef */
- u_int ps_sent; /* number of packets sent by the server on the network */
- u_int ps_netdrop; /* number of packets lost on the network */
-#endif /* HAVE_REMOTE */
-};
-
-#ifdef MSDOS
-/*
- * As returned by the pcap_stats_ex()
- */
-struct pcap_stat_ex {
- u_long rx_packets; /* total packets received */
- u_long tx_packets; /* total packets transmitted */
- u_long rx_bytes; /* total bytes received */
- u_long tx_bytes; /* total bytes transmitted */
- u_long rx_errors; /* bad packets received */
- u_long tx_errors; /* packet transmit problems */
- u_long rx_dropped; /* no space in Rx buffers */
- u_long tx_dropped; /* no space available for Tx */
- u_long multicast; /* multicast packets received */
- u_long collisions;
-
- /* detailed rx_errors: */
- u_long rx_length_errors;
- u_long rx_over_errors; /* receiver ring buff overflow */
- u_long rx_crc_errors; /* recv'd pkt with crc error */
- u_long rx_frame_errors; /* recv'd frame alignment error */
- u_long rx_fifo_errors; /* recv'r fifo overrun */
- u_long rx_missed_errors; /* recv'r missed packet */
-
- /* detailed tx_errors */
- u_long tx_aborted_errors;
- u_long tx_carrier_errors;
- u_long tx_fifo_errors;
- u_long tx_heartbeat_errors;
- u_long tx_window_errors;
- };
-#endif
-
-/*
- * Item in a list of interfaces.
- */
-struct pcap_if {
- struct pcap_if *next;
- char *name; /* name to hand to "pcap_open_live()" */
- char *description; /* textual description of interface, or NULL */
- struct pcap_addr *addresses;
- bpf_u_int32 flags; /* PCAP_IF_ interface flags */
-};
-
-#define PCAP_IF_LOOPBACK 0x00000001 /* interface is loopback */
-
-/*
- * Representation of an interface address.
- */
-struct pcap_addr {
- struct pcap_addr *next;
- struct sockaddr *addr; /* address */
- struct sockaddr *netmask; /* netmask for that address */
- struct sockaddr *broadaddr; /* broadcast address for that address */
- struct sockaddr *dstaddr; /* P2P destination address for that address */
-};
-
-typedef void (*pcap_handler)(u_char *, const struct pcap_pkthdr *,
- const u_char *);
-
-/*
- * Error codes for the pcap API.
- * These will all be negative, so you can check for the success or
- * failure of a call that returns these codes by checking for a
- * negative value.
- */
-#define PCAP_ERROR -1 /* generic error code */
-#define PCAP_ERROR_BREAK -2 /* loop terminated by pcap_breakloop */
-#define PCAP_ERROR_NOT_ACTIVATED -3 /* the capture needs to be activated */
-#define PCAP_ERROR_ACTIVATED -4 /* the operation can't be performed on already activated captures */
-#define PCAP_ERROR_NO_SUCH_DEVICE -5 /* no such device exists */
-#define PCAP_ERROR_RFMON_NOTSUP -6 /* this device doesn't support rfmon (monitor) mode */
-#define PCAP_ERROR_NOT_RFMON -7 /* operation supported only in monitor mode */
-#define PCAP_ERROR_PERM_DENIED -8 /* no permission to open the device */
-#define PCAP_ERROR_IFACE_NOT_UP -9 /* interface isn't up */
-
-/*
- * Warning codes for the pcap API.
- * These will all be positive and non-zero, so they won't look like
- * errors.
- */
-#define PCAP_WARNING 1 /* generic warning code */
-#define PCAP_WARNING_PROMISC_NOTSUP 2 /* this device doesn't support promiscuous mode */
-
-char *pcap_lookupdev(char *);
-int pcap_lookupnet(const char *, bpf_u_int32 *, bpf_u_int32 *, char *);
-
-pcap_t *pcap_create(const char *, char *);
-int pcap_set_snaplen(pcap_t *, int);
-int pcap_set_promisc(pcap_t *, int);
-int pcap_can_set_rfmon(pcap_t *);
-int pcap_set_rfmon(pcap_t *, int);
-int pcap_set_timeout(pcap_t *, int);
-int pcap_set_buffer_size(pcap_t *, int);
-int pcap_activate(pcap_t *);
-
-pcap_t *pcap_open_live(const char *, int, int, int, char *);
-pcap_t *pcap_open_dead(int, int);
-pcap_t *pcap_open_offline(const char *, char *);
-#if defined(WIN32)
-pcap_t *pcap_hopen_offline(intptr_t, char *);
-#if !defined(LIBPCAP_EXPORTS)
-#define pcap_fopen_offline(f,b) \
- pcap_hopen_offline(_get_osfhandle(_fileno(f)), b)
-#else /*LIBPCAP_EXPORTS*/
-static pcap_t *pcap_fopen_offline(FILE *, char *);
-#endif
-#else /*WIN32*/
-pcap_t *pcap_fopen_offline(FILE *, char *);
-#endif /*WIN32*/
-
-void pcap_close(pcap_t *);
-int pcap_loop(pcap_t *, int, pcap_handler, u_char *);
-int pcap_dispatch(pcap_t *, int, pcap_handler, u_char *);
-const u_char*
- pcap_next(pcap_t *, struct pcap_pkthdr *);
-int pcap_next_ex(pcap_t *, struct pcap_pkthdr **, const u_char **);
-void pcap_breakloop(pcap_t *);
-int pcap_stats(pcap_t *, struct pcap_stat *);
-int pcap_setfilter(pcap_t *, struct bpf_program *);
-int pcap_setdirection(pcap_t *, pcap_direction_t);
-int pcap_getnonblock(pcap_t *, char *);
-int pcap_setnonblock(pcap_t *, int, char *);
-int pcap_inject(pcap_t *, const void *, size_t);
-int pcap_sendpacket(pcap_t *, const u_char *, int);
-const char *pcap_statustostr(int);
-const char *pcap_strerror(int);
-char *pcap_geterr(pcap_t *);
-void pcap_perror(pcap_t *, char *);
-int pcap_compile(pcap_t *, struct bpf_program *, const char *, int,
- bpf_u_int32);
-int pcap_compile_nopcap(int, int, struct bpf_program *,
- const char *, int, bpf_u_int32);
-void pcap_freecode(struct bpf_program *);
-int pcap_offline_filter(struct bpf_program *, const struct pcap_pkthdr *,
- const u_char *);
-int pcap_datalink(pcap_t *);
-int pcap_datalink_ext(pcap_t *);
-int pcap_list_datalinks(pcap_t *, int **);
-int pcap_set_datalink(pcap_t *, int);
-void pcap_free_datalinks(int *);
-int pcap_datalink_name_to_val(const char *);
-const char *pcap_datalink_val_to_name(int);
-const char *pcap_datalink_val_to_description(int);
-int pcap_snapshot(pcap_t *);
-int pcap_is_swapped(pcap_t *);
-int pcap_major_version(pcap_t *);
-int pcap_minor_version(pcap_t *);
-
-/* XXX */
-FILE *pcap_file(pcap_t *);
-int pcap_fileno(pcap_t *);
-
-pcap_dumper_t *pcap_dump_open(pcap_t *, const char *);
-pcap_dumper_t *pcap_dump_fopen(pcap_t *, FILE *fp);
-FILE *pcap_dump_file(pcap_dumper_t *);
-long pcap_dump_ftell(pcap_dumper_t *);
-int pcap_dump_flush(pcap_dumper_t *);
-void pcap_dump_close(pcap_dumper_t *);
-void pcap_dump(u_char *, const struct pcap_pkthdr *, const u_char *);
-
-int pcap_findalldevs(pcap_if_t **, char *);
-void pcap_freealldevs(pcap_if_t *);
-
-const char *pcap_lib_version(void);
-
-/* XXX this guy lives in the bpf tree */
-u_int bpf_filter(const struct bpf_insn *, const u_char *, u_int, u_int);
-int bpf_validate(const struct bpf_insn *f, int len);
-char *bpf_image(const struct bpf_insn *, int);
-void bpf_dump(const struct bpf_program *, int);
-
-#if defined(WIN32)
-
-/*
- * Win32 definitions
- */
-
-int pcap_setbuff(pcap_t *p, int dim);
-int pcap_setmode(pcap_t *p, int mode);
-int pcap_setmintocopy(pcap_t *p, int size);
-
-#ifdef WPCAP
-/* Include file with the wpcap-specific extensions */
-#include <Win32-Extensions.h>
-#endif /* WPCAP */
-
-#define MODE_CAPT 0
-#define MODE_STAT 1
-#define MODE_MON 2
-
-#elif defined(MSDOS)
-
-/*
- * MS-DOS definitions
- */
-
-int pcap_stats_ex (pcap_t *, struct pcap_stat_ex *);
-void pcap_set_wait (pcap_t *p, void (*yield)(void), int wait);
-u_long pcap_mac_packets (void);
-
-#else /* UN*X */
-
-/*
- * UN*X definitions
- */
-
-int pcap_get_selectable_fd(pcap_t *);
-
-#endif /* WIN32/MSDOS/UN*X */
-
-#ifdef HAVE_REMOTE
-/* Includes most of the public stuff that is needed for the remote capture */
-#include <remote-ext.h>
-#endif /* HAVE_REMOTE */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/src/lib/winpcap/remote-ext.h b/src/lib/winpcap/remote-ext.h
deleted file mode 100644
index 7c05c56bd38..00000000000
--- a/src/lib/winpcap/remote-ext.h
+++ /dev/null
@@ -1,443 +0,0 @@
-/*
- * Copyright (c) 2002 - 2003
- * NetGroup, Politecnico di Torino (Italy)
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the Politecnico di Torino nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-
-#ifndef __REMOTE_EXT_H__
-#define __REMOTE_EXT_H__
-
-
-#ifndef HAVE_REMOTE
-#error Please do not include this file directly. Just define HAVE_REMOTE and then include pcap.h
-#endif
-
-// Definition for Microsoft Visual Studio
-#if _MSC_VER > 1000
-#pragma once
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*!
- \file remote-ext.h
-
- The goal of this file it to include most of the new definitions that should be
- placed into the pcap.h file.
-
- It includes all new definitions (structures and functions like pcap_open().
- Some of the functions are not really a remote feature, but, right now,
- they are placed here.
-*/
-
-
-
-// All this stuff is public
-/*! \addtogroup remote_struct
- \{
-*/
-
-
-
-
-/*!
- \brief Defines the maximum buffer size in which address, port, interface names are kept.
-
- In case the adapter name or such is larger than this value, it is truncated.
- This is not used by the user; however it must be aware that an hostname / interface
- name longer than this value will be truncated.
-*/
-#define PCAP_BUF_SIZE 1024
-
-
-/*! \addtogroup remote_source_ID
- \{
-*/
-
-
-/*!
- \brief Internal representation of the type of source in use (file,
- remote/local interface).
-
- This indicates a file, i.e. the user want to open a capture from a local file.
-*/
-#define PCAP_SRC_FILE 2
-/*!
- \brief Internal representation of the type of source in use (file,
- remote/local interface).
-
- This indicates a local interface, i.e. the user want to open a capture from
- a local interface. This does not involve the RPCAP protocol.
-*/
-#define PCAP_SRC_IFLOCAL 3
-/*!
- \brief Internal representation of the type of source in use (file,
- remote/local interface).
-
- This indicates a remote interface, i.e. the user want to open a capture from
- an interface on a remote host. This does involve the RPCAP protocol.
-*/
-#define PCAP_SRC_IFREMOTE 4
-
-/*!
- \}
-*/
-
-
-
-/*! \addtogroup remote_source_string
-
- The formats allowed by the pcap_open() are the following:
- - file://path_and_filename [opens a local file]
- - rpcap://devicename [opens the selected device devices available on the local host, without using the RPCAP protocol]
- - rpcap://host/devicename [opens the selected device available on a remote host]
- - rpcap://host:port/devicename [opens the selected device available on a remote host, using a non-standard port for RPCAP]
- - adaptername [to open a local adapter; kept for compability, but it is strongly discouraged]
- - (NULL) [to open the first local adapter; kept for compability, but it is strongly discouraged]
-
- The formats allowed by the pcap_findalldevs_ex() are the following:
- - file://folder/ [lists all the files in the given folder]
- - rpcap:// [lists all local adapters]
- - rpcap://host:port/ [lists the devices available on a remote host]
-
- Referring to the 'host' and 'port' paramters, they can be either numeric or literal. Since
- IPv6 is fully supported, these are the allowed formats:
-
- - host (literal): e.g. host.foo.bar
- - host (numeric IPv4): e.g. 10.11.12.13
- - host (numeric IPv4, IPv6 style): e.g. [10.11.12.13]
- - host (numeric IPv6): e.g. [1:2:3::4]
- - port: can be either numeric (e.g. '80') or literal (e.g. 'http')
-
- Here you find some allowed examples:
- - rpcap://host.foo.bar/devicename [everything literal, no port number]
- - rpcap://host.foo.bar:1234/devicename [everything literal, with port number]
- - rpcap://10.11.12.13/devicename [IPv4 numeric, no port number]
- - rpcap://10.11.12.13:1234/devicename [IPv4 numeric, with port number]
- - rpcap://[10.11.12.13]:1234/devicename [IPv4 numeric with IPv6 format, with port number]
- - rpcap://[1:2:3::4]/devicename [IPv6 numeric, no port number]
- - rpcap://[1:2:3::4]:1234/devicename [IPv6 numeric, with port number]
- - rpcap://[1:2:3::4]:http/devicename [IPv6 numeric, with literal port number]
-
- \{
-*/
-
-
-/*!
- \brief String that will be used to determine the type of source in use (file,
- remote/local interface).
-
- This string will be prepended to the interface name in order to create a string
- that contains all the information required to open the source.
-
- This string indicates that the user wants to open a capture from a local file.
-*/
-#define PCAP_SRC_FILE_STRING "file://"
-/*!
- \brief String that will be used to determine the type of source in use (file,
- remote/local interface).
-
- This string will be prepended to the interface name in order to create a string
- that contains all the information required to open the source.
-
- This string indicates that the user wants to open a capture from a network interface.
- This string does not necessarily involve the use of the RPCAP protocol. If the
- interface required resides on the local host, the RPCAP protocol is not involved
- and the local functions are used.
-*/
-#define PCAP_SRC_IF_STRING "rpcap://"
-
-/*!
- \}
-*/
-
-
-
-
-
-/*!
- \addtogroup remote_open_flags
- \{
-*/
-
-/*!
- \brief Defines if the adapter has to go in promiscuous mode.
-
- It is '1' if you have to open the adapter in promiscuous mode, '0' otherwise.
- Note that even if this parameter is false, the interface could well be in promiscuous
- mode for some other reason (for example because another capture process with
- promiscuous mode enabled is currently using that interface).
- On on Linux systems with 2.2 or later kernels (that have the "any" device), this
- flag does not work on the "any" device; if an argument of "any" is supplied,
- the 'promisc' flag is ignored.
-*/
-#define PCAP_OPENFLAG_PROMISCUOUS 1
-
-/*!
- \brief Defines if the data trasfer (in case of a remote
- capture) has to be done with UDP protocol.
-
- If it is '1' if you want a UDP data connection, '0' if you want
- a TCP data connection; control connection is always TCP-based.
- A UDP connection is much lighter, but it does not guarantee that all
- the captured packets arrive to the client workstation. Moreover,
- it could be harmful in case of network congestion.
- This flag is meaningless if the source is not a remote interface.
- In that case, it is simply ignored.
-*/
-#define PCAP_OPENFLAG_DATATX_UDP 2
-
-
-/*!
- \brief Defines if the remote probe will capture its own generated traffic.
-
- In case the remote probe uses the same interface to capture traffic and to send
- data back to the caller, the captured traffic includes the RPCAP traffic as well.
- If this flag is turned on, the RPCAP traffic is excluded from the capture, so that
- the trace returned back to the collector is does not include this traffic.
-*/
-#define PCAP_OPENFLAG_NOCAPTURE_RPCAP 4
-
-/*!
- \brief Defines if the local adapter will capture its own generated traffic.
-
- This flag tells the underlying capture driver to drop the packets that were sent by itself.
- This is usefult when building applications like bridges, that should ignore the traffic
- they just sent.
-*/
-#define PCAP_OPENFLAG_NOCAPTURE_LOCAL 8
-
-/*!
- \brief This flag configures the adapter for maximum responsiveness.
-
- In presence of a large value for nbytes, WinPcap waits for the arrival of several packets before
- copying the data to the user. This guarantees a low number of system calls, i.e. lower processor usage,
- i.e. better performance, which is good for applications like sniffers. If the user sets the
- PCAP_OPENFLAG_MAX_RESPONSIVENESS flag, the capture driver will copy the packets as soon as the application
- is ready to receive them. This is suggested for real time applications (like, for example, a bridge)
- that need the best responsiveness.*/
-#define PCAP_OPENFLAG_MAX_RESPONSIVENESS 16
-
-/*!
- \}
-*/
-
-
-/*!
- \addtogroup remote_samp_methods
- \{
-*/
-
-/*!
- \brief No sampling has to be done on the current capture.
-
- In this case, no sampling algorithms are applied to the current capture.
-*/
-#define PCAP_SAMP_NOSAMP 0
-
-/*!
- \brief It defines that only 1 out of N packets must be returned to the user.
-
- In this case, the 'value' field of the 'pcap_samp' structure indicates the
- number of packets (minus 1) that must be discarded before one packet got accepted.
- In other words, if 'value = 10', the first packet is returned to the caller, while
- the following 9 are discarded.
-*/
-#define PCAP_SAMP_1_EVERY_N 1
-
-/*!
- \brief It defines that we have to return 1 packet every N milliseconds.
-
- In this case, the 'value' field of the 'pcap_samp' structure indicates the 'waiting
- time' in milliseconds before one packet got accepted.
- In other words, if 'value = 10', the first packet is returned to the caller; the next
- returned one will be the first packet that arrives when 10ms have elapsed.
-*/
-#define PCAP_SAMP_FIRST_AFTER_N_MS 2
-
-/*!
- \}
-*/
-
-
-/*!
- \addtogroup remote_auth_methods
- \{
-*/
-
-/*!
- \brief It defines the NULL authentication.
-
- This value has to be used within the 'type' member of the pcap_rmtauth structure.
- The 'NULL' authentication has to be equal to 'zero', so that old applications
- can just put every field of struct pcap_rmtauth to zero, and it does work.
-*/
-#define RPCAP_RMTAUTH_NULL 0
-/*!
- \brief It defines the username/password authentication.
-
- With this type of authentication, the RPCAP protocol will use the username/
- password provided to authenticate the user on the remote machine. If the
- authentication is successful (and the user has the right to open network devices)
- the RPCAP connection will continue; otherwise it will be dropped.
-
- This value has to be used within the 'type' member of the pcap_rmtauth structure.
-*/
-#define RPCAP_RMTAUTH_PWD 1
-
-/*!
- \}
-*/
-
-
-
-
-/*!
-
- \brief This structure keeps the information needed to autheticate
- the user on a remote machine.
-
- The remote machine can either grant or refuse the access according
- to the information provided.
- In case the NULL authentication is required, both 'username' and
- 'password' can be NULL pointers.
-
- This structure is meaningless if the source is not a remote interface;
- in that case, the functions which requires such a structure can accept
- a NULL pointer as well.
-*/
-struct pcap_rmtauth
-{
- /*!
- \brief Type of the authentication required.
-
- In order to provide maximum flexibility, we can support different types
- of authentication based on the value of this 'type' variable. The currently
- supported authentication methods are defined into the
- \link remote_auth_methods Remote Authentication Methods Section\endlink.
-
- */
- int type;
- /*!
- \brief Zero-terminated string containing the username that has to be
- used on the remote machine for authentication.
-
- This field is meaningless in case of the RPCAP_RMTAUTH_NULL authentication
- and it can be NULL.
- */
- char *username;
- /*!
- \brief Zero-terminated string containing the password that has to be
- used on the remote machine for authentication.
-
- This field is meaningless in case of the RPCAP_RMTAUTH_NULL authentication
- and it can be NULL.
- */
- char *password;
-};
-
-
-/*!
- \brief This structure defines the information related to sampling.
-
- In case the sampling is requested, the capturing device should read
- only a subset of the packets coming from the source. The returned packets depend
- on the sampling parameters.
-
- \warning The sampling process is applied <strong>after</strong> the filtering process.
- In other words, packets are filtered first, then the sampling process selects a
- subset of the 'filtered' packets and it returns them to the caller.
-*/
-struct pcap_samp
-{
- /*!
- Method used for sampling. Currently, the supported methods are listed in the
- \link remote_samp_methods Sampling Methods Section\endlink.
- */
- int method;
-
- /*!
- This value depends on the sampling method defined. For its meaning, please check
- at the \link remote_samp_methods Sampling Methods Section\endlink.
- */
- int value;
-};
-
-
-
-
-//! Maximum lenght of an host name (needed for the RPCAP active mode)
-#define RPCAP_HOSTLIST_SIZE 1024
-
-
-/*!
- \}
-*/ // end of public documentation
-
-
-// Exported functions
-
-
-
-/** \name New WinPcap functions
-
- This section lists the new functions that are able to help considerably in writing
- WinPcap programs because of their easiness of use.
- */
-//\{
-pcap_t *pcap_open(const char *source, int snaplen, int flags, int read_timeout, struct pcap_rmtauth *auth, char *errbuf);
-int pcap_createsrcstr(char *source, int type, const char *host, const char *port, const char *name, char *errbuf);
-int pcap_parsesrcstr(const char *source, int *type, char *host, char *port, char *name, char *errbuf);
-int pcap_findalldevs_ex(char *source, struct pcap_rmtauth *auth, pcap_if_t **alldevs, char *errbuf);
-struct pcap_samp *pcap_setsampling(pcap_t *p);
-
-//\}
-// End of new winpcap functions
-
-
-
-/** \name Remote Capture functions
- */
-//\{
-SOCKET pcap_remoteact_accept(const char *address, const char *port, const char *hostlist, char *connectinghost, struct pcap_rmtauth *auth, char *errbuf);
-int pcap_remoteact_list(char *hostlist, char sep, int size, char *errbuf);
-int pcap_remoteact_close(const char *host, char *errbuf);
-void pcap_remoteact_cleanup();
-//\}
-// End of remote capture functions
-
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif
diff --git a/src/osd/sdl/sdl.mak b/src/osd/sdl/sdl.mak
index 43ff46c9cbc..ccffac75644 100644
--- a/src/osd/sdl/sdl.mak
+++ b/src/osd/sdl/sdl.mak
@@ -334,7 +334,7 @@ SDLMAIN = $(SDLOBJ)/main.o
# needed for unidasm
LDFLAGS += -Wl,--allow-multiple-definition
SDL_NETWORK = pcap
-INCPATH += -I$(SRC)/lib/winpcap
+INCPATH += -I$(3RDPARTY)/winpcap
# enable UNICODE
DEFS += -Dmain=utf8_main -DUNICODE -D_UNICODE
diff --git a/src/osd/windows/windows.mak b/src/osd/windows/windows.mak
index de6aea9b2e6..7b444aad01b 100644
--- a/src/osd/windows/windows.mak
+++ b/src/osd/windows/windows.mak
@@ -442,7 +442,7 @@ endif
#-------------------------------------------------
# WinPCap
#-------------------------------------------------
-INCPATH += -I$(SRC)/lib/winpcap
+INCPATH += -I$(3RDPARTY)/winpcap
#-------------------------------------------------
# rules for building the libaries