606
606
/* Protocol unpacking macros. */
607
#define drizzle_get_byte2(__buffer) \
608
(uint16_t)((__buffer)[0] | \
609
((__buffer)[1] << 8))
610
#define drizzle_get_byte3(__buffer) \
611
(uint32_t)((__buffer)[0] | \
612
((__buffer)[1] << 8) | \
613
((__buffer)[2] << 16))
614
#define drizzle_get_byte4(__buffer) \
615
(uint32_t)((__buffer)[0] | \
616
((__buffer)[1] << 8) | \
617
((__buffer)[2] << 16) | \
618
((__buffer)[3] << 24))
619
#define drizzle_get_byte8(__buffer) \
620
((uint64_t)(__buffer)[0] | \
621
((uint64_t)(__buffer)[1] << 8) | \
622
((uint64_t)(__buffer)[2] << 16) | \
623
((uint64_t)(__buffer)[3] << 24) | \
624
((uint64_t)(__buffer)[4] << 32) | \
625
((uint64_t)(__buffer)[5] << 40) | \
626
((uint64_t)(__buffer)[6] << 48) | \
627
((uint64_t)(__buffer)[7] << 56))
607
#define drizzle_get_byte2(__buffer) \
608
((((uint8_t *)__buffer)[0]) | \
609
((uint16_t)(((uint8_t *)__buffer)[1]) << 8))
610
#define drizzle_get_byte3(__buffer) \
611
(((uint8_t *)__buffer)[0] | \
612
((uint32_t)(((uint8_t *)__buffer)[1]) << 8) | \
613
((uint32_t)(((uint8_t *)__buffer)[2]) << 16))
614
#define drizzle_get_byte4(__buffer) \
615
(((uint8_t *)__buffer)[0] | \
616
((uint32_t)(((uint8_t *)__buffer)[1]) << 8) | \
617
((uint32_t)(((uint8_t *)__buffer)[2]) << 16) | \
618
((uint32_t)(((uint8_t *)__buffer)[3]) << 24))
619
#define drizzle_get_byte8(__buffer) \
620
(drizzle_get_byte4(__buffer) | \
621
((uint64_t)drizzle_get_byte4(((uint8_t *)__buffer)+4) << 32))
629
623
/* Protocol packing macros. */
630
624
#define drizzle_set_byte2(__buffer, __int) do { \