X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=libctsupport%2Ffnetorderstream.cpp;h=2a7191973698a56fcc46f2fbd12c59ff9c63b9d6;hp=ffa26f0a6a5b6f7363a9dc267b9521340500d171;hb=HEAD;hpb=baba40afccf75bd75d612980fee023ff22c40952 diff --git a/libctsupport/fnetorderstream.cpp b/libctsupport/fnetorderstream.cpp index ffa26f0..2a71919 100644 --- a/libctsupport/fnetorderstream.cpp +++ b/libctsupport/fnetorderstream.cpp @@ -1,3 +1,21 @@ +/***************************************************************************** +** This is part of the CTSim program +** Copyright (c) 1983-2009 Kevin Rosenberg +** +** This program is free software; you can redistribute it and/or modify +** it under the terms of the GNU General Public License (version 2) as +** published by the Free Software Foundation. +** +** This program is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +** GNU General Public License for more details. +** +** You should have received a copy of the GNU General Public License +** along with this program; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ + #if HAVE_CONFIG_H #include "config.h" #endif @@ -10,45 +28,45 @@ #include "fnetorderstream.h" -void +void ConvertNetworkOrder (void* buffer, size_t bytes) { #ifndef WORDS_BIGENDIAN if (bytes < 2) - return; + return; char* start = static_cast(buffer); char* end = start + bytes - 1; // last byte size_t nSwap = bytes / 2; - + while (nSwap-- > 0) { - unsigned char c = *start; - *start++ = *end; - *end-- = c; + unsigned char c = *start; + *start++ = *end; + *end-- = c; } -#endif +#endif } -void +void ConvertReverseNetworkOrder (void* buffer, size_t bytes) { #ifdef WORDS_BIGENDIAN if (bytes < 2) - return; + return; char* start = static_cast(buffer); - char* end = start + bytes - 1; // last byte + char* end = start + bytes - 1; // last byte size_t nSwap = bytes / 2; - + while (nSwap-- > 0) { - unsigned char c = *start; - *start++ = *end; - *end-- = c; + unsigned char c = *start; + *start++ = *end; + *end-- = c; } -#endif +#endif } -void +void fnetorderstream::writeInt16 (kuint16 n) { #ifndef WORDS_BIGENDIAN SwapBytes2 (&n); @@ -56,7 +74,7 @@ fnetorderstream::writeInt16 (kuint16 n) { write (reinterpret_cast(&n), 2); } -void +void fnetorderstream::writeInt32 (kuint32 n) { #ifndef WORDS_BIGENDIAN SwapBytes4(&n); @@ -64,7 +82,7 @@ fnetorderstream::writeInt32 (kuint32 n) { write (reinterpret_cast(&n), 4); } -void +void fnetorderstream::writeFloat32 (kfloat32 n) { #ifndef WORDS_BIGENDIAN SwapBytes4 (&n); @@ -72,7 +90,7 @@ fnetorderstream::writeFloat32 (kfloat32 n) { write (reinterpret_cast(&n), 4); } -void +void fnetorderstream::writeFloat64 (kfloat64 n) { #ifndef WORDS_BIGENDIAN SwapBytes8 (&n); @@ -80,7 +98,7 @@ fnetorderstream::writeFloat64 (kfloat64 n) { write (reinterpret_cast(&n), 8); } -void +void fnetorderstream::readInt16 (kuint16& n) { read (reinterpret_cast(&n), 2); #ifndef WORDS_BIGENDIAN @@ -88,7 +106,7 @@ fnetorderstream::readInt16 (kuint16& n) { #endif } -void +void fnetorderstream::readInt32 (kuint32& n) { read (reinterpret_cast(&n), 4); #ifndef WORDS_BIGENDIAN @@ -96,7 +114,7 @@ fnetorderstream::readInt32 (kuint32& n) { #endif } -void +void fnetorderstream::readFloat32 (kfloat32& n) { read (reinterpret_cast(&n), 4); #ifndef WORDS_BIGENDIAN @@ -104,7 +122,7 @@ fnetorderstream::readFloat32 (kfloat32& n) { #endif } -void +void fnetorderstream::readFloat64 (kfloat64& n) { read (reinterpret_cast(&n), 8); #ifndef WORDS_BIGENDIAN @@ -114,7 +132,7 @@ fnetorderstream::readFloat64 (kfloat64& n) { -void +void frnetorderstream::writeInt16 (kuint16 n) { #ifdef WORDS_BIGENDIAN SwapBytes2 (&n); @@ -122,7 +140,7 @@ frnetorderstream::writeInt16 (kuint16 n) { write (reinterpret_cast(&n), 2); } -void +void frnetorderstream::writeInt32 (kuint32 n) { #ifdef WORDS_BIGENDIAN SwapBytes4(&n); @@ -130,7 +148,7 @@ frnetorderstream::writeInt32 (kuint32 n) { write (reinterpret_cast(&n), 4); } -void +void frnetorderstream::writeFloat32 (kfloat32 n) { #ifdef WORDS_BIGENDIAN SwapBytes4 (&n); @@ -138,7 +156,7 @@ frnetorderstream::writeFloat32 (kfloat32 n) { write (reinterpret_cast(&n), 4); } -void +void frnetorderstream::writeFloat64 (kfloat64 n) { #ifdef WORDS_BIGENDIAN SwapBytes8 (&n); @@ -146,7 +164,7 @@ frnetorderstream::writeFloat64 (kfloat64 n) { write (reinterpret_cast(&n), 8); } -void +void frnetorderstream::readInt16 (kuint16& n) { read (reinterpret_cast(&n), 2); #ifdef WORDS_BIGENDIAN @@ -154,7 +172,7 @@ frnetorderstream::readInt16 (kuint16& n) { #endif } -void +void frnetorderstream::readInt32 (kuint32& n) { read (reinterpret_cast(&n), 4); #ifdef WORDS_BIGENDIAN @@ -162,7 +180,7 @@ frnetorderstream::readInt32 (kuint32& n) { #endif } -void +void frnetorderstream::readFloat32 (kfloat32& n) { read (reinterpret_cast(&n), 4); #ifdef WORDS_BIGENDIAN @@ -170,7 +188,7 @@ frnetorderstream::readFloat32 (kfloat32& n) { #endif } -void +void frnetorderstream::readFloat64 (kfloat64& n) { read (reinterpret_cast(&n), 8); #ifdef WORDS_BIGENDIAN