10 #include "fnetorderstream.h"
14 ConvertNetworkOrder (void* buffer, size_t bytes)
16 #ifndef WORDS_BIGENDIAN
20 char* start = static_cast<char*>(buffer);
21 char* end = start + bytes - 1; // last byte
22 size_t nSwap = bytes / 2;
25 unsigned char c = *start;
33 ConvertReverseNetworkOrder (void* buffer, size_t bytes)
35 #ifdef WORDS_BIGENDIAN
39 char* start = static_cast<char*>(buffer);
40 char* end = start + bytes - 1; // last byte
41 size_t nSwap = bytes / 2;
44 unsigned char c = *start;
52 fnetorderstream::writeInt16 (kuint16 n) {
53 #ifndef WORDS_BIGENDIAN
56 write (reinterpret_cast<const char*>(&n), 2);
60 fnetorderstream::writeInt32 (kuint32 n) {
61 #ifndef WORDS_BIGENDIAN
64 write (reinterpret_cast<const char*>(&n), 4);
68 fnetorderstream::writeFloat32 (kfloat32 n) {
69 #ifndef WORDS_BIGENDIAN
72 write (reinterpret_cast<const char*>(&n), 4);
76 fnetorderstream::writeFloat64 (kfloat64 n) {
77 #ifndef WORDS_BIGENDIAN
80 write (reinterpret_cast<const char*>(&n), 8);
84 fnetorderstream::readInt16 (kuint16& n) {
85 read (reinterpret_cast<char*>(&n), 2);
86 #ifndef WORDS_BIGENDIAN
92 fnetorderstream::readInt32 (kuint32& n) {
93 read (reinterpret_cast<char*>(&n), 4);
94 #ifndef WORDS_BIGENDIAN
100 fnetorderstream::readFloat32 (kfloat32& n) {
101 read (reinterpret_cast<char*>(&n), 4);
102 #ifndef WORDS_BIGENDIAN
108 fnetorderstream::readFloat64 (kfloat64& n) {
109 read (reinterpret_cast<char*>(&n), 8);
110 #ifndef WORDS_BIGENDIAN
118 frnetorderstream::writeInt16 (kuint16 n) {
119 #ifdef WORDS_BIGENDIAN
122 write (reinterpret_cast<char*>(&n), 2);
126 frnetorderstream::writeInt32 (kuint32 n) {
127 #ifdef WORDS_BIGENDIAN
130 write (reinterpret_cast<char*>(&n), 4);
134 frnetorderstream::writeFloat32 (kfloat32 n) {
135 #ifdef WORDS_BIGENDIAN
138 write (reinterpret_cast<char*>(&n), 4);
142 frnetorderstream::writeFloat64 (kfloat64 n) {
143 #ifdef WORDS_BIGENDIAN
146 write (reinterpret_cast<char*>(&n), 8);
150 frnetorderstream::readInt16 (kuint16& n) {
151 read (reinterpret_cast<char*>(&n), 2);
152 #ifdef WORDS_BIGENDIAN
158 frnetorderstream::readInt32 (kuint32& n) {
159 read (reinterpret_cast<char*>(&n), 4);
160 #ifdef WORDS_BIGENDIAN
166 frnetorderstream::readFloat32 (kfloat32& n) {
167 read (reinterpret_cast<char*>(&n), 4);
168 #ifdef WORDS_BIGENDIAN
174 frnetorderstream::readFloat64 (kfloat64& n) {
175 read (reinterpret_cast<char*>(&n), 8);
176 #ifdef WORDS_BIGENDIAN