aboutsummaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2017-01-02 23:02:48 -0800
committerGarrett D'Amore <garrett@damore.org>2017-01-02 23:02:48 -0800
commit1c54bc5674a54d84112da5191c28a745d448c816 (patch)
tree18261f5dfc361ae0414c134b3fe84acbab0bb6ba /src/core
parent29678ad27eff07ef0c4726b01a07794f5bff1bc7 (diff)
downloadnng-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.h14
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