byteswap.hh (6214:1ec0ec8933ae) | byteswap.hh (8561:26593b179f01) |
---|---|
1/* 2 * Copyright (c) 2004 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 153 unchanged lines hidden (view full) --- 162template <typename T> inline T htobe(T value) {return swap_byte(value);} 163template <typename T> inline T betoh(T value) {return swap_byte(value);} 164#else 165 #error Invalid Endianess 166#endif 167 168namespace BigEndianGuest 169{ | 1/* 2 * Copyright (c) 2004 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 153 unchanged lines hidden (view full) --- 162template <typename T> inline T htobe(T value) {return swap_byte(value);} 163template <typename T> inline T betoh(T value) {return swap_byte(value);} 164#else 165 #error Invalid Endianess 166#endif 167 168namespace BigEndianGuest 169{ |
170 const bool ByteOrderDiffers = (HostByteOrder != BigEndianByteOrder); | 170 const ByteOrder GuestByteOrder = BigEndianByteOrder; |
171 template <typename T> 172 inline T gtole(T value) {return betole(value);} 173 template <typename T> 174 inline T letog(T value) {return letobe(value);} 175 template <typename T> 176 inline T gtobe(T value) {return value;} 177 template <typename T> 178 inline T betog(T value) {return value;} 179 template <typename T> 180 inline T htog(T value) {return htobe(value);} 181 template <typename T> 182 inline T gtoh(T value) {return betoh(value);} 183} 184 185namespace LittleEndianGuest 186{ | 171 template <typename T> 172 inline T gtole(T value) {return betole(value);} 173 template <typename T> 174 inline T letog(T value) {return letobe(value);} 175 template <typename T> 176 inline T gtobe(T value) {return value;} 177 template <typename T> 178 inline T betog(T value) {return value;} 179 template <typename T> 180 inline T htog(T value) {return htobe(value);} 181 template <typename T> 182 inline T gtoh(T value) {return betoh(value);} 183} 184 185namespace LittleEndianGuest 186{ |
187 const bool ByteOrderDiffers = (HostByteOrder != LittleEndianByteOrder); | 187 const ByteOrder GuestByteOrder = LittleEndianByteOrder; |
188 template <typename T> 189 inline T gtole(T value) {return value;} 190 template <typename T> 191 inline T letog(T value) {return value;} 192 template <typename T> 193 inline T gtobe(T value) {return letobe(value);} 194 template <typename T> 195 inline T betog(T value) {return betole(value);} 196 template <typename T> 197 inline T htog(T value) {return htole(value);} 198 template <typename T> 199 inline T gtoh(T value) {return letoh(value);} 200} 201#endif // __SIM_BYTE_SWAP_HH__ | 188 template <typename T> 189 inline T gtole(T value) {return value;} 190 template <typename T> 191 inline T letog(T value) {return value;} 192 template <typename T> 193 inline T gtobe(T value) {return letobe(value);} 194 template <typename T> 195 inline T betog(T value) {return betole(value);} 196 template <typename T> 197 inline T htog(T value) {return htole(value);} 198 template <typename T> 199 inline T gtoh(T value) {return letoh(value);} 200} 201#endif // __SIM_BYTE_SWAP_HH__ |