summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/winpcap
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/winpcap')
-rw-r--r--src/lib/winpcap/Packet32.h194
-rw-r--r--src/lib/winpcap/Win32-Extensions.h48
-rw-r--r--src/lib/winpcap/bittypes.h22
-rw-r--r--src/lib/winpcap/ip6_misc.h138
-rw-r--r--src/lib/winpcap/pcap-bpf.h4
-rw-r--r--src/lib/winpcap/pcap-namedb.h6
-rw-r--r--src/lib/winpcap/pcap-stdinc.h6
-rw-r--r--src/lib/winpcap/pcap.h6
-rw-r--r--src/lib/winpcap/pcap/bluetooth.h6
-rw-r--r--src/lib/winpcap/pcap/bpf.h360
-rw-r--r--src/lib/winpcap/pcap/namedb.h22
-rw-r--r--src/lib/winpcap/pcap/pcap.h300
-rw-r--r--src/lib/winpcap/pcap/sll.h68
-rw-r--r--src/lib/winpcap/pcap/usb.h8
-rw-r--r--src/lib/winpcap/pcap/vlan.h8
-rw-r--r--src/lib/winpcap/remote-ext.h417
16 files changed, 806 insertions, 807 deletions
diff --git a/src/lib/winpcap/Packet32.h b/src/lib/winpcap/Packet32.h
index 64be055d96c..505bab7bd99 100644
--- a/src/lib/winpcap/Packet32.h
+++ b/src/lib/winpcap/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 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/src/lib/winpcap/Win32-Extensions.h
index ad3be25cfaf..b698c1e287b 100644
--- a/src/lib/winpcap/Win32-Extensions.h
+++ b/src/lib/winpcap/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 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/src/lib/winpcap/bittypes.h
index c9d3b177c09..d9fed096fcb 100644
--- a/src/lib/winpcap/bittypes.h
+++ b/src/lib/winpcap/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;
@@ -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/src/lib/winpcap/ip6_misc.h
index 562fa6184e7..b25068801d1 100644
--- a/src/lib/winpcap/ip6_misc.h
+++ b/src/lib/winpcap/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/src/lib/winpcap/pcap-bpf.h
index 5fe129dbb49..b272e63002a 100644
--- a/src/lib/winpcap/pcap-bpf.h
+++ b/src/lib/winpcap/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/src/lib/winpcap/pcap-namedb.h
index 80a2f004012..c1e255ca22a 100644
--- a/src/lib/winpcap/pcap-namedb.h
+++ b/src/lib/winpcap/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/src/lib/winpcap/pcap-stdinc.h
index ae67996495e..66dda2e3c25 100644
--- a/src/lib/winpcap/pcap-stdinc.h
+++ b/src/lib/winpcap/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')
*/
@@ -67,7 +67,7 @@
#endif
#if defined(_MSC_VER) && (_MSC_VER < 1700)
-#define inline __inline
+#define inline __inline
#endif
#ifdef __MINGW32__
@@ -90,6 +90,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/src/lib/winpcap/pcap.h
index 935f9494c10..8540af309c4 100644
--- a/src/lib/winpcap/pcap.h
+++ b/src/lib/winpcap/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/src/lib/winpcap/pcap/bluetooth.h
index 7bf65df034f..45354b3cca4 100644
--- a/src/lib/winpcap/pcap/bluetooth.h
+++ b/src/lib/winpcap/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/src/lib/winpcap/pcap/bpf.h
index 9f4ca33e350..da117a161b8 100644
--- a/src/lib/winpcap/pcap/bpf.h
+++ b/src/lib/winpcap/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/src/lib/winpcap/pcap/namedb.h
index 9002c750937..5ab9e0d67d5 100644
--- a/src/lib/winpcap/pcap/namedb.h
+++ b/src/lib/winpcap/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/src/lib/winpcap/pcap/pcap.h b/src/lib/winpcap/pcap/pcap.h
index ad8fc40ac1f..07695d070c3 100644
--- a/src/lib/winpcap/pcap/pcap.h
+++ b/src/lib/winpcap/pcap/pcap.h
@@ -1,7 +1,7 @@
/* -*- 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.
+ * 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
@@ -13,8 +13,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.
@@ -38,13 +38,13 @@
#define lib_pcap_pcap_h
#if defined(WIN32)
- #include <pcap-stdinc.h>
+ #include <pcap-stdinc.h>
#elif defined(MSDOS)
- #include <sys/types.h>
- #include <sys/socket.h> /* u_int, u_char etc. */
+ #include <sys/types.h>
+ #include <sys/socket.h> /* u_int, u_char etc. */
#else /* UN*X */
- #include <sys/types.h>
- #include <sys/time.h>
+ #include <sys/types.h>
+ #include <sys/time.h>
#endif /* WIN32/MSDOS/UN*X */
#ifndef PCAP_DONT_INCLUDE_PCAP_BPF_H
@@ -80,8 +80,8 @@ extern "C" {
* predates the bpf typedefs for 64-bit support.
*/
#if BPF_RELEASE - 0 < 199406
-typedef int bpf_int32;
-typedef u_int bpf_u_int32;
+typedef int bpf_int32;
+typedef u_int bpf_u_int32;
#endif
typedef struct pcap pcap_t;
@@ -105,23 +105,23 @@ typedef struct pcap_addr pcap_addr_t;
*
* Instead:
*
- * introduce a new structure for the new format, if the layout
- * of the structure changed;
+ * 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";
+ * 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;
+ * 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).
+ * 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/
+ * 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.
@@ -130,26 +130,26 @@ 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_*) */
+ 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)
+#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_D_INOUT = 0,
+ PCAP_D_IN,
+ PCAP_D_OUT
} pcap_direction_t;
/*
@@ -165,22 +165,22 @@ typedef enum {
* 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) */
+ 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 */
+ 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 */
+ 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 */
};
@@ -189,32 +189,32 @@ struct pcap_stat {
* 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;
- };
+ 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
/*
@@ -222,27 +222,27 @@ struct pcap_stat_ex {
*/
struct pcap_if {
struct pcap_if *next;
- char *name; /* name to hand to "pcap_open_live()" */
- char *description; /* textual description of interface, or NULL */
+ 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 */
+ bpf_u_int32 flags; /* PCAP_IF_ interface flags */
};
-#define PCAP_IF_LOOPBACK 0x00000001 /* interface is loopback */
+#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 */
+ 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 *);
+ const u_char *);
/*
* Error codes for the pcap API.
@@ -250,39 +250,39 @@ typedef void (*pcap_handler)(u_char *, const struct pcap_pkthdr *,
* 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 */
+#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 *);
+#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)
@@ -292,69 +292,69 @@ pcap_t *pcap_hopen_offline(intptr_t, char *);
static pcap_t *pcap_fopen_offline(FILE *, char *);
#endif
#else /*WIN32*/
-pcap_t *pcap_fopen_offline(FILE *, char *);
+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 *);
+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);
+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 *);
+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 *);
+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 *);
+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 *);
+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 *);
+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);
+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)
@@ -391,14 +391,14 @@ u_long pcap_mac_packets (void);
* UN*X definitions
*/
-int pcap_get_selectable_fd(pcap_t *);
+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 */
+#endif /* HAVE_REMOTE */
#ifdef __cplusplus
}
diff --git a/src/lib/winpcap/pcap/sll.h b/src/lib/winpcap/pcap/sll.h
index e9d5452af7d..eca83e833ba 100644
--- a/src/lib/winpcap/pcap/sll.h
+++ b/src/lib/winpcap/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/src/lib/winpcap/pcap/usb.h
index adcd19c0584..337a5f2b9b8 100644
--- a/src/lib/winpcap/pcap/usb.h
+++ b/src/lib/winpcap/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/src/lib/winpcap/pcap/vlan.h
index b0cb7949be1..90b7884cada 100644
--- a/src/lib/winpcap/pcap/vlan.h
+++ b/src/lib/winpcap/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/src/lib/winpcap/remote-ext.h b/src/lib/winpcap/remote-ext.h
index 35a2fff6c2b..7c05c56bd38 100644
--- a/src/lib/winpcap/remote-ext.h
+++ b/src/lib/winpcap/remote-ext.h
@@ -2,32 +2,32 @@
* 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
+ *
+ * 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
+ *
+ * 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
+ * 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.
- *
+ *
*/
@@ -49,135 +49,135 @@ extern "C" {
#endif
/*!
- \file remote-ext.h
+ \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.
+ 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.
+ 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.
+ \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.
+ 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).
+ \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.
+ 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).
+ \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.
+ 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).
+ \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.
+ 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]
-
- \{
+ 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).
+ \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 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.
+ 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).
+ \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 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.
+ 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://"
/*!
- \}
+ \}
*/
@@ -185,137 +185,137 @@ extern "C" {
/*!
- \addtogroup remote_open_flags
- \{
+ \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.
+ \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
+#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.
+ \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
+#define PCAP_OPENFLAG_DATATX_UDP 2
/*!
- \brief Defines if the remote probe will capture its own generated traffic.
+ \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.
+ 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
+#define PCAP_OPENFLAG_NOCAPTURE_RPCAP 4
/*!
- \brief Defines if the local adapter will capture its own generated traffic.
+ \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.
+ 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
+#define PCAP_OPENFLAG_NOCAPTURE_LOCAL 8
/*!
- \brief This flag configures the adapter for maximum responsiveness.
+ \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
+ 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
- \{
+ \addtogroup remote_samp_methods
+ \{
*/
/*!
- \brief No sampling has to be done on the current capture.
+ \brief No sampling has to be done on the current capture.
- In this case, no sampling algorithms are applied to the current capture.
+ In this case, no sampling algorithms are applied to the current capture.
*/
-#define PCAP_SAMP_NOSAMP 0
+#define PCAP_SAMP_NOSAMP 0
/*!
- \brief It defines that only 1 out of N packets must be returned to the user.
+ \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.
+ 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
+#define PCAP_SAMP_1_EVERY_N 1
/*!
- \brief It defines that we have to return 1 packet every N milliseconds.
+ \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.
+ 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
- \{
+ \addtogroup remote_auth_methods
+ \{
*/
/*!
- \brief It defines the NULL authentication.
+ \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.
+ 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.
+ \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.
+ 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.
+ This value has to be used within the 'type' member of the pcap_rmtauth structure.
*/
#define RPCAP_RMTAUTH_PWD 1
/*!
- \}
+ \}
*/
@@ -323,71 +323,71 @@ extern "C" {
/*!
- \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.
+ \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.
+ \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.
+ 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.
+ \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.
+ \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.
+ \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.
+ 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.
+ \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.
+ 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.
+ 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;
};
@@ -400,7 +400,7 @@ struct pcap_samp
/*!
- \}
+ \}
*/ // end of public documentation
@@ -410,8 +410,8 @@ struct pcap_samp
/** \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.
+ 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);
@@ -427,7 +427,7 @@ struct pcap_samp *pcap_setsampling(pcap_t *p);
/** \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);
@@ -441,4 +441,3 @@ void pcap_remoteact_cleanup();
#endif
-