macros for bits manipulations
More...
#include "mhd_byteorder.h"
#include <stdint.h>
Go to the source code of this file.
macros for bits manipulations
- Author
- Karlson2k (Evgeny Grin)
Definition in file mhd_bithelpers.h.
◆ __has_builtin
#define __has_builtin |
( |
|
x | ) |
0 |
◆ _MHD_BYTES_SWAP32
#define _MHD_BYTES_SWAP32 |
( |
|
value32 | ) |
|
Value:( (((uint32_t)(value32)) << 24) | \
((((uint32_t)(value32)) & ((uint32_t)0x0000FF00)) << 8) | \
((((uint32_t)(value32)) & ((uint32_t)0x00FF0000)) >> 8) | \
(((uint32_t)(value32)) >> 24) )
Definition at line 56 of file mhd_bithelpers.h.
◆ _MHD_BYTES_SWAP64
#define _MHD_BYTES_SWAP64 |
( |
|
value64 | ) |
|
Value:( (((uint64_t)(value64)) << 56) | \
((((uint64_t)(value64)) & ((uint64_t)0x000000000000FF00)) << 40) | \
((((uint64_t)(value64)) & ((uint64_t)0x0000000000FF0000)) << 24) | \
((((uint64_t)(value64)) & ((uint64_t)0x00000000FF000000)) << 8) | \
((((uint64_t)(value64)) & ((uint64_t)0x000000FF00000000)) >> 8) | \
((((uint64_t)(value64)) & ((uint64_t)0x0000FF0000000000)) >> 24) | \
((((uint64_t)(value64)) & ((uint64_t)0x00FF000000000000)) >> 40) | \
(((uint64_t)(value64)) >> 56) )
Definition at line 77 of file mhd_bithelpers.h.
◆ _MHD_GET_32BIT_BE
#define _MHD_GET_32BIT_BE |
( |
|
addr | ) |
|
Value:( (((uint32_t)(((const uint8_t*)addr)[0])) << 24) | \
(((uint32_t)(((const uint8_t*)addr)[1])) << 16) | \
(((uint32_t)(((const uint8_t*)addr)[2])) << 8) | \
((uint32_t) (((const uint8_t*)addr)[3])) )
Definition at line 209 of file mhd_bithelpers.h.
◆ _MHD_GET_32BIT_LE
#define _MHD_GET_32BIT_LE |
( |
|
addr | ) |
|
Value:( ( (uint32_t)(((const uint8_t*)addr)[0])) | \
(((uint32_t)(((const uint8_t*)addr)[1])) << 8) | \
(((uint32_t)(((const uint8_t*)addr)[2])) << 16) | \
(((uint32_t)(((const uint8_t*)addr)[3])) << 24) )
Definition at line 145 of file mhd_bithelpers.h.
Referenced by MD5Transform().
◆ _MHD_PUT_32BIT_BE
#define _MHD_PUT_32BIT_BE |
( |
|
addr, |
|
|
|
value32 |
|
) |
| |
Value:do { \
((uint8_t*)(addr))[3] = (uint8_t)((uint32_t)(value32)); \
((uint8_t*)(addr))[2] = (uint8_t)(((uint32_t)(value32)) >> 8); \
((uint8_t*)(addr))[1] = (uint8_t)(((uint32_t)(value32)) >> 16); \
((uint8_t*)(addr))[0] = (uint8_t)(((uint32_t)(value32)) >> 24); \
} while (0)
Definition at line 189 of file mhd_bithelpers.h.
Referenced by sha256_finish().
◆ _MHD_PUT_32BIT_LE
#define _MHD_PUT_32BIT_LE |
( |
|
addr, |
|
|
|
value32 |
|
) |
| |
Value:do { \
((uint8_t*)(addr))[0] = (uint8_t)((uint32_t)(value32)); \
((uint8_t*)(addr))[1] = (uint8_t)(((uint32_t)(value32)) >> 8); \
((uint8_t*)(addr))[2] = (uint8_t)(((uint32_t)(value32)) >> 16); \
((uint8_t*)(addr))[3] = (uint8_t)(((uint32_t)(value32)) >> 24); \
} while (0)
Definition at line 125 of file mhd_bithelpers.h.
Referenced by MHD_MD5Final().
◆ _MHD_PUT_64BIT_BE
#define _MHD_PUT_64BIT_BE |
( |
|
addr, |
|
|
|
value64 |
|
) |
| |
Value:do { \
((uint8_t*)(addr))[7] = (uint8_t)((uint64_t)(value64)); \
((uint8_t*)(addr))[6] = (uint8_t)(((uint64_t)(value64)) >> 8); \
((uint8_t*)(addr))[5] = (uint8_t)(((uint64_t)(value64)) >> 16); \
((uint8_t*)(addr))[4] = (uint8_t)(((uint64_t)(value64)) >> 24); \
((uint8_t*)(addr))[3] = (uint8_t)(((uint64_t)(value64)) >> 32); \
((uint8_t*)(addr))[2] = (uint8_t)(((uint64_t)(value64)) >> 40); \
((uint8_t*)(addr))[1] = (uint8_t)(((uint64_t)(value64)) >> 48); \
((uint8_t*)(addr))[0] = (uint8_t)(((uint64_t)(value64)) >> 56); \
} while (0)
Definition at line 165 of file mhd_bithelpers.h.
Referenced by sha256_finish().
◆ _MHD_PUT_64BIT_LE
#define _MHD_PUT_64BIT_LE |
( |
|
addr, |
|
|
|
value64 |
|
) |
| |
Value:do { \
((uint8_t*)(addr))[0] = (uint8_t)((uint64_t)(value64)); \
((uint8_t*)(addr))[1] = (uint8_t)(((uint64_t)(value64)) >> 8); \
((uint8_t*)(addr))[2] = (uint8_t)(((uint64_t)(value64)) >> 16); \
((uint8_t*)(addr))[3] = (uint8_t)(((uint64_t)(value64)) >> 24); \
((uint8_t*)(addr))[4] = (uint8_t)(((uint64_t)(value64)) >> 32); \
((uint8_t*)(addr))[5] = (uint8_t)(((uint64_t)(value64)) >> 40); \
((uint8_t*)(addr))[6] = (uint8_t)(((uint64_t)(value64)) >> 48); \
((uint8_t*)(addr))[7] = (uint8_t)(((uint64_t)(value64)) >> 56); \
} while (0)
Definition at line 101 of file mhd_bithelpers.h.
Referenced by MHD_MD5Final().
◆ _MHD_ROTR32
#define _MHD_ROTR32 |
( |
|
value32, |
|
|
|
bits |
|
) |
| (((uint32_t)(value32)) >> (bits) | ((uint32_t)(value32)) << (32 - bits)) |
Rotate right 32-bit value by number of bits. bits parameter must be more than zero and must be less than 32.
Definition at line 230 of file mhd_bithelpers.h.