blob: 69feae3c713249c317988ea603628c3c472ab454 (
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
#ifndef TYPES_H
#define TYPES_H
#ifdef CXX_SIMULATOR
#include <stdint.h>
#include <stdbool.h>
#elif defined(__arm__) || defined(__mips__)
typedef signed char int8_t;
typedef unsigned char uint8_t;
typedef signed short int16_t;
typedef unsigned short uint16_t;
typedef signed int int32_t;
typedef unsigned int uint32_t;
typedef long long unsigned int uint64_t;
typedef long long signed int int64_t;
typedef _Bool bool;
typedef uint32_t size_t;
#define true (1)
#define false (0)
#else
#error Unknown target architechture
#endif
#define SECTION(__section__) __attribute__((section, __section__))
#define ARRAY_ELEMENTS(__array__) (sizeof(__array__) / sizeof(__array__[0]))
#define DIVIDE_RND_UP(__value__, __round__) (((__value__) + (__round__)-1) / (__round__))
#define DIVIDE_RND_DOWN(__value__, __round__) ((__value__) / (__round__))
#define MIN(__x__, __y__) ((__x__) < (__y__)) ? (__x__) : (__y__)
#define MAX(__x__, __y__) ((__x__) > (__y__)) ? (__x__) : (__y__)
typedef union {
uint64_t u64;
struct
{
uint8_t pad[2];
uint8_t u8[6];
} oct;
struct
{
uint32_t u32[2];
} word;
} mac_t;
#endif /* !TYPES_H */
|