util: add read big endian 24

This commit is contained in:
Milanka Ringwald 2017-02-08 12:28:22 +01:00 committed by Matthias Ringwald
parent e93ab60652
commit e57a25456e
2 changed files with 5 additions and 0 deletions

View File

@ -95,6 +95,10 @@ uint32_t big_endian_read_16( const uint8_t * buffer, int pos) {
return ((uint16_t) buffer[(pos)+1]) | (((uint16_t)buffer[ pos ]) << 8);
}
uint32_t big_endian_read_24( const uint8_t * buffer, int pos) {
return ( ((uint32_t)buffer[(pos)+2]) | (((uint32_t)buffer[(pos)+1]) << 8) | (((uint32_t) buffer[pos]) << 16));
}
uint32_t big_endian_read_32( const uint8_t * buffer, int pos) {
return ((uint32_t) buffer[(pos)+3]) | (((uint32_t)buffer[(pos)+2]) << 8) | (((uint32_t)buffer[(pos)+1]) << 16) | (((uint32_t) buffer[pos]) << 24);
}

View File

@ -117,6 +117,7 @@ void little_endian_store_32(uint8_t *buffer, uint16_t position, uint32_t value);
* @return value
*/
uint32_t big_endian_read_16( const uint8_t * buffer, int pos);
uint32_t big_endian_read_24( const uint8_t * buffer, int pos);
uint32_t big_endian_read_32( const uint8_t * buffer, int pos);
/**