From 10681eee8f4c9148878556b848c80da36b6917f8 Mon Sep 17 00:00:00 2001 From: Matias Fontanini Date: Thu, 6 Sep 2012 20:57:32 -0300 Subject: [PATCH] Added documentation to PacketWriter. --- depends.d | 72 +++++++++++++++++++---------------------- include/packet_writer.h | 33 ++++++++++++++++++- include/sniffer.h | 3 +- 3 files changed, 68 insertions(+), 40 deletions(-) diff --git a/depends.d b/depends.d index 49023ae..5bea4b7 100644 --- a/depends.d +++ b/depends.d @@ -75,7 +75,7 @@ include/ipaddress.h: src/dot11.o: src/dot11.cpp include/dot11.h include/pdu.h \ include/endianness.h include/hwaddress.h include/small_uint.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/dot11.h: @@ -98,7 +98,7 @@ include/radiotap.h: include/rsn_information.h: -include/packetsender.h: +include/packet_sender.h: include/snap.h: src/eapol.o: src/eapol.cpp include/eapol.h include/pdu.h \ @@ -125,8 +125,8 @@ include/ipaddress.h: include/rsn_information.h: src/ethernetII.o: src/ethernetII.cpp include/ethernetII.h include/pdu.h \ include/endianness.h include/hwaddress.h include/network_interface.h \ - include/ipaddress.h include/packetsender.h include/rawpdu.h include/ip.h \ - include/small_uint.h include/arp.h + include/ipaddress.h include/packet_sender.h include/rawpdu.h \ + include/ip.h include/small_uint.h include/arp.h include/ethernetII.h: @@ -140,7 +140,7 @@ include/network_interface.h: include/ipaddress.h: -include/packetsender.h: +include/packet_sender.h: include/rawpdu.h: @@ -151,7 +151,7 @@ include/small_uint.h: include/arp.h: src/icmp.o: src/icmp.cpp include/icmp.h include/pdu.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: @@ -163,14 +163,12 @@ include/rawpdu.h: include/utils.h: -include/packetsender.h: - include/ipaddress.h: include/hwaddress.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/ipaddress.h include/packetsender.h include/llc.h + include/ipaddress.h include/packet_sender.h include/llc.h include/ieee802_3.h: @@ -184,7 +182,7 @@ include/network_interface.h: include/ipaddress.h: -include/packetsender.h: +include/packet_sender.h: include/llc.h: src/ipaddress.o: src/ipaddress.cpp include/ipaddress.h \ @@ -195,8 +193,8 @@ include/ipaddress.h: include/endianness.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/icmp.h include/rawpdu.h include/utils.h include/packetsender.h \ - include/hwaddress.h include/constants.h + include/icmp.h include/rawpdu.h include/utils.h include/hwaddress.h \ + include/packet_sender.h include/constants.h include/ip.h: @@ -218,10 +216,10 @@ include/rawpdu.h: include/utils.h: -include/packetsender.h: - include/hwaddress.h: +include/packet_sender.h: + include/constants.h: src/llc.o: src/llc.cpp include/pdu.h include/llc.h include/pdu.h \ include/endianness.h include/rawpdu.h @@ -237,7 +235,7 @@ include/endianness.h: include/rawpdu.h: src/network_interface.o: src/network_interface.cpp \ 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: @@ -247,17 +245,21 @@ include/ipaddress.h: include/utils.h: -include/packetsender.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/packetsender.h: +include/packet_writer.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: @@ -265,11 +267,11 @@ include/rawpdu.h: include/pdu.h: -include/packetsender.h: +include/packet_sender.h: src/radiotap.o: src/radiotap.cpp include/radiotap.h include/pdu.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/packetsender.h + include/packet_sender.h include/radiotap.h: @@ -289,7 +291,7 @@ include/small_uint.h: include/utils.h: -include/packetsender.h: +include/packet_sender.h: src/rawpdu.o: src/rawpdu.cpp include/rawpdu.h include/pdu.h include/rawpdu.h: @@ -346,8 +348,7 @@ include/ipaddress.h: include/radiotap.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/constants.h include/rawpdu.h include/utils.h \ - include/packetsender.h include/hwaddress.h + include/constants.h include/rawpdu.h include/utils.h include/hwaddress.h include/tcp.h: @@ -367,8 +368,6 @@ include/rawpdu.h: include/utils.h: -include/packetsender.h: - include/hwaddress.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 \ @@ -402,9 +401,8 @@ include/small_uint.h: include/ip.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/ipaddress.h include/hwaddress.h include/ip.h \ - include/small_uint.h include/rawpdu.h + include/constants.h include/utils.h include/ipaddress.h \ + include/hwaddress.h include/ip.h include/small_uint.h include/rawpdu.h include/udp.h: @@ -416,8 +414,6 @@ include/constants.h: include/utils.h: -include/packetsender.h: - include/ipaddress.h: include/hwaddress.h: @@ -427,15 +423,13 @@ include/ip.h: include/small_uint.h: include/rawpdu.h: -src/utils.o: src/utils.cpp include/utils.h include/packetsender.h \ - include/ipaddress.h include/hwaddress.h include/pdu.h include/ip.h \ - include/pdu.h include/small_uint.h include/endianness.h include/icmp.h \ - include/arp.h include/endianness.h include/network_interface.h +src/utils.o: src/utils.cpp include/utils.h include/ipaddress.h \ + include/hwaddress.h include/pdu.h include/ip.h include/pdu.h \ + include/small_uint.h include/endianness.h include/icmp.h include/arp.h \ + include/endianness.h include/network_interface.h include/packet_sender.h include/utils.h: -include/packetsender.h: - include/ipaddress.h: include/hwaddress.h: @@ -457,3 +451,5 @@ include/arp.h: include/endianness.h: include/network_interface.h: + +include/packet_sender.h: diff --git a/include/packet_writer.h b/include/packet_writer.h index 445dadb..403a0e3 100644 --- a/include/packet_writer.h +++ b/include/packet_writer.h @@ -27,19 +27,50 @@ namespace Tins { class PDU; - + +/** + * \class PacketWriter + * \brief Writes PDUs to a pcap format file. + */ class PacketWriter { 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 { RADIOTAP = DLT_IEEE802_11_RADIO, 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); + + /** + * Destructor. + */ ~PacketWriter(); + /** + * \brief Writes a PDU to this file. + */ 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 ForwardIterator write(ForwardIterator start, ForwardIterator end) { while(start != end) diff --git a/include/sniffer.h b/include/sniffer.h index 9f38ec7..83b5831 100644 --- a/include/sniffer.h +++ b/include/sniffer.h @@ -73,7 +73,8 @@ namespace Tins { * * This operator will be called using the sniffed packets * as arguments. The callback object must not 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 * constructor, so that object should be some kind of proxy to