annotate include/SDL_byteorder.h @ 1227:3202d727bb4b

From Mike Frysinger and/or Gentoo: - libsdl-PIC-hermes-cpuid.patch rewrites the code in _Hermes_X86_CPU so that it doesnt require the local cpu_flags memory variable, it just uses registers. test case: http://dev.gentoo.org/~vapier/libsdl/hermes-cpuid-test.tar.bz2
author Ryan C. Gordon <icculus@icculus.org>
date Thu, 05 Jan 2006 07:08:59 +0000
parents 173c063d4f55
children c9b51268668f
rev   line source
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
1 /*
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
2 SDL - Simple DirectMedia Layer
769
b8d311d90021 Updated copyright information for 2004 (Happy New Year!)
Sam Lantinga <slouken@libsdl.org>
parents: 530
diff changeset
3 Copyright (C) 1997-2004 Sam Lantinga
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
4
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
5 This library is free software; you can redistribute it and/or
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
6 modify it under the terms of the GNU Library General Public
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
7 License as published by the Free Software Foundation; either
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
8 version 2 of the License, or (at your option) any later version.
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
9
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
10 This library is distributed in the hope that it will be useful,
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
13 Library General Public License for more details.
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
14
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
15 You should have received a copy of the GNU Library General Public
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
16 License along with this library; if not, write to the Free
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
18
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
19 Sam Lantinga
251
b8688cfdc232 Updated the headers with the correct e-mail address
Sam Lantinga <slouken@libsdl.org>
parents: 173
diff changeset
20 slouken@libsdl.org
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
21 */
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
22
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
23 #ifdef SAVE_RCSID
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
24 static char rcsid =
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
25 "@(#) $Id$";
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
26 #endif
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
27
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
28 /* Macros for determining the byte-order of this platform */
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
29
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
30 #ifndef _SDL_byteorder_h
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
31 #define _SDL_byteorder_h
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
32
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
33 /* The two types of endianness */
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
34 #define SDL_LIL_ENDIAN 1234
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
35 #define SDL_BIG_ENDIAN 4321
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
36
1137
0f9d463bf09c Byte order detection fixes in SDL_endian.h ...
Ryan C. Gordon <icculus@icculus.org>
parents: 969
diff changeset
37 #ifdef __linux__
0f9d463bf09c Byte order detection fixes in SDL_endian.h ...
Ryan C. Gordon <icculus@icculus.org>
parents: 969
diff changeset
38 # include <endian.h>
0f9d463bf09c Byte order detection fixes in SDL_endian.h ...
Ryan C. Gordon <icculus@icculus.org>
parents: 969
diff changeset
39 # if BYTE_ORDER == LITTLE_ENDIAN
0f9d463bf09c Byte order detection fixes in SDL_endian.h ...
Ryan C. Gordon <icculus@icculus.org>
parents: 969
diff changeset
40 # define SDL_BYTEORDER SDL_LIL_ENDIAN
0f9d463bf09c Byte order detection fixes in SDL_endian.h ...
Ryan C. Gordon <icculus@icculus.org>
parents: 969
diff changeset
41 # else
0f9d463bf09c Byte order detection fixes in SDL_endian.h ...
Ryan C. Gordon <icculus@icculus.org>
parents: 969
diff changeset
42 # define SDL_BYTEORDER SDL_BIG_ENDIAN
0f9d463bf09c Byte order detection fixes in SDL_endian.h ...
Ryan C. Gordon <icculus@icculus.org>
parents: 969
diff changeset
43 # endif
0f9d463bf09c Byte order detection fixes in SDL_endian.h ...
Ryan C. Gordon <icculus@icculus.org>
parents: 969
diff changeset
44
0f9d463bf09c Byte order detection fixes in SDL_endian.h ...
Ryan C. Gordon <icculus@icculus.org>
parents: 969
diff changeset
45 #else
0f9d463bf09c Byte order detection fixes in SDL_endian.h ...
Ryan C. Gordon <icculus@icculus.org>
parents: 969
diff changeset
46
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
47 /* Pardon the mess, I'm trying to determine the endianness of this host.
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
48 I'm doing it by preprocessor defines rather than some sort of configure
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
49 script so that application code can use this too. The "right" way would
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
50 be to dynamically generate this file on install, but that's a lot of work.
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
51 */
969
cfb9518670f4 Date: Wed, 13 Oct 2004 17:00:58 -0500
Sam Lantinga <slouken@libsdl.org>
parents: 769
diff changeset
52 #if (defined(__i386__) || defined(__i386)) || \
cfb9518670f4 Date: Wed, 13 Oct 2004 17:00:58 -0500
Sam Lantinga <slouken@libsdl.org>
parents: 769
diff changeset
53 defined(__ia64__) || defined(WIN32) || \
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
54 (defined(__alpha__) || defined(__alpha)) || \
1137
0f9d463bf09c Byte order detection fixes in SDL_endian.h ...
Ryan C. Gordon <icculus@icculus.org>
parents: 969
diff changeset
55 (defined(__arm__) || defined(__thumb__)) || \
0f9d463bf09c Byte order detection fixes in SDL_endian.h ...
Ryan C. Gordon <icculus@icculus.org>
parents: 969
diff changeset
56 (defined(__sh__) || defined(__sh64__)) || \
1
cf2af46e9e2a Changes since SDL 1.2.0 release
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
57 (defined(__mips__) && defined(__MIPSEL__)) || \
1190
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents: 1137
diff changeset
58 defined(__SYMBIAN32__) || defined(__x86_64__) || \
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents: 1137
diff changeset
59 defined(__OS2__) || defined(__LITTLE_ENDIAN__)
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
60 #define SDL_BYTEORDER SDL_LIL_ENDIAN
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
61 #else
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
62 #define SDL_BYTEORDER SDL_BIG_ENDIAN
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
63 #endif
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
64
1137
0f9d463bf09c Byte order detection fixes in SDL_endian.h ...
Ryan C. Gordon <icculus@icculus.org>
parents: 969
diff changeset
65 #endif /* __linux__ */
0f9d463bf09c Byte order detection fixes in SDL_endian.h ...
Ryan C. Gordon <icculus@icculus.org>
parents: 969
diff changeset
66
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
67 #endif /* _SDL_byteorder_h */