diff options
-rw-r--r-- | buffer.cpp | 14 | ||||
-rw-r--r-- | buffer.h | 3 |
2 files changed, 17 insertions, 0 deletions
@@ -30,6 +30,8 @@ #include <stdexcept> #include <string> +#include <iostream> +#include <cstdio> #include "datatypes.h" #include "buffer.h" @@ -163,3 +165,15 @@ Buffer::operator u_int8_t*() // just for write/read tun return buf_; } +std::ostream& operator<<(std::ostream& output, const Buffer &src) +{ + char buf[10]; + + for( u_int32_t index = 0; index < src.getLength(); index++ ) + { + std::sprintf(buf, "%#x", src[index]); + output << buf << " "; + } + + return output; +} @@ -33,6 +33,8 @@ #include "datatypes.h" +#include <ostream> + class TunDevice; class UDPPacketSource; @@ -52,6 +54,7 @@ public: u_int8_t* getBuf(); u_int8_t& operator[](u_int32_t index); u_int8_t operator[](u_int32_t index) const; + friend std::ostream& operator<<(std::ostream& output, const Buffer &src); protected: operator u_int8_t*(); // just for write/read tun and packetSource |