sys: byteorder: Add support for sys_put_be64()
There is sys_get_be64() but nothing for storing a 64-bit big-endian version. Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
This commit is contained in:
parent
bbac6e5ca0
commit
78825ed789
1 changed files with 15 additions and 0 deletions
|
@ -154,6 +154,21 @@ static inline void sys_put_be32(u32_t val, u8_t dst[4])
|
||||||
sys_put_be16(val, &dst[2]);
|
sys_put_be16(val, &dst[2]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Put a 64-bit integer as big-endian to arbitrary location.
|
||||||
|
*
|
||||||
|
* Put a 64-bit integer, originally in host endianness, to a
|
||||||
|
* potentially unaligned memory location in big-endian format.
|
||||||
|
*
|
||||||
|
* @param val 64-bit integer in host endianness.
|
||||||
|
* @param dst Destination memory address to store the result.
|
||||||
|
*/
|
||||||
|
static inline void sys_put_be64(u64_t val, u8_t dst[8])
|
||||||
|
{
|
||||||
|
sys_put_be32(val >> 32, dst);
|
||||||
|
sys_put_be32(val, &dst[4]);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Put a 16-bit integer as little-endian to arbitrary location.
|
* @brief Put a 16-bit integer as little-endian to arbitrary location.
|
||||||
*
|
*
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue