diff options
| author | Garrett D'Amore <garrett@damore.org> | 2017-01-02 23:02:48 -0800 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2017-01-02 23:02:48 -0800 |
| commit | 1c54bc5674a54d84112da5191c28a745d448c816 (patch) | |
| tree | 18261f5dfc361ae0414c134b3fe84acbab0bb6ba /src/core | |
| parent | 29678ad27eff07ef0c4726b01a07794f5bff1bc7 (diff) | |
| download | nng-1c54bc5674a54d84112da5191c28a745d448c816.tar.gz nng-1c54bc5674a54d84112da5191c28a745d448c816.tar.bz2 nng-1c54bc5674a54d84112da5191c28a745d448c816.zip | |
Add NNI_GET32, NNI_PUT32 macros.
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/defs.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/core/defs.h b/src/core/defs.h index e44be1ec..1114704d 100644 --- a/src/core/defs.h +++ b/src/core/defs.h @@ -44,4 +44,18 @@ typedef int64_t nni_duration; // Relative time (usec). #define NNI_ALLOC_STRUCT(s) nni_alloc(sizeof (*s)) #define NNI_FREE_STRUCT(s) nni_free((s), sizeof (*s)) +#define NNI_PUT32(ptr, u) \ + do { \ + ptr[0] = (uint8_t)(((uint32_t)u) >> 24); \ + ptr[1] = (uint8_t)(((uint32_t)u) >> 16); \ + ptr[2] = (uint8_t)(((uint32_t)u) >> 8); \ + ptr[3] = (uint8_t)((uint32_t)u); \ + } while (0) + +#define NNI_GET32(ptr, v) \ + v = (((uint32_t)((uint8_t)ptr[0])) << 24) + \ + (((uint32_t)((uint8_t)ptr[1])) << 16) + \ + (((uint32_t)((uint8_t)ptr[2])) << 8) + \ + (((uint32_t)(uint8_t)ptr[3])) + #endif // CORE_DEFS_H |
