Add utility functions to convert uints to bytes

Reviewed-by: Jef Driesen <jef@libdivecomputer.org>
Signed-off-by: Anton Lundin <glance@acc.umu.se>
This commit is contained in:
Anton Lundin 2014-11-13 00:04:20 +01:00 committed by Jef Driesen
parent 1d8337c570
commit 08dda98c29
2 changed files with 25 additions and 0 deletions

View File

@ -161,6 +161,16 @@ array_uint32_le (const unsigned char data[])
}
void
array_uint32_le_set (unsigned char data[], const unsigned int input)
{
data[0] = input & 0xFF;
data[1] = (input >> 8) & 0xFF;
data[2] = (input >> 16) & 0xFF;
data[3] = (input >> 24) & 0xFF;
}
unsigned int
array_uint24_be (const unsigned char data[])
{
@ -168,6 +178,15 @@ array_uint24_be (const unsigned char data[])
}
void
array_uint24_be_set (unsigned char data[], const unsigned int input)
{
data[0] = (input >> 16) & 0xFF;
data[1] = (input >> 8) & 0xFF;
data[2] = input & 0xFF;
}
unsigned int
array_uint24_le (const unsigned char data[])
{

View File

@ -55,9 +55,15 @@ array_uint32_be (const unsigned char data[]);
unsigned int
array_uint32_le (const unsigned char data[]);
void
array_uint32_le_set (unsigned char data[], const unsigned int input);
unsigned int
array_uint24_be (const unsigned char data[]);
void
array_uint24_be_set (unsigned char data[], const unsigned int input);
unsigned int
array_uint24_le (const unsigned char data[]);