1
0
mirror of https://github.com/mfontanini/libtins synced 2026-01-23 02:35:57 +01:00

Added documentation to PacketWriter.

This commit is contained in:
Matias Fontanini
2012-09-06 20:57:32 -03:00
parent 9981819b71
commit 10681eee8f
3 changed files with 68 additions and 40 deletions

View File

@@ -75,7 +75,7 @@ include/ipaddress.h:
src/dot11.o: src/dot11.cpp include/dot11.h include/pdu.h \ src/dot11.o: src/dot11.cpp include/dot11.h include/pdu.h \
include/endianness.h include/hwaddress.h include/small_uint.h \ include/endianness.h include/hwaddress.h include/small_uint.h \
include/network_interface.h include/ipaddress.h include/rawpdu.h \ include/network_interface.h include/ipaddress.h include/rawpdu.h \
include/radiotap.h include/rsn_information.h include/packetsender.h \ include/radiotap.h include/rsn_information.h include/packet_sender.h \
include/snap.h include/snap.h
include/dot11.h: include/dot11.h:
@@ -98,7 +98,7 @@ include/radiotap.h:
include/rsn_information.h: include/rsn_information.h:
include/packetsender.h: include/packet_sender.h:
include/snap.h: include/snap.h:
src/eapol.o: src/eapol.cpp include/eapol.h include/pdu.h \ src/eapol.o: src/eapol.cpp include/eapol.h include/pdu.h \
@@ -125,8 +125,8 @@ include/ipaddress.h:
include/rsn_information.h: include/rsn_information.h:
src/ethernetII.o: src/ethernetII.cpp include/ethernetII.h include/pdu.h \ src/ethernetII.o: src/ethernetII.cpp include/ethernetII.h include/pdu.h \
include/endianness.h include/hwaddress.h include/network_interface.h \ include/endianness.h include/hwaddress.h include/network_interface.h \
include/ipaddress.h include/packetsender.h include/rawpdu.h include/ip.h \ include/ipaddress.h include/packet_sender.h include/rawpdu.h \
include/small_uint.h include/arp.h include/ip.h include/small_uint.h include/arp.h
include/ethernetII.h: include/ethernetII.h:
@@ -140,7 +140,7 @@ include/network_interface.h:
include/ipaddress.h: include/ipaddress.h:
include/packetsender.h: include/packet_sender.h:
include/rawpdu.h: include/rawpdu.h:
@@ -151,7 +151,7 @@ include/small_uint.h:
include/arp.h: include/arp.h:
src/icmp.o: src/icmp.cpp include/icmp.h include/pdu.h \ src/icmp.o: src/icmp.cpp include/icmp.h include/pdu.h \
include/endianness.h include/rawpdu.h include/utils.h \ include/endianness.h include/rawpdu.h include/utils.h \
include/packetsender.h include/ipaddress.h include/hwaddress.h include/ipaddress.h include/hwaddress.h
include/icmp.h: include/icmp.h:
@@ -163,14 +163,12 @@ include/rawpdu.h:
include/utils.h: include/utils.h:
include/packetsender.h:
include/ipaddress.h: include/ipaddress.h:
include/hwaddress.h: include/hwaddress.h:
src/ieee802_3.o: src/ieee802_3.cpp include/ieee802_3.h include/pdu.h \ src/ieee802_3.o: src/ieee802_3.cpp include/ieee802_3.h include/pdu.h \
include/endianness.h include/hwaddress.h include/network_interface.h \ include/endianness.h include/hwaddress.h include/network_interface.h \
include/ipaddress.h include/packetsender.h include/llc.h include/ipaddress.h include/packet_sender.h include/llc.h
include/ieee802_3.h: include/ieee802_3.h:
@@ -184,7 +182,7 @@ include/network_interface.h:
include/ipaddress.h: include/ipaddress.h:
include/packetsender.h: include/packet_sender.h:
include/llc.h: include/llc.h:
src/ipaddress.o: src/ipaddress.cpp include/ipaddress.h \ src/ipaddress.o: src/ipaddress.cpp include/ipaddress.h \
@@ -195,8 +193,8 @@ include/ipaddress.h:
include/endianness.h: include/endianness.h:
src/ip.o: src/ip.cpp include/ip.h include/pdu.h include/small_uint.h \ src/ip.o: src/ip.cpp include/ip.h include/pdu.h include/small_uint.h \
include/endianness.h include/ipaddress.h include/tcp.h include/udp.h \ include/endianness.h include/ipaddress.h include/tcp.h include/udp.h \
include/icmp.h include/rawpdu.h include/utils.h include/packetsender.h \ include/icmp.h include/rawpdu.h include/utils.h include/hwaddress.h \
include/hwaddress.h include/constants.h include/packet_sender.h include/constants.h
include/ip.h: include/ip.h:
@@ -218,10 +216,10 @@ include/rawpdu.h:
include/utils.h: include/utils.h:
include/packetsender.h:
include/hwaddress.h: include/hwaddress.h:
include/packet_sender.h:
include/constants.h: include/constants.h:
src/llc.o: src/llc.cpp include/pdu.h include/llc.h include/pdu.h \ src/llc.o: src/llc.cpp include/pdu.h include/llc.h include/pdu.h \
include/endianness.h include/rawpdu.h include/endianness.h include/rawpdu.h
@@ -237,7 +235,7 @@ include/endianness.h:
include/rawpdu.h: include/rawpdu.h:
src/network_interface.o: src/network_interface.cpp \ src/network_interface.o: src/network_interface.cpp \
include/network_interface.h include/hwaddress.h include/ipaddress.h \ include/network_interface.h include/hwaddress.h include/ipaddress.h \
include/utils.h include/packetsender.h include/endianness.h include/utils.h include/endianness.h
include/network_interface.h: include/network_interface.h:
@@ -247,17 +245,21 @@ include/ipaddress.h:
include/utils.h: include/utils.h:
include/packetsender.h:
include/endianness.h: include/endianness.h:
src/packetsender.o: src/packetsender.cpp include/packetsender.h \ src/packet_sender.o: src/packet_sender.cpp include/pdu.h \
include/packet_sender.h
include/pdu.h:
include/packet_sender.h:
src/packet_writer.o: src/packet_writer.cpp include/packet_writer.h \
include/pdu.h include/pdu.h
include/packetsender.h: include/packet_writer.h:
include/pdu.h: include/pdu.h:
src/pdu.o: src/pdu.cpp include/pdu.h include/rawpdu.h include/pdu.h \ src/pdu.o: src/pdu.cpp include/pdu.h include/rawpdu.h include/pdu.h \
include/packetsender.h include/packet_sender.h
include/pdu.h: include/pdu.h:
@@ -265,11 +267,11 @@ include/rawpdu.h:
include/pdu.h: include/pdu.h:
include/packetsender.h: include/packet_sender.h:
src/radiotap.o: src/radiotap.cpp include/radiotap.h include/pdu.h \ src/radiotap.o: src/radiotap.cpp include/radiotap.h include/pdu.h \
include/endianness.h include/network_interface.h include/hwaddress.h \ include/endianness.h include/network_interface.h include/hwaddress.h \
include/ipaddress.h include/dot11.h include/small_uint.h include/utils.h \ include/ipaddress.h include/dot11.h include/small_uint.h include/utils.h \
include/packetsender.h include/packet_sender.h
include/radiotap.h: include/radiotap.h:
@@ -289,7 +291,7 @@ include/small_uint.h:
include/utils.h: include/utils.h:
include/packetsender.h: include/packet_sender.h:
src/rawpdu.o: src/rawpdu.cpp include/rawpdu.h include/pdu.h src/rawpdu.o: src/rawpdu.cpp include/rawpdu.h include/pdu.h
include/rawpdu.h: include/rawpdu.h:
@@ -346,8 +348,7 @@ include/ipaddress.h:
include/radiotap.h: include/radiotap.h:
src/tcp.o: src/tcp.cpp include/tcp.h include/pdu.h include/endianness.h \ src/tcp.o: src/tcp.cpp include/tcp.h include/pdu.h include/endianness.h \
include/small_uint.h include/ip.h include/ipaddress.h \ include/small_uint.h include/ip.h include/ipaddress.h \
include/constants.h include/rawpdu.h include/utils.h \ include/constants.h include/rawpdu.h include/utils.h include/hwaddress.h
include/packetsender.h include/hwaddress.h
include/tcp.h: include/tcp.h:
@@ -367,8 +368,6 @@ include/rawpdu.h:
include/utils.h: include/utils.h:
include/packetsender.h:
include/hwaddress.h: include/hwaddress.h:
src/tcp_stream.o: src/tcp_stream.cpp include/rawpdu.h include/pdu.h \ src/tcp_stream.o: src/tcp_stream.cpp include/rawpdu.h include/pdu.h \
include/tcp_stream.h include/sniffer.h include/ethernetII.h \ include/tcp_stream.h include/sniffer.h include/ethernetII.h \
@@ -402,9 +401,8 @@ include/small_uint.h:
include/ip.h: include/ip.h:
src/udp.o: src/udp.cpp include/udp.h include/pdu.h include/endianness.h \ src/udp.o: src/udp.cpp include/udp.h include/pdu.h include/endianness.h \
include/constants.h include/utils.h include/packetsender.h \ include/constants.h include/utils.h include/ipaddress.h \
include/ipaddress.h include/hwaddress.h include/ip.h \ include/hwaddress.h include/ip.h include/small_uint.h include/rawpdu.h
include/small_uint.h include/rawpdu.h
include/udp.h: include/udp.h:
@@ -416,8 +414,6 @@ include/constants.h:
include/utils.h: include/utils.h:
include/packetsender.h:
include/ipaddress.h: include/ipaddress.h:
include/hwaddress.h: include/hwaddress.h:
@@ -427,15 +423,13 @@ include/ip.h:
include/small_uint.h: include/small_uint.h:
include/rawpdu.h: include/rawpdu.h:
src/utils.o: src/utils.cpp include/utils.h include/packetsender.h \ src/utils.o: src/utils.cpp include/utils.h include/ipaddress.h \
include/ipaddress.h include/hwaddress.h include/pdu.h include/ip.h \ include/hwaddress.h include/pdu.h include/ip.h include/pdu.h \
include/pdu.h include/small_uint.h include/endianness.h include/icmp.h \ include/small_uint.h include/endianness.h include/icmp.h include/arp.h \
include/arp.h include/endianness.h include/network_interface.h include/endianness.h include/network_interface.h include/packet_sender.h
include/utils.h: include/utils.h:
include/packetsender.h:
include/ipaddress.h: include/ipaddress.h:
include/hwaddress.h: include/hwaddress.h:
@@ -457,3 +451,5 @@ include/arp.h:
include/endianness.h: include/endianness.h:
include/network_interface.h: include/network_interface.h:
include/packet_sender.h:

View File

@@ -27,19 +27,50 @@
namespace Tins { namespace Tins {
class PDU; class PDU;
/**
* \class PacketWriter
* \brief Writes PDUs to a pcap format file.
*/
class PacketWriter { class PacketWriter {
public: public:
/**
* \brief The type of PDUs that will be written to this file.
*
* This flag should match the type of the lowest layer PDU to be
* written.
*/
enum LinkType { enum LinkType {
RADIOTAP = DLT_IEEE802_11_RADIO, RADIOTAP = DLT_IEEE802_11_RADIO,
ETH2 = DLT_EN10MB ETH2 = DLT_EN10MB
}; };
/**
* \brief Constructs a PacketWriter.
* \param file_name The file in which to store the written PDUs.
* \param lt The link type which will be written to this file.
* \sa LinkType.
*/
PacketWriter(const std::string &file_name, LinkType lt); PacketWriter(const std::string &file_name, LinkType lt);
/**
* Destructor.
*/
~PacketWriter(); ~PacketWriter();
/**
* \brief Writes a PDU to this file.
*/
void write(PDU *pdu); void write(PDU *pdu);
/**
* \brief Writes all the PDUs in the range [start, end)
* \param start A forward iterator pointing to the first PDU
* to be written.
* \param end A forward iterator pointing to one past the last
* PDU in the range.
* \return ForwardIterator which will be a copy of end.
*/
template<typename ForwardIterator> template<typename ForwardIterator>
ForwardIterator write(ForwardIterator start, ForwardIterator end) { ForwardIterator write(ForwardIterator start, ForwardIterator end) {
while(start != end) while(start != end)

View File

@@ -73,7 +73,8 @@ namespace Tins {
* *
* This operator will be called using the sniffed packets * This operator will be called using the sniffed packets
* as arguments. The callback object <b>must not</b> delete the * as arguments. The callback object <b>must not</b> delete the
* PDU parameter. * PDU parameter. You can modify it as you wish, though. Calling
* PDU methods like PDU::release_inner_pdu is perfectly valid.
* *
* Note that the Functor object will be copied using its copy * Note that the Functor object will be copied using its copy
* constructor, so that object should be some kind of proxy to * constructor, so that object should be some kind of proxy to