libosmogsm
1.10.0.10-24ad1
Osmocom GSM library
common.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <stdint.h>
4
#include <stdlib.h>
5
#include <string.h>
6
7
#define CONFIG_CRYPTO_INTERNAL
8
#define TEST_FAIL() 0
9
10
#define MSG_DEBUG
11
#define wpa_hexdump(x, args...)
12
#define wpa_hexdump_key(x, args...)
13
#define wpa_printf(x, args...)
14
15
#define os_memcpy(x, y, z) memcpy(x, y, z)
16
#define os_memcmp(x, y, z) memcmp(x, y, z)
17
#define os_memset(x, y, z) memset(x, y, z)
18
#define os_malloc(x) malloc(x)
19
#define os_free(x) free(x)
20
#define os_strlen(x) strlen(x)
21
22
#define forced_memzero(ptr, len) memset(ptr, 0, len);
23
24
typedef
uint64_t
u64
;
25
typedef
uint32_t
u32
;
26
typedef
uint16_t
u16
;
27
typedef
uint8_t
u8
;
28
typedef
int64_t
s64
;
29
typedef
int32_t
s32
;
30
typedef
int16_t
s16
;
31
typedef
int8_t
s8
;
32
33
34
/* Macros for handling unaligned memory accesses */
35
36
#define WPA_GET_BE16(a) ((u16) (((a)[0] << 8) | (a)[1]))
37
#define WPA_PUT_BE16(a, val) \
38
do { \
39
(a)[0] = ((u16) (val)) >> 8; \
40
(a)[1] = ((u16) (val)) & 0xff; \
41
} while (0)
42
43
#define WPA_GET_LE16(a) ((u16) (((a)[1] << 8) | (a)[0]))
44
#define WPA_PUT_LE16(a, val) \
45
do { \
46
(a)[1] = ((u16) (val)) >> 8; \
47
(a)[0] = ((u16) (val)) & 0xff; \
48
} while (0)
49
50
#define WPA_GET_BE24(a) ((((u32) (a)[0]) << 16) | (((u32) (a)[1]) << 8) | \
51
((u32) (a)[2]))
52
#define WPA_PUT_BE24(a, val) \
53
do { \
54
(a)[0] = (u8) ((((u32) (val)) >> 16) & 0xff); \
55
(a)[1] = (u8) ((((u32) (val)) >> 8) & 0xff); \
56
(a)[2] = (u8) (((u32) (val)) & 0xff); \
57
} while (0)
58
59
#define WPA_GET_BE32(a) ((((u32) (a)[0]) << 24) | (((u32) (a)[1]) << 16) | \
60
(((u32) (a)[2]) << 8) | ((u32) (a)[3]))
61
#define WPA_PUT_BE32(a, val) \
62
do { \
63
(a)[0] = (u8) ((((u32) (val)) >> 24) & 0xff); \
64
(a)[1] = (u8) ((((u32) (val)) >> 16) & 0xff); \
65
(a)[2] = (u8) ((((u32) (val)) >> 8) & 0xff); \
66
(a)[3] = (u8) (((u32) (val)) & 0xff); \
67
} while (0)
68
69
#define WPA_GET_LE32(a) ((((u32) (a)[3]) << 24) | (((u32) (a)[2]) << 16) | \
70
(((u32) (a)[1]) << 8) | ((u32) (a)[0]))
71
#define WPA_PUT_LE32(a, val) \
72
do { \
73
(a)[3] = (u8) ((((u32) (val)) >> 24) & 0xff); \
74
(a)[2] = (u8) ((((u32) (val)) >> 16) & 0xff); \
75
(a)[1] = (u8) ((((u32) (val)) >> 8) & 0xff); \
76
(a)[0] = (u8) (((u32) (val)) & 0xff); \
77
} while (0)
78
79
#define WPA_GET_BE64(a) ((((u64) (a)[0]) << 56) | (((u64) (a)[1]) << 48) | \
80
(((u64) (a)[2]) << 40) | (((u64) (a)[3]) << 32) | \
81
(((u64) (a)[4]) << 24) | (((u64) (a)[5]) << 16) | \
82
(((u64) (a)[6]) << 8) | ((u64) (a)[7]))
83
#define WPA_PUT_BE64(a, val) \
84
do { \
85
(a)[0] = (u8) (((u64) (val)) >> 56); \
86
(a)[1] = (u8) (((u64) (val)) >> 48); \
87
(a)[2] = (u8) (((u64) (val)) >> 40); \
88
(a)[3] = (u8) (((u64) (val)) >> 32); \
89
(a)[4] = (u8) (((u64) (val)) >> 24); \
90
(a)[5] = (u8) (((u64) (val)) >> 16); \
91
(a)[6] = (u8) (((u64) (val)) >> 8); \
92
(a)[7] = (u8) (((u64) (val)) & 0xff); \
93
} while (0)
94
95
#define WPA_GET_LE64(a) ((((u64) (a)[7]) << 56) | (((u64) (a)[6]) << 48) | \
96
(((u64) (a)[5]) << 40) | (((u64) (a)[4]) << 32) | \
97
(((u64) (a)[3]) << 24) | (((u64) (a)[2]) << 16) | \
98
(((u64) (a)[1]) << 8) | ((u64) (a)[0]))
99
100
101
#define __must_check
s64
int64_t s64
Definition:
common.h:28
u64
uint64_t u64
Definition:
common.h:24
u8
uint8_t u8
Definition:
common.h:27
s8
int8_t s8
Definition:
common.h:31
s16
int16_t s16
Definition:
common.h:30
u16
uint16_t u16
Definition:
common.h:26
s32
int32_t s32
Definition:
common.h:29
u32
uint32_t u32
Definition:
common.h:25
src
gsm
kdf
common.h
Generated by
1.9.4