summaryrefslogtreecommitdiffstats
path: root/qemu/roms/openbios/utils/ofclient/endian.h
diff options
context:
space:
mode:
Diffstat (limited to 'qemu/roms/openbios/utils/ofclient/endian.h')
-rw-r--r--qemu/roms/openbios/utils/ofclient/endian.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/qemu/roms/openbios/utils/ofclient/endian.h b/qemu/roms/openbios/utils/ofclient/endian.h
new file mode 100644
index 000000000..4d20e7171
--- /dev/null
+++ b/qemu/roms/openbios/utils/ofclient/endian.h
@@ -0,0 +1,18 @@
+
+#define __bswap32(x) \
+ ((((x) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >> 8) | \
+ (((x) & 0x0000ff00) << 8) | (((x) & 0x000000ff) << 24))
+
+static int little_endian(void)
+{
+ static short one=1;
+ return *(char *)&one==1;
+}
+
+static unsigned int ntohl(unsigned int netlong)
+{
+ if(little_endian())
+ return __bswap32(netlong);
+
+ return netlong;
+}