Skip to content

Commit 2ad2338

Browse files
committed
serialize: Serialization support for big-endian 32-bit ints.
1 parent ba6ff9a commit 2ad2338

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

src/serialize.h

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,11 @@ template<typename Stream> inline void ser_writedata32(Stream &s, uint32_t obj)
8989
obj = htole32(obj);
9090
s.write((char*)&obj, 4);
9191
}
92+
template<typename Stream> inline void ser_writedata32be(Stream &s, uint32_t obj)
93+
{
94+
obj = htobe32(obj);
95+
s.write((char*)&obj, 4);
96+
}
9297
template<typename Stream> inline void ser_writedata64(Stream &s, uint64_t obj)
9398
{
9499
obj = htole64(obj);
@@ -118,6 +123,12 @@ template<typename Stream> inline uint32_t ser_readdata32(Stream &s)
118123
s.read((char*)&obj, 4);
119124
return le32toh(obj);
120125
}
126+
template<typename Stream> inline uint32_t ser_readdata32be(Stream &s)
127+
{
128+
uint32_t obj;
129+
s.read((char*)&obj, 4);
130+
return be32toh(obj);
131+
}
121132
template<typename Stream> inline uint64_t ser_readdata64(Stream &s)
122133
{
123134
uint64_t obj;

0 commit comments

Comments
 (0)