nl::Weave::Encoding::LittleEndian

Esse namespace oferece funções para:

Resumo

  • Realizar a reordenação de bytes, em relação ao sistema host, por valor de valores ordenados de byte small endian para 16, 32 e 64 bits.
  • Realizar acessos simples e eficientes com mapeamento de memória, potencialmente a locais de memória desalinhados, com ou sem reordenação de bytes, para quantidades ordenadas de bytes small endian de 8, 16, 32 e 64 bits, com e sem gerenciamento de ponteiro.

Em sistemas pouco endian host, não ocorre reordenação de bytes real. Em outros sistemas, a reordenação de bytes é realizada conforme apropriado.

Funções

Get16(const uint8_t *p)
uint16_t
Executar uma leitura de memória potencialmente desalinhada do valor de 16 bits ordenado do byte little endian do endereço de ponteiro especificado e reordenar os bytes, conforme necessário, para que o sistema de destino coloque o valor na ordenação de bytes do sistema de destino.
Get32(const uint8_t *p)
uint32_t
Executar uma leitura de memória potencialmente desalinhada do valor de 32 bits ordenado de byte small endian a partir do endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para que o sistema de destino coloque o valor na ordem de bytes do sistema de destino.
Get64(const uint8_t *p)
uint64_t
Executar uma leitura de memória potencialmente desalinhada do valor de 64 bits ordenado de byte small endian a partir do endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para que o sistema de destino coloque o valor na ordem de bytes do sistema de destino.
HostSwap16(uint16_t v)
uint16_t
Isso executa condicionalmente, conforme necessário para o sistema de destino, uma troca de ordem de bytes por valor do valor de 16 bits especificado, que se presume estar em ordem de bytes small endian para o sistema de destino (ou seja,
HostSwap32(uint32_t v)
uint32_t
Isso executa condicionalmente, conforme necessário para o sistema de destino, uma troca de ordem de bytes por valor do valor de 32 bits especificado, que se presume estar em ordem de bytes small endian para o sistema de destino (ou seja,
HostSwap64(uint64_t v)
uint64_t
Isso executa condicionalmente, conforme necessário para o sistema de destino, uma troca de ordem de bytes por valor do valor de 64 bits especificado, que se presume estar em ordem de bytes small endian para o sistema de destino (ou seja,
Put16(uint8_t *p, uint16_t v)
void
Executar uma gravação de memória potencialmente desalinhada do valor de 16 bits ordenado de byte do sistema de destino para o endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para que o sistema de destino coloque o valor em ordenação de bytes small endian.
Put32(uint8_t *p, uint32_t v)
void
Execute uma gravação de memória potencialmente desalinhada do valor de 32 bits ordenado de byte do sistema de destino para o endereço de ponteiro especificado, realize a reordenação de bytes, conforme necessário, para que o sistema de destino coloque o valor em ordenação de bytes small endian.
Put64(uint8_t *p, uint64_t v)
void
Executar uma gravação de memória potencialmente desalinhada do valor de byte do sistema de destino ordenado de 64 bits para o endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para que o sistema de destino coloque o valor em ordenação de bytes small endian.
Read16(uint8_t *& p)
uint16_t
Executar uma leitura de memória potencialmente desalinhada do valor de 16 bits ordenado do byte small endian a partir do endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para que o sistema de destino coloque o valor na ordenação de bytes do sistema de destino e incrementar o ponteiro em 16 bits (2 bytes).
Read16(const uint8_t *& p)
uint16_t
Executar uma leitura de memória potencialmente desalinhada do valor de 16 bits ordenado do byte small endian a partir do endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para que o sistema de destino coloque o valor na ordenação de bytes do sistema de destino e incrementar o ponteiro em 16 bits (2 bytes).
Read32(uint8_t *& p)
uint32_t
Executar uma leitura de memória potencialmente desalinhado do valor de 32 bits ordenado de byte small endian a partir do endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para que o sistema de destino coloque o valor na ordem de bytes do sistema de destino e incremente o ponteiro em 32 bits (4 bytes).
Read32(const uint8_t *& p)
uint32_t
Executar uma leitura de memória potencialmente desalinhada do valor de 32 bits ordenado de byte small endian a partir do endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para que o sistema de destino coloque o valor na ordem de bytes do sistema de destino e incremente o ponteiro em 32 bits (4 bytes).
Read64(uint8_t *& p)
uint64_t
Executar uma leitura de memória potencialmente desalinhada do valor de 64 bits ordenado de byte small endian a partir do endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para que o sistema de destino coloque o valor na ordem de bytes do sistema de destino e incremente o ponteiro em 64 bits (8 bytes).
Read64(const uint8_t *& p)
uint64_t
Executar uma leitura de memória potencialmente desalinhada do valor de 64 bits ordenado de byte small endian a partir do endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para que o sistema de destino coloque o valor na ordem de bytes do sistema de destino e incremente o ponteiro em 64 bits (8 bytes).
Write16(uint8_t *& p, uint16_t v)
void
Executar uma gravação de memória potencialmente desalinhada do valor de 16 bits ordenado de byte do sistema de destino para o endereço de ponteiro especificado e reordenar os bytes, conforme necessário, para que o sistema de destino coloque o valor em ordenação de bytes small endian.
Write32(uint8_t *& p, uint32_t v)
void
Execute uma gravação de memória potencialmente desalinhada do valor de 32 bits ordenado de byte do sistema de destino para o endereço de ponteiro especificado, realize a reordenação de bytes, conforme necessário, para que o sistema de destino coloque o valor em ordenação de bytes small endian.
Write64(uint8_t *& p, uint64_t v)
void
Executar uma gravação de memória potencialmente desalinhada do valor de byte do sistema de destino ordenado de 64 bits para o endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para que o sistema de destino coloque o valor em ordenação de bytes small endian.

Funções

Get16

uint16_t Get16(
  const uint8_t *p
)

Executar uma leitura de memória potencialmente desalinhada do valor de 16 bits ordenado do byte little endian do endereço de ponteiro especificado e reordenar os bytes, conforme necessário, para que o sistema de destino coloque o valor na ordenação de bytes do sistema de destino.

Detalhes
Parâmetros
[in] p
Um endereço de ponteiro, potencialmente desalinhado, para ler o valor ordenado de bytes small endian de 16 bits.
Retornos
O valor de 16 bits no endereço de ponteiro especificado, se necessário, byte reordenado.

Get32

uint32_t Get32(
  const uint8_t *p
)

Executar uma leitura de memória potencialmente desalinhada do valor de 32 bits ordenado de byte small endian a partir do endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para que o sistema de destino coloque o valor na ordem de bytes do sistema de destino.

Detalhes
Parâmetros
[in] p
Um endereço de ponteiro, potencialmente desalinhado, para ler o valor ordenado de bytes small endian de 32 bits.
Retornos
O valor de 32 bits no endereço de ponteiro especificado, se necessário, byte reordenado.

Get64

uint64_t Get64(
  const uint8_t *p
)

Executar uma leitura de memória potencialmente desalinhada do valor de 64 bits ordenado de byte small endian a partir do endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para que o sistema de destino coloque o valor na ordem de bytes do sistema de destino.

Detalhes
Parâmetros
[in] p
Um endereço de ponteiro, potencialmente desalinhado, para ler o valor ordenado de bytes small endian de 64 bits.
Retornos
O valor de 64 bits no endereço de ponteiro especificado, se necessário, byte reordenado.

HostSwap16

uint16_t HostSwap16(
  uint16_t v
)

Isso executa condicionalmente, conforme necessário para o sistema de destino, uma troca de ordem de bytes por valor do valor de 16 bits especificado, que se presume estar em ordem de bytes small endian para o sistema de destino (ou seja,

host).

Consequentemente, em sistemas de destino small endian, é um ambiente autônomo e, em sistemas de alvo big endian, ocorre uma reordenação.

Detalhes
Parâmetros
[in] v
O valor de 16 bits a ser trocado na ordem de bytes.
Retornos
O valor de entrada, se necessário, é a ordem de bytes trocada.

HostSwap32

uint32_t HostSwap32(
  uint32_t v
)

Isso executa condicionalmente, conforme necessário para o sistema de destino, uma troca de ordem de bytes por valor do valor de 32 bits especificado, que se presume estar em ordem de bytes small endian para o sistema de destino (ou seja,

host).

Consequentemente, em sistemas de destino small endian, é um ambiente autônomo e, em sistemas de alvo big endian, ocorre uma reordenação.

Detalhes
Parâmetros
[in] v
O valor de 32 bits a ser trocado na ordem de bytes.
Retornos
O valor de entrada, se necessário, é a ordem de bytes trocada.

HostSwap64

uint64_t HostSwap64(
  uint64_t v
)

Isso executa condicionalmente, conforme necessário para o sistema de destino, uma troca de ordem de bytes por valor do valor de 64 bits especificado, que se presume estar em ordem de bytes small endian para o sistema de destino (ou seja,

host).

Consequentemente, em sistemas de destino small endian, é um ambiente autônomo e, em sistemas de alvo big endian, ocorre uma reordenação.

Detalhes
Parâmetros
[in] v
O valor de 64 bits a ser trocado na ordem de bytes.
Retornos
O valor de entrada, se necessário, é a ordem de bytes trocada.

Put16

void Put16(
  uint8_t *p,
  uint16_t v
)

Executar uma gravação de memória potencialmente desalinhada do valor de 16 bits ordenado de byte do sistema de destino para o endereço de ponteiro especificado e reordenar os bytes, conforme necessário, para que o sistema de destino coloque o valor em ordenação de bytes small endian.

Detalhes
Parâmetros
[in] p
Um endereço de ponteiro, potencialmente desalinhado, para gravar o valor de 16 bits ordenado de bytes do sistema de destino em ordenação de bytes small endian.
[in] v
O valor de 16 bits para gravar, se necessário, byte reordenado.

Put32

void Put32(
  uint8_t *p,
  uint32_t v
)

Executar uma gravação de memória potencialmente desalinhada do valor de 32 bits ordenado de byte do sistema de destino para o endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para que o sistema de destino coloque o valor em ordenação de bytes small endian.

Detalhes
Parâmetros
[in] p
Um endereço de ponteiro, potencialmente desalinhado, para gravar o valor de 32 bits ordenado de bytes do sistema de destino em ordenação de bytes small endian.
[in] v
O valor de 32 bits para gravar, se necessário, bytes reordenados.

Put64

void Put64(
  uint8_t *p,
  uint64_t v
)

Executar uma gravação de memória potencialmente desalinhada do valor de byte do sistema de destino ordenado de 64 bits para o endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para que o sistema de destino coloque o valor em ordenação de bytes small endian.

Detalhes
Parâmetros
[in] p
Um endereço de ponteiro, potencialmente desalinhado, para gravar o valor de 64 bits ordenado de bytes do sistema de destino em ordenação de bytes small endian.
[in] v
O valor de 64 bits para gravar, se necessário, byte reordenado.

Read16

uint16_t Read16(
  uint8_t *& p
)

Executar uma leitura de memória potencialmente desalinhada do valor de 16 bits ordenado do byte small endian a partir do endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para que o sistema de destino coloque o valor na ordenação de bytes do sistema de destino e incrementar o ponteiro em 16 bits (2 bytes).

Detalhes
Parâmetros
[in,out] p
Uma referência a um endereço de ponteiro, potencialmente desalinhado, para ler o valor ordenado de bytes small endian de 16 bits de e para, depois, incrementar em 16 bits (2 bytes).
Retornos
O valor de 16 bits no endereço de ponteiro especificado, se necessário, a ordem de bytes é trocada.

Read16

uint16_t Read16(
  const uint8_t *& p
)

Executar uma leitura de memória potencialmente desalinhada do valor de 16 bits ordenado do byte small endian a partir do endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para que o sistema de destino coloque o valor na ordenação de bytes do sistema de destino e incrementar o ponteiro em 16 bits (2 bytes).

Detalhes
Parâmetros
[in,out] p
Uma referência a um endereço de ponteiro constante, potencialmente desalinhado, para ler o valor ordenado de bytes small endian de 16 bits de e para, depois, incrementar em 16 bits (2 bytes).
Retornos
O valor de 16 bits no endereço de ponteiro especificado, se necessário, a ordem de bytes é trocada.

Read32

uint32_t Read32(
  uint8_t *& p
)

Executar uma leitura de memória potencialmente desalinhado do valor de 32 bits ordenado de byte small endian a partir do endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para que o sistema de destino coloque o valor na ordem de bytes do sistema de destino e incremente o ponteiro em 32 bits (4 bytes).

Detalhes
Parâmetros
[in,out] p
Uma referência a um endereço de ponteiro, potencialmente desalinhado, para ler o valor ordenado de bytes small endian de 32 bits de e para, depois, incrementar em 32 bits (4 bytes).
Retornos
O valor de 32 bits no endereço de ponteiro especificado, se necessário, a ordem de bytes é trocada.

Read32

uint32_t Read32(
  const uint8_t *& p
)

Executar uma leitura de memória potencialmente desalinhado do valor de 32 bits ordenado de byte small endian a partir do endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para que o sistema de destino coloque o valor na ordem de bytes do sistema de destino e incremente o ponteiro em 32 bits (4 bytes).

Detalhes
Parâmetros
[in,out] p
Uma referência a um endereço de ponteiro constante, potencialmente desalinhado, para ler o valor ordenado de bytes small endian de 32 bits de e para, depois, incrementar em 32 bits (4 bytes).
Retornos
O valor de 32 bits no endereço de ponteiro especificado, se necessário, a ordem de bytes é trocada.

Read64

uint64_t Read64(
  uint8_t *& p
)

Executar uma leitura de memória potencialmente desalinhada do valor de 64 bits ordenado de byte small endian a partir do endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para que o sistema de destino coloque o valor na ordem de bytes do sistema de destino e incremente o ponteiro em 64 bits (8 bytes).

Detalhes
Parâmetros
[in,out] p
Uma referência a um endereço de ponteiro, potencialmente desalinhado, para ler o valor ordenado de bytes small endian de 64 bits de e para, depois, incrementar em 64 bits (8 bytes).
Retornos
O valor de 64 bits no endereço de ponteiro especificado, se necessário, a ordem de bytes é trocada.

Read64

uint64_t Read64(
  const uint8_t *& p
)

Executar uma leitura de memória potencialmente desalinhada do valor de 64 bits ordenado de byte small endian a partir do endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para que o sistema de destino coloque o valor na ordem de bytes do sistema de destino e incremente o ponteiro em 64 bits (8 bytes).

Detalhes
Parâmetros
[in,out] p
Uma referência a um endereço de ponteiro constante, potencialmente desalinhado, para ler o valor ordenado de bytes small endian de 64 bits de e para, depois, incrementar em 64 bits (8 bytes).
Retornos
O valor de 64 bits no endereço de ponteiro especificado, se necessário, a ordem de bytes é trocada.

Write16

void Write16(
  uint8_t *& p,
  uint16_t v
)

Executar uma gravação de memória potencialmente desalinhada do valor de 16 bits ordenado de byte do sistema de destino para o endereço de ponteiro especificado e reordenar os bytes, conforme necessário, para que o sistema de destino coloque o valor em ordenação de bytes small endian.

Detalhes
Parâmetros
[in] p
Uma referência a um endereço de ponteiro, potencialmente desalinhado, para gravar o valor de 16 bits ordenado de bytes do sistema de destino em ordenação de byte pouco endian e incrementar em 16 bits (2 bytes).
[in] v
O valor de 16 bits para gravar, se necessário, a ordem de bytes trocada.

Write32

void Write32(
  uint8_t *& p,
  uint32_t v
)

Executar uma gravação de memória potencialmente desalinhada do valor de 32 bits ordenado de byte do sistema de destino para o endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para que o sistema de destino coloque o valor em ordenação de bytes small endian.

Detalhes
Parâmetros
[in] p
Uma referência a um endereço de ponteiro, potencialmente desalinhado, para gravar o valor de 32 bits ordenado de bytes do sistema de destino em ordenação de byte pouco endian e incrementar em 32 bits (4 bytes).
[in] v
O valor de 32 bits para gravar, se necessário, a ordem de bytes trocada.

Write64

void Write64(
  uint8_t *& p,
  uint64_t v
)

Executar uma gravação de memória potencialmente desalinhada do valor de byte do sistema de destino ordenado de 64 bits para o endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para que o sistema de destino coloque o valor em ordenação de bytes small endian.

Detalhes
Parâmetros
[in] p
Uma referência a um endereço de ponteiro, potencialmente desalinhado, para gravar o valor de 64 bits ordenado de bytes do sistema de destino em ordenação de byte pouco endian e incrementar em 64 bits (8 bytes).
[in] v
O valor de 64 bits para gravar, se necessário, a ordem de bytes trocada.