diff options
author | Christian Pointner <equinox@anytun.org> | 2008-02-28 01:57:42 +0000 |
---|---|---|
committer | Christian Pointner <equinox@anytun.org> | 2008-02-28 01:57:42 +0000 |
commit | a742bbf8610aae58fc6d6ee2377c83395b3ca535 (patch) | |
tree | a8840f313844dc48225c3219f5e8e7f8aa0fabc6 /networkAddress.cpp | |
parent | added get Src/Dst Address @ plainPacket (diff) |
fixed PlainPacket get Src/Dst Address
added toString to NetworkAddress
Diffstat (limited to 'networkAddress.cpp')
-rw-r--r-- | networkAddress.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/networkAddress.cpp b/networkAddress.cpp index d87f5ba..8be45e2 100644 --- a/networkAddress.cpp +++ b/networkAddress.cpp @@ -91,6 +91,26 @@ network_address_type_t NetworkAddress::getNetworkAddressType() return network_address_type_; } +std::string NetworkAddress::toString() const +{ + if (network_address_type_==ipv4){ + char buf[INET_ADDRSTRLEN]; + if(!inet_ntop(AF_INET, &ipv4_address_, buf, sizeof(buf))) + return std::string(""); + return std::string(buf); + } + else if (network_address_type_==ipv6) { + char buf[INET6_ADDRSTRLEN]; + if(!inet_ntop(AF_INET6, &ipv6_address_, buf, sizeof(buf))) + return std::string(""); + return std::string(buf); + } + else if (network_address_type_==ethernet) { + // TODO + } + return std::string(""); +} + bool NetworkAddress::operator<(const NetworkAddress &right) const { if (network_address_type_!=right.network_address_type_) |