libosmocore 1.13.1.1-afb4 Osmocom core library

Functions
bit64gen.h File Reference
`#include <osmocom/core/utils.h>`

Go to the source code of this file.

## Functions
static uint64_t | osmo_load64le_ext (const void *p, uint8_t n)
| load unaligned n-byte integer (little-endian encoding) into uint64_t, into the least significant octets. More...
static uint64_t | osmo_load64be_ext (const void *p, uint8_t n)
| load unaligned n-byte integer (big-endian encoding) into uint64_t, into the MOST significant octets. More...
static uint64_t | osmo_load64be_ext_2 (const void *p, uint8_t n)
| load unaligned n-byte integer (big-endian encoding) into uint64_t, into the least significant octets. More...
static void | osmo_store64le_ext (uint64_t x, void *p, uint8_t n)
| store unaligned n-byte integer (little-endian encoding) from uint64_t More...
static void | osmo_store64be_ext (uint64_t x, void *p, uint8_t n)
| store unaligned n-byte integer (big-endian encoding) from uint64_t More...
static uint64_t | osmo_load64le (const void *p)
| load unaligned 64-bit integer (little-endian encoding) More...
static uint64_t | osmo_load64be (const void *p)
| load unaligned 64-bit integer (big-endian encoding) More...
static void | osmo_store64le (uint64_t x, void *p)
| store unaligned 64-bit integer (little-endian encoding) More...
static void | osmo_store64be (uint64_t x, void *p)
| store unaligned 64-bit integer (big-endian encoding) More...

## Function Documentation

## ◆ osmo_load64be()

static uint64_t osmo_load64be | ( | const void * | p | ) |
| inline static

load unaligned 64-bit integer (big-endian encoding)

References osmo_load64be_ext().

## ◆ osmo_load64be_ext()

static uint64_t osmo_load64be_ext | ( | const void * | p,
|  | uint8_t | n
| ) |  |
| inline static

load unaligned n-byte integer (big-endian encoding) into uint64_t, into the MOST significant octets.

WARNING: for n < sizeof(uint64_t), the result is not returned in the least significant octets, as one might expect. To always return the same value as fed to osmo_store64be_ext() before, use osmo_load64be_ext_2().

Parameters

  [in] | p | Buffer where integer is stored
  [in] | n | Number of bytes stored in p

Returns
  64 bit unsigned integer

References n, and OSMO_ASSERT.

Referenced by osmo_load64be().

## ◆ osmo_load64be_ext_2()

static uint64_t osmo_load64be_ext_2 | ( | const void * | p,
|  | uint8_t | n
| ) |  |
| inline static

load unaligned n-byte integer (big-endian encoding) into uint64_t, into the least significant octets.

Parameters

  [in] | p | Buffer where integer is stored
  [in] | n | Number of bytes stored in p

Returns
  64 bit unsigned integer

References n, and OSMO_ASSERT.

## ◆ osmo_load64le()

static uint64_t osmo_load64le | ( | const void * | p | ) |
| inline static

load unaligned 64-bit integer (little-endian encoding)

References osmo_load64le_ext().

## ◆ osmo_load64le_ext()

static uint64_t osmo_load64le_ext | ( | const void * | p,
|  | uint8_t | n
| ) |  |
| inline static

load unaligned n-byte integer (little-endian encoding) into uint64_t, into the least significant octets.

Parameters

  [in] | p | Buffer where integer is stored
  [in] | n | Number of bytes stored in p

Returns
  64 bit unsigned integer

References n, and OSMO_ASSERT.

Referenced by osmo_load64le().

## ◆ osmo_store64be()

static void osmo_store64be | ( | uint64_t | x,
|  | void * | p
| ) |  |
| inline static

store unaligned 64-bit integer (big-endian encoding)

References osmo_store64be_ext(), and x.

## ◆ osmo_store64be_ext()

static void osmo_store64be_ext | ( | uint64_t | x,
|  | void * | p,
|  | uint8_t | n
| ) |  |
| inline static

store unaligned n-byte integer (big-endian encoding) from uint64_t

Parameters

  [in] | x | unsigned 64 bit integer
  [out] | p | Buffer to store integer
  [in] | n | Number of bytes to store

References n, OSMO_ASSERT, and x.

Referenced by osmo_encode_big_endian(), and osmo_store64be().

## ◆ osmo_store64le()

static void osmo_store64le | ( | uint64_t | x,
|  | void * | p
| ) |  |
| inline static

store unaligned 64-bit integer (little-endian encoding)

References osmo_store64le_ext(), and x.

## ◆ osmo_store64le_ext()

static void osmo_store64le_ext | ( | uint64_t | x,
|  | void * | p,
|  | uint8_t | n
| ) |  |
| inline static

store unaligned n-byte integer (little-endian encoding) from uint64_t

Parameters

  [in] | x | unsigned 64 bit integer
  [out] | p | Buffer to store integer
  [in] | n | Number of bytes to store

References n, OSMO_ASSERT, and x.

Referenced by osmo_store64le().