| /* Copyright (c) 2015 Google Inc | 
 |  * Davide Libenzi <dlibenzi@google.com> | 
 |  * See LICENSE for details. | 
 |  */ | 
 |  | 
 | #pragma once | 
 |  | 
 | #include <sys/types.h> | 
 | #include <stdint.h> | 
 |  | 
 | static inline const void *get_le_u16(const void *ptr, uint16_t *pvalue) | 
 | { | 
 | 	const uint8_t *p = (const uint8_t *) ptr; | 
 |  | 
 | 	*pvalue = (uint16_t) p[0] | ((uint16_t) p[1] << 8); | 
 | 	return p + sizeof(uint16_t); | 
 | } | 
 |  | 
 | static inline const void *get_le_u32(const void *ptr, uint32_t *pvalue) | 
 | { | 
 | 	const uint8_t *p = (const uint8_t *) ptr; | 
 |  | 
 | 	*pvalue = (uint32_t) p[0] | ((uint32_t) p[1] << 8) | | 
 | 		((uint32_t) p[2] << 16) | ((uint32_t) p[3] << 24); | 
 | 	return p + sizeof(uint32_t); | 
 | } | 
 |  | 
 | static inline const void *get_le_u64(const void *ptr, uint64_t *pvalue) | 
 | { | 
 | 	const uint8_t *p = (const uint8_t *) ptr; | 
 |  | 
 | 	*pvalue = (uint64_t) p[0] | ((uint64_t) p[1] << 8) | | 
 | 		((uint64_t) p[2] << 16) | ((uint64_t) p[3] << 24) | | 
 | 		((uint64_t) p[4] << 32) | ((uint64_t) p[5] << 40) | | 
 | 		((uint64_t) p[6] << 48) | ((uint64_t) p[7] << 56); | 
 | 	return p + sizeof(uint64_t); | 
 | } | 
 |  | 
 | static inline void *put_le_u16(void *ptr, uint16_t v) | 
 | { | 
 | 	uint8_t *p = (uint8_t *) ptr; | 
 |  | 
 | 	p[0] = (uint8_t) v; | 
 | 	p[1] = (uint8_t) (v >> 8); | 
 | 	return p + sizeof(uint16_t); | 
 | } | 
 |  | 
 | static inline void *put_le_u32(void *ptr, uint32_t v) | 
 | { | 
 | 	uint8_t *p = (uint8_t *) ptr; | 
 |  | 
 | 	p[0] = (uint8_t) v; | 
 | 	p[1] = (uint8_t) (v >> 8); | 
 | 	p[2] = (uint8_t) (v >> 16); | 
 | 	p[3] = (uint8_t) (v >> 24); | 
 | 	return p + sizeof(uint32_t); | 
 | } | 
 |  | 
 | static inline void *put_le_u64(void *ptr, uint64_t v) | 
 | { | 
 | 	uint8_t *p = (uint8_t *) ptr; | 
 |  | 
 | 	p[0] = (uint8_t) v; | 
 | 	p[1] = (uint8_t) (v >> 8); | 
 | 	p[2] = (uint8_t) (v >> 16); | 
 | 	p[3] = (uint8_t) (v >> 24); | 
 | 	p[4] = (uint8_t) (v >> 32); | 
 | 	p[5] = (uint8_t) (v >> 40); | 
 | 	p[6] = (uint8_t) (v >> 48); | 
 | 	p[7] = (uint8_t) (v >> 56); | 
 | 	return p + sizeof(uint64_t); | 
 | } |