PebbleOS
Loading...
Searching...
No Matches
Data Structures | Functions
Byte order

Conversions between the CPU byte order (always little-endian) and fixed byte orders. More...

Data Structures

struct  pbl_be16_t
 Big-endian 16-bit value, wrapped so it cannot be used without conversion. More...
 

Functions

static uint16_t pbl_be16_to_cpu (uint16_t v)
 Convert a big-endian 16-bit value to CPU order.
 
static uint16_t pbl_cpu_to_be16 (uint16_t v)
 Convert a 16-bit value in CPU order to big-endian.
 
static uint32_t pbl_be32_to_cpu (uint32_t v)
 Convert a big-endian 32-bit value to CPU order.
 
static uint32_t pbl_cpu_to_be32 (uint32_t v)
 Convert a 32-bit value in CPU order to big-endian.
 
static uint16_t pbl_le16_to_cpu (uint16_t v)
 Convert a little-endian 16-bit value to CPU order.
 
static uint16_t pbl_cpu_to_le16 (uint16_t v)
 Convert a 16-bit value in CPU order to little-endian.
 
static uint32_t pbl_le32_to_cpu (uint32_t v)
 Convert a little-endian 32-bit value to CPU order.
 
static uint32_t pbl_cpu_to_le32 (uint32_t v)
 Convert a 32-bit value in CPU order to little-endian.
 
static uint16_t pbl_be16_get (pbl_be16_t be)
 Read a wrapped big-endian 16-bit value.
 
static pbl_be16_t pbl_be16_make (uint16_t v)
 Wrap a 16-bit value as big-endian.
 

Detailed Description

Conversions between the CPU byte order (always little-endian) and fixed byte orders.

struct PBL_PACKED hdr {
pbl_be16_t length;
} hdr;
hdr.length = pbl_be16_make(payload_len);
uint16_t len = pbl_be16_get(hdr.length);
#define PBL_PACKED
Lay out the struct/union without padding.
Definition compiler.h:85
Big-endian 16-bit value, wrapped so it cannot be used without conversion.
Definition byteorder.h:29
static uint16_t pbl_be16_get(pbl_be16_t be)
Read a wrapped big-endian 16-bit value.
Definition byteorder.h:120
static pbl_be16_t pbl_be16_make(uint16_t v)
Wrap a 16-bit value as big-endian.
Definition byteorder.h:130

Data Structure Documentation

◆ pbl_be16_t

struct pbl_be16_t

Big-endian 16-bit value, wrapped so it cannot be used without conversion.

Data Fields
uint16_t v Raw big-endian value.

Function Documentation

◆ pbl_be16_get()

static uint16_t pbl_be16_get ( pbl_be16_t  be)
inlinestatic

Read a wrapped big-endian 16-bit value.

Parameters
beBig-endian value.
Returns
Value in CPU order.

References pbl_be16_to_cpu(), and pbl_be16_t::v.

◆ pbl_be16_make()

static pbl_be16_t pbl_be16_make ( uint16_t  v)
inlinestatic

Wrap a 16-bit value as big-endian.

Parameters
vValue in CPU order.
Returns
Big-endian value.

References pbl_cpu_to_be16().

◆ pbl_be16_to_cpu()

static uint16_t pbl_be16_to_cpu ( uint16_t  v)
inlinestatic

Convert a big-endian 16-bit value to CPU order.

Parameters
vBig-endian value.
Returns
Value in CPU order.

References PBL_BSWAP16.

Referenced by pbl_be16_get().

◆ pbl_be32_to_cpu()

static uint32_t pbl_be32_to_cpu ( uint32_t  v)
inlinestatic

Convert a big-endian 32-bit value to CPU order.

Parameters
vBig-endian value.
Returns
Value in CPU order.

References PBL_BSWAP32.

◆ pbl_cpu_to_be16()

static uint16_t pbl_cpu_to_be16 ( uint16_t  v)
inlinestatic

Convert a 16-bit value in CPU order to big-endian.

Parameters
vValue in CPU order.
Returns
Big-endian value.

References PBL_BSWAP16.

Referenced by pbl_be16_make().

◆ pbl_cpu_to_be32()

static uint32_t pbl_cpu_to_be32 ( uint32_t  v)
inlinestatic

Convert a 32-bit value in CPU order to big-endian.

Parameters
vValue in CPU order.
Returns
Big-endian value.

References PBL_BSWAP32.

◆ pbl_cpu_to_le16()

static uint16_t pbl_cpu_to_le16 ( uint16_t  v)
inlinestatic

Convert a 16-bit value in CPU order to little-endian.

Parameters
vValue in CPU order.
Returns
Little-endian value.

◆ pbl_cpu_to_le32()

static uint32_t pbl_cpu_to_le32 ( uint32_t  v)
inlinestatic

Convert a 32-bit value in CPU order to little-endian.

Parameters
vValue in CPU order.
Returns
Little-endian value.

◆ pbl_le16_to_cpu()

static uint16_t pbl_le16_to_cpu ( uint16_t  v)
inlinestatic

Convert a little-endian 16-bit value to CPU order.

Parameters
vLittle-endian value.
Returns
Value in CPU order.

◆ pbl_le32_to_cpu()

static uint32_t pbl_le32_to_cpu ( uint32_t  v)
inlinestatic

Convert a little-endian 32-bit value to CPU order.

Parameters
vLittle-endian value.
Returns
Value in CPU order.