RetroArch
Main Page
Related Pages
Modules
+
Namespaces
Namespace List
+
Namespace Members
+
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
+
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
z
+
Variables
a
b
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
+
Typedefs
a
b
c
d
e
f
g
i
l
m
o
p
q
r
s
t
u
v
x
+
Enumerations
a
b
c
d
e
f
g
i
k
l
m
o
p
q
r
s
t
v
+
Enumerator
a
b
c
d
e
f
g
i
k
l
m
o
p
r
s
t
u
x
+
Classes
Class List
Class Index
Class Hierarchy
+
Class Members
+
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
+
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
~
+
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Typedefs
a
b
c
d
e
f
g
h
i
m
n
o
p
r
s
t
u
v
Enumerations
+
Enumerator
a
b
c
d
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
+
Properties
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
Related Functions
+
Files
File List
+
File Members
+
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Á
á
é
Ά
Ή
Α
Δ
Ε
Κ
Ο
Π
Σ
Ω
α
ε
θ
π
В
И
К
О
П
У
а
в
д
з
и
к
о
п
с
ф
ч
я
オ
キ
ス
チ
デ
レ
上
下
中
右
启
啟
回
実
屏
左
已
巻
支
显
次
聲
过
鍵
需
顯
게
구
너
넷
도
동
되
레
리
버
변
비
사
성
쉐
시
실
애
연
오
이
입
잘
조
죄
중
지
참
코
키
필
화
+
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Á
á
Ά
Ή
Α
Ε
Κ
Ο
К
П
а
д
з
к
オ
ス
デ
レ
上
下
中
右
启
啟
回
屏
左
巻
支
显
次
聲
顯
너
넷
동
레
버
비
시
잘
중
지
+
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
é
Δ
Ε
Κ
Π
Σ
Ω
α
ε
θ
π
В
И
К
О
У
в
д
з
и
к
о
п
с
ф
ч
я
キ
チ
実
已
过
鍵
需
게
구
도
되
리
변
사
성
쉐
시
실
애
연
오
이
입
조
죄
참
코
키
필
화
+
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Enumerations
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
+
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
+
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
deps
libFLAC
include
share
endswap.h
Go to the documentation of this file.
1
/* libFLAC - Free Lossless Audio Codec library
2
* Copyright (C) 2012-2016 Xiph.org Foundation
3
*
4
* Redistribution and use in source and binary forms, with or without
5
* modification, are permitted provided that the following conditions
6
* are met:
7
*
8
* - Redistributions of source code must retain the above copyright
9
* notice, this list of conditions and the following disclaimer.
10
*
11
* - Redistributions in binary form must reproduce the above copyright
12
* notice, this list of conditions and the following disclaimer in the
13
* documentation and/or other materials provided with the distribution.
14
*
15
* - Neither the name of the Xiph.org Foundation nor the names of its
16
* contributors may be used to endorse or promote products derived from
17
* this software without specific prior written permission.
18
*
19
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
23
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
24
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
25
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
26
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
27
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
28
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
29
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
*/
31
32
/* It is assumed that this header will be included after "config.h". */
33
34
#if HAVE_BSWAP32
/* GCC and Clang */
35
36
/* GCC prior to 4.8 didn't provide bswap16 on x86_64 */
37
#if ! HAVE_BSWAP16
38
static
inline
unsigned
short
__builtin_bswap16(
unsigned
short
a
)
39
{
40
return
(
a
<<8)|(
a
>>8);
41
}
42
#endif
43
44
#define ENDSWAP_16(x) (__builtin_bswap16 (x))
45
#define ENDSWAP_32(x) (__builtin_bswap32 (x))
46
#define ENDSWAP_64(x) (__builtin_bswap64 (x))
47
48
#elif defined _MSC_VER
/* Windows */
49
50
#include <stdlib.h>
51
52
#define ENDSWAP_16(x) (_byteswap_ushort (x))
53
#define ENDSWAP_32(x) (_byteswap_ulong (x))
54
#define ENDSWAP_64(x) (_byteswap_uint64 (x))
55
56
#elif defined HAVE_BYTESWAP_H
/* Linux */
57
58
#include <byteswap.h>
59
60
#define ENDSWAP_16(x) (bswap_16 (x))
61
#define ENDSWAP_32(x) (bswap_32 (x))
62
#define ENDSWAP_64(x) (bswap_64 (x))
63
64
#else
65
66
#define ENDSWAP_16(x) ((((x) >> 8) & 0xFF) | (((x) & 0xFF) << 8))
67
#define ENDSWAP_32(x) ((((x) >> 24) & 0xFF) | (((x) >> 8) & 0xFF00) | (((x) & 0xFF00) << 8) | (((x) & 0xFF) << 24))
68
#define ENDSWAP_64(x) ((ENDSWAP_32(((x) >> 32) & 0xFFFFFFFF)) | (ENDSWAP_32((x) & 0xFFFFFFFF) << 32))
69
70
#endif
71
72
73
/* Host to little-endian byte swapping (for MD5 calculation) */
74
#if CPU_IS_BIG_ENDIAN
75
76
#define H2LE_16(x) ENDSWAP_16 (x)
77
#define H2LE_32(x) ENDSWAP_32 (x)
78
79
#else
80
81
#define H2LE_16(x) (x)
82
#define H2LE_32(x) (x)
83
84
#endif
a
GLboolean GLboolean GLboolean GLboolean a
Definition:
glext.h:6844
Generated by
1.8.15