libosmogsm 1.9.0.196-9975
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
24typedef uint64_t u64;
25typedef uint32_t u32;
26typedef uint16_t u16;
27typedef uint8_t u8;
28typedef int64_t s64;
29typedef int32_t s32;
30typedef int16_t s16;
31typedef 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
int64_t s64
Definition: common.h:28
uint64_t u64
Definition: common.h:24
uint8_t u8
Definition: common.h:27
int8_t s8
Definition: common.h:31
int16_t s16
Definition: common.h:30
uint16_t u16
Definition: common.h:26
int32_t s32
Definition: common.h:29
uint32_t u32
Definition: common.h:25