libosmogsm
1.5.1.205-e67e
Osmocom GSM library
Main Page
Modules
Data Structures
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Modules
Pages
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
s16
int16_t s16
Definition:
common.h:30
u32
uint32_t u32
Definition:
common.h:25
s32
int32_t s32
Definition:
common.h:29
u8
uint8_t u8
Definition:
common.h:27
u16
uint16_t u16
Definition:
common.h:26
u64
uint64_t u64
Definition:
common.h:24
s8
int8_t s8
Definition:
common.h:31
s64
int64_t s64
Definition:
common.h:28
src
gsm
kdf
common.h
Generated by
1.8.8