summaryrefslogtreecommitdiff
path: root/src/unaligned.h
blob: a0a8594fbe1a1596c8cedb60e5b709d82ae8aa28 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef UNALIGNED_H
#define UNALIGNED_H

// Anything using these types is not alignment and endian clean.

#if EMSCRIPTEN
#include <emscripten.h>

typedef emscripten_align1_short unaligned_s16;
typedef emscripten_align1_int unaligned_s32;
typedef emscripten_align1_short unaligned_u16;
typedef emscripten_align1_int unaligned_u32;
typedef emscripten_align1_float unaligned_f32;
typedef emscripten_align1_double unaligned_f64;

#else

#include <stdint.h>

typedef int16_t unaligned_s16;
typedef int32_t unaligned_s32;
typedef uint16_t unaligned_u16;
typedef uint32_t unaligned_u32;
typedef float  unaligned_f32;
typedef double unaligned_f64;

#endif

#endif