summaryrefslogtreecommitdiffstats
path: root/src/Net/Packet.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Net/Packet.cpp')
-rw-r--r--src/Net/Packet.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/Net/Packet.cpp b/src/Net/Packet.cpp
index 9e05f24..976fd65 100644
--- a/src/Net/Packet.cpp
+++ b/src/Net/Packet.cpp
@@ -46,5 +46,29 @@ Packet& Packet::operator=(const Packet &p) {
return *this;
}
+
+uint64_t Packet::htonll(uint64_t val) {
+ union {
+ uint32_t u32[2];
+ uint64_t u64;
+ } ret;
+
+ ret.u32[0] = htonl(val >> 32);
+ ret.u32[1] = htonl(val);
+
+ return ret.u64;
+}
+
+uint64_t Packet::ntohll(uint64_t val) {
+ union {
+ uint32_t u32[2];
+ uint64_t u64;
+ } v;
+
+ v.u64 = val;
+
+ return (((uint64_t)ntohl(v.u32[0])) << 32) | ntohl(v.u32[1]);
+}
+
}
}