mirror of
https://github.com/vanhoefm/fragattacks.git
synced 2024-12-11 00:28:19 -05:00
20 lines
505 B
C
20 lines
505 B
C
|
#include <stddef.h>
|
||
|
#include <errno.h>
|
||
|
#ifndef _BSD_SOURCE
|
||
|
#define _BSD_SOURCE
|
||
|
#endif
|
||
|
#include <endian.h>
|
||
|
|
||
|
#define le16_to_cpu le16toh
|
||
|
#define le32_to_cpu le32toh
|
||
|
#define get_unaligned(p) \
|
||
|
({ \
|
||
|
struct packed_dummy_struct { \
|
||
|
typeof(*(p)) __val; \
|
||
|
} __attribute__((packed)) *__ptr = (void *) (p); \
|
||
|
\
|
||
|
__ptr->__val; \
|
||
|
})
|
||
|
#define get_unaligned_le16(p) le16_to_cpu(get_unaligned((uint16_t *)(p)))
|
||
|
#define get_unaligned_le32(p) le32_to_cpu(get_unaligned((uint32_t *)(p)))
|