nl::Weave::Encoding

В этом пространстве имен есть функции для:

Сводка

  • Перестановка байтов по значению для 16-, 32- и 64-битных типов.
  • Безопасное выполнение простых и эффективных операций доступа с отображением в память, возможно, к невыровненным адресам памяти, с перестановкой байтов или без нее, для 8-, 16-, 32- и 64-битных значений, с управлением указателями или без него.

Функции

Get8(const uint8_t *p)
uint8_t
Выполняет чтение из памяти 8-битного значения по указанному адресу указателя (возможно, без выравнивания).
Put8(uint8_t *p, uint8_t v)
void
Выполняет запись в память целевой системы 8-битного значения, упорядоченного по байтам, по указанному адресу указателя. Запись может быть не выровнена.
Read8(uint8_t *& p)
uint8_t
Выполняет чтение из памяти 16-битного значения по указанному адресу указателя (возможно, без выравнивания) и увеличивает указатель на 8 бит (1 байт).
Read8(const uint8_t *& p)
uint8_t
Выполняет чтение из памяти 16-битного значения по указанному адресу указателя (возможно, без выравнивания) и увеличивает указатель на 8 бит (1 байт).
Swap16(uint16_t v)
uint16_t
Эта функция безусловно меняет порядок байтов, используя указанное 16-битное значение.
Swap32(uint32_t v)
uint32_t
Эта функция безусловно меняет порядок байтов, используя указанное 32-битное значение.
Swap64(uint64_t v)
uint64_t
Эта функция безусловно меняет порядок байтов в указанном 64-разрядном значении.
Write8(uint8_t *& p, uint8_t v)
void
Выполняет запись 8-битного значения в память по указанному адресу (возможно, без выравнивания) и увеличивает указатель на 8 бит (1 байт).

Пространства имен

nl::Weave::Encoding::BigEndian

В этом пространстве имен есть функции для:

nl::Weave::Encoding::LittleEndian

В этом пространстве имен есть функции для:

Функции

Get8

uint8_t Get8(
  const uint8_t *p
)

Выполняет чтение из памяти 8-битного значения по указанному адресу указателя (возможно, без выравнивания).

Сведения
Параметры
[in] p
Указатель на адрес, возможно, не выровненный, из которого нужно считать 8-битное значение.
Возвраты
8-битное значение по указанному адресу.

Put8

void Put8(
  uint8_t *p,
  uint8_t v
)

Выполняет запись в память целевой системы 8-битного значения, упорядоченного по байтам, по указанному адресу указателя. Запись может быть не выровнена.

Сведения
Параметры
[in] p
Указатель на адрес, возможно невыровненный, куда будет записано 8-битное значение.
[in] v
8-битное значение, которое нужно записать.

Read8

uint8_t Read8(
  uint8_t *& p
)

Выполняет чтение из памяти 16-битного значения по указанному адресу указателя (возможно, без выравнивания) и увеличивает указатель на 8 бит (1 байт).

Сведения
Параметры
[in,out] p
Ссылка на адрес указателя, возможно, невыровненный, для чтения 8-битного значения и последующего увеличения на 8 бит (1 байт).
Возвраты
8-битное значение по указанному адресу.

Read8

uint8_t Read8(
  const uint8_t *& p
)

Выполняет чтение из памяти 16-битного значения по указанному адресу указателя (возможно, без выравнивания) и увеличивает указатель на 8 бит (1 байт).

Сведения
Параметры
[in,out] p
Ссылка на постоянный адрес указателя, который может быть не выровнен, чтобы прочитать 8-битное значение, а затем увеличить его на 8 бит (1 байт).
Возвраты
8-битное значение по указанному адресу.

Swap16

uint16_t Swap16(
  uint16_t v
)

Эта функция безусловно меняет порядок байтов, используя указанное 16-битное значение.

Сведения
Параметры
[in] v
16-битное значение, порядок байтов которого нужно поменять.
Возвраты
Входное значение с измененным порядком байтов.

Swap32

uint32_t Swap32(
  uint32_t v
)

Эта функция безусловно меняет порядок байтов, используя указанное 32-битное значение.

Сведения
Параметры
[in] v
32-битное значение, порядок байтов которого нужно изменить.
Возвраты
Входное значение с измененным порядком байтов.

Swap64

uint64_t Swap64(
  uint64_t v
)

Эта функция безусловно меняет порядок байтов в указанном 64-разрядном значении.

Сведения
Параметры
[in] v
64-битовое значение, порядок байтов которого нужно изменить.
Возвраты
Входное значение с измененным порядком байтов.

Write8

void Write8(
  uint8_t *& p,
  uint8_t v
)

Выполняет запись 8-битного значения в память по указанному адресу (возможно, без выравнивания) и увеличивает указатель на 8 бит (1 байт).

Сведения
Параметры
[in,out] p
Ссылка на адрес указателя, возможно, невыровненный, для чтения 8-битного значения и последующего увеличения на 8 бит (1 байт).
[in] v
8-битное значение, которое нужно записать.