test/testendian.c
author Sam Lantinga <slouken@libsdl.org>
Tue, 21 Feb 2006 09:11:53 +0000
changeset 1405 983df4f9c1c6
parent 850 c203b4a42701
permissions -rw-r--r--
Added a test case
     1 
     2 /* Test program to check SDL's CPU endian detection and byte swapping routines */
     3 
     4 #include <stdio.h>
     5 
     6 #include "SDL.h"
     7 #include "SDL_endian.h"
     8 
     9 int main(int argc, char *argv[])
    10 {
    11 	Uint16 value16 = 0xCDAB;
    12 	Uint32 value32 = 0xEFBEADDE;
    13 #if defined(__GNUC__) && defined(SDL_HAS_64BIT_TYPE)
    14 	Uint64 value64 = 0xEFBEADDECDAB3412LL;
    15 #endif
    16 
    17 	printf("This system is running %s\n",
    18 #if __AIX__
    19 			"AIX"
    20 #elif __AMIGA__
    21 			"AmigaOS"
    22 #elif __BEOS__
    23 			"BeOS"
    24 #elif __BSDI__
    25 			"BSDI"
    26 #elif __DREAMCAST__
    27 			"Dreamcast"
    28 #elif __FREEBSD__
    29 			"FreeBSD"
    30 #elif __HPUX__
    31 			"HP-UX"
    32 #elif __IRIX__
    33 			"Irix"
    34 #elif __LINUX__
    35 			"Linux"
    36 #elif __MACOS__
    37 			"MacOS Classic"
    38 #elif __MACOSX__
    39 			"MacOS X"
    40 #elif __NETBSD__
    41 			"NetBSD"
    42 #elif __OPENBSD__
    43 			"OpenBSD"
    44 #elif __OS2__
    45 			"OS/2"
    46 #elif __OSF__
    47 			"OSF/1"
    48 #elif __QNXNTO__
    49 			"QNX Neutrino"
    50 #elif __RISCOS__
    51 			"RISC OS"
    52 #elif __SOLARIS__
    53 			"Solaris"
    54 #elif __WIN32__
    55 #ifdef _WIN32_WCE
    56 			"Windows CE"
    57 #else
    58 			"Windows"
    59 #endif
    60 #else
    61 			"an unknown operating system!"
    62 #endif
    63 			);
    64 
    65 	printf("This is a %s endian machine.\n",
    66 		(SDL_BYTEORDER == SDL_LIL_ENDIAN) ? "little" : "big");
    67 	printf("Value 16 = 0x%X, swapped = 0x%X\n", value16, SDL_Swap16(value16));
    68 	printf("Value 32 = 0x%X, swapped = 0x%X\n", value32, SDL_Swap32(value32));
    69 #if defined(__GNUC__) && defined(SDL_HAS_64BIT_TYPE)
    70 	printf("Value 64 = 0x%llX, swapped = 0x%llX\n", value64, SDL_Swap64(value64));
    71 #endif
    72 	return(0);
    73 }