misc/winutils/include/SDL_endian.h
author Wuzzy <Wuzzy2@mail.ru>
Mon, 12 Mar 2018 02:09:21 +0100
changeset 13169 6869d27a2f3f
parent 10017 de822cd3df3a
permissions -rw-r--r--
ACF7: Add one pick hammer in crate Players often reported to screw up with the pick hammer, which is quite annoying. With one pick hammer more, this mission should be slightly less annoying.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
6560
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
     1
/*
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
     2
    SDL - Simple DirectMedia Layer
7809
7d4fb2f35f4f update SDL headers for winutils
koda
parents: 6560
diff changeset
     3
    Copyright (C) 1997-2012 Sam Lantinga
6560
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
     4
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
     5
    This library is free software; you can redistribute it and/or
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
     6
    modify it under the terms of the GNU Lesser General Public
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
     7
    License as published by the Free Software Foundation; either
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
     8
    version 2.1 of the License, or (at your option) any later version.
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
     9
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    10
    This library is distributed in the hope that it will be useful,
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    11
    but WITHOUT ANY WARRANTY; without even the implied warranty of
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    12
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    13
    Lesser General Public License for more details.
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    14
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    15
    You should have received a copy of the GNU Lesser General Public
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    16
    License along with this library; if not, write to the Free Software
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    17
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    18
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    19
    Sam Lantinga
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    20
    slouken@libsdl.org
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    21
*/
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    22
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    23
/**
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    24
 *  @file SDL_endian.h
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    25
 *  Functions for reading and writing endian-specific values
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    26
 */
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    27
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    28
#ifndef _SDL_endian_h
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    29
#define _SDL_endian_h
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    30
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    31
#include "SDL_stdinc.h"
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    32
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    33
/** @name SDL_ENDIANs
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
    34
 *  The two types of endianness
6560
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    35
 */
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    36
/*@{*/
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
    37
#define SDL_LIL_ENDIAN  1234
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
    38
#define SDL_BIG_ENDIAN  4321
6560
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    39
/*@}*/
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    40
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
    41
#ifndef SDL_BYTEORDER   /* Not defined in SDL_config.h? */
7809
7d4fb2f35f4f update SDL headers for winutils
koda
parents: 6560
diff changeset
    42
#ifdef __linux__
7d4fb2f35f4f update SDL headers for winutils
koda
parents: 6560
diff changeset
    43
#include <endian.h>
7d4fb2f35f4f update SDL headers for winutils
koda
parents: 6560
diff changeset
    44
#define SDL_BYTEORDER  __BYTE_ORDER
7d4fb2f35f4f update SDL headers for winutils
koda
parents: 6560
diff changeset
    45
#else /* __linux __ */
6560
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    46
#if defined(__hppa__) || \
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    47
    defined(__m68k__) || defined(mc68000) || defined(_M_M68K) || \
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    48
    (defined(__MIPS__) && defined(__MISPEB__)) || \
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    49
    defined(__ppc__) || defined(__POWERPC__) || defined(_M_PPC) || \
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    50
    defined(__sparc__)
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
    51
#define SDL_BYTEORDER   SDL_BIG_ENDIAN
6560
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    52
#else
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
    53
#define SDL_BYTEORDER   SDL_LIL_ENDIAN
6560
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    54
#endif
7809
7d4fb2f35f4f update SDL headers for winutils
koda
parents: 6560
diff changeset
    55
#endif /* __linux __ */
6560
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    56
#endif /* !SDL_BYTEORDER */
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    57
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    58
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    59
#include "begin_code.h"
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    60
/* Set up for C function definitions, even when using C++ */
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    61
#ifdef __cplusplus
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    62
extern "C" {
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    63
#endif
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    64
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    65
/**
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    66
 *  @name SDL_Swap Functions
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    67
 *  Use inline functions for compilers that support them, and static
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    68
 *  functions for those that do not.  Because these functions become
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    69
 *  static for compilers that do not support inline functions, this
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    70
 *  header should only be included in files that actually use them.
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    71
 */
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    72
/*@{*/
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    73
#if defined(__GNUC__) && defined(__i386__) && \
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    74
   !(__GNUC__ == 2 && __GNUC_MINOR__ <= 95 /* broken gcc version */)
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    75
static __inline__ Uint16 SDL_Swap16(Uint16 x)
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    76
{
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
    77
    __asm__("xchgb %b0,%h0" : "=q" (x) :  "0" (x));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
    78
    return x;
6560
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    79
}
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    80
#elif defined(__GNUC__) && defined(__x86_64__)
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    81
static __inline__ Uint16 SDL_Swap16(Uint16 x)
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    82
{
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
    83
    __asm__("xchgb %b0,%h0" : "=Q" (x) :  "0" (x));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
    84
    return x;
6560
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    85
}
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    86
#elif defined(__GNUC__) && (defined(__powerpc__) || defined(__ppc__))
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    87
static __inline__ Uint16 SDL_Swap16(Uint16 x)
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    88
{
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
    89
    Uint16 result;
6560
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    90
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
    91
    __asm__("rlwimi %0,%2,8,16,23" : "=&r" (result) : "0" (x >> 8), "r" (x));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
    92
    return result;
6560
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    93
}
7809
7d4fb2f35f4f update SDL headers for winutils
koda
parents: 6560
diff changeset
    94
#elif defined(__GNUC__) && (defined(__m68k__) && !defined(__mcoldfire__))
6560
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    95
static __inline__ Uint16 SDL_Swap16(Uint16 x)
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    96
{
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
    97
    __asm__("rorw #8,%0" : "=d" (x) :  "0" (x) : "cc");
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
    98
    return x;
6560
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
    99
}
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   100
#else
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   101
static __inline__ Uint16 SDL_Swap16(Uint16 x) {
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   102
    return SDL_static_cast(Uint16, ((x<<8)|(x>>8)));
6560
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   103
}
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   104
#endif
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   105
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   106
#if defined(__GNUC__) && defined(__i386__) && \
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   107
   !(__GNUC__ == 2 && __GNUC_MINOR__ <= 95 /* broken gcc version */)
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   108
static __inline__ Uint32 SDL_Swap32(Uint32 x)
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   109
{
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   110
    __asm__("bswap %0" : "=r" (x) : "0" (x));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   111
    return x;
6560
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   112
}
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   113
#elif defined(__GNUC__) && defined(__x86_64__)
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   114
static __inline__ Uint32 SDL_Swap32(Uint32 x)
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   115
{
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   116
    __asm__("bswapl %0" : "=r" (x) : "0" (x));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   117
    return x;
6560
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   118
}
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   119
#elif defined(__GNUC__) && (defined(__powerpc__) || defined(__ppc__))
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   120
static __inline__ Uint32 SDL_Swap32(Uint32 x)
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   121
{
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   122
    Uint32 result;
6560
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   123
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   124
    __asm__("rlwimi %0,%2,24,16,23" : "=&r" (result) : "0" (x>>24), "r" (x));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   125
    __asm__("rlwimi %0,%2,8,8,15"   : "=&r" (result) : "0" (result),    "r" (x));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   126
    __asm__("rlwimi %0,%2,24,0,7"   : "=&r" (result) : "0" (result),    "r" (x));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   127
    return result;
6560
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   128
}
7809
7d4fb2f35f4f update SDL headers for winutils
koda
parents: 6560
diff changeset
   129
#elif defined(__GNUC__) && (defined(__m68k__) && !defined(__mcoldfire__))
6560
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   130
static __inline__ Uint32 SDL_Swap32(Uint32 x)
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   131
{
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   132
    __asm__("rorw #8,%0\n\tswap %0\n\trorw #8,%0" : "=d" (x) :  "0" (x) : "cc");
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   133
    return x;
6560
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   134
}
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   135
#else
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   136
static __inline__ Uint32 SDL_Swap32(Uint32 x) {
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   137
    return SDL_static_cast(Uint32, ((x<<24)|((x<<8)&0x00FF0000)|((x>>8)&0x0000FF00)|(x>>24)));
6560
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   138
}
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   139
#endif
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   140
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   141
#ifdef SDL_HAS_64BIT_TYPE
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   142
#if defined(__GNUC__) && defined(__i386__) && \
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   143
   !(__GNUC__ == 2 && __GNUC_MINOR__ <= 95 /* broken gcc version */)
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   144
static __inline__ Uint64 SDL_Swap64(Uint64 x)
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   145
{
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   146
    union {
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   147
        struct { Uint32 a,b; } s;
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   148
        Uint64 u;
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   149
    } v;
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   150
    v.u = x;
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   151
    __asm__("bswapl %0 ; bswapl %1 ; xchgl %0,%1"
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   152
            : "=r" (v.s.a), "=r" (v.s.b)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   153
            : "0" (v.s.a), "1" (v.s.b));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   154
    return v.u;
6560
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   155
}
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   156
#elif defined(__GNUC__) && defined(__x86_64__)
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   157
static __inline__ Uint64 SDL_Swap64(Uint64 x)
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   158
{
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   159
    __asm__("bswapq %0" : "=r" (x) : "0" (x));
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   160
    return x;
6560
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   161
}
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   162
#else
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   163
static __inline__ Uint64 SDL_Swap64(Uint64 x)
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   164
{
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   165
    Uint32 hi, lo;
6560
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   166
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   167
    /* Separate into high and low 32-bit values and swap them */
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   168
    lo = SDL_static_cast(Uint32, x & 0xFFFFFFFF);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   169
    x >>= 32;
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   170
    hi = SDL_static_cast(Uint32, x & 0xFFFFFFFF);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   171
    x = SDL_Swap32(lo);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   172
    x <<= 32;
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   173
    x |= SDL_Swap32(hi);
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   174
    return (x);
6560
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   175
}
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   176
#endif
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   177
#else
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   178
/* This is mainly to keep compilers from complaining in SDL code.
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   179
 * If there is no real 64-bit datatype, then compilers will complain about
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   180
 * the fake 64-bit datatype that SDL provides when it compiles user code.
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   181
 */
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   182
#define SDL_Swap64(X)   (X)
6560
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   183
#endif /* SDL_HAS_64BIT_TYPE */
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   184
/*@}*/
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   185
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   186
/**
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   187
 *  @name SDL_SwapLE and SDL_SwapBE Functions
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   188
 *  Byteswap item from the specified endianness to the native endianness
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   189
 */
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   190
/*@{*/
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   191
#if SDL_BYTEORDER == SDL_LIL_ENDIAN
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   192
#define SDL_SwapLE16(X) (X)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   193
#define SDL_SwapLE32(X) (X)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   194
#define SDL_SwapLE64(X) (X)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   195
#define SDL_SwapBE16(X) SDL_Swap16(X)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   196
#define SDL_SwapBE32(X) SDL_Swap32(X)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   197
#define SDL_SwapBE64(X) SDL_Swap64(X)
6560
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   198
#else
10017
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   199
#define SDL_SwapLE16(X) SDL_Swap16(X)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   200
#define SDL_SwapLE32(X) SDL_Swap32(X)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   201
#define SDL_SwapLE64(X) SDL_Swap64(X)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   202
#define SDL_SwapBE16(X) (X)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   203
#define SDL_SwapBE32(X) (X)
de822cd3df3a fixwhitespace and dos2unix
koda
parents: 7809
diff changeset
   204
#define SDL_SwapBE64(X) (X)
6560
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   205
#endif
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   206
/*@}*/
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   207
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   208
/* Ends C function definitions when using C++ */
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   209
#ifdef __cplusplus
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   210
}
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   211
#endif
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   212
#include "close_code.h"
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   213
ca07e6be08d0 GCI task: cmd.exe
bovi
parents:
diff changeset
   214
#endif /* _SDL_endian_h */