nl::Weave::Encoding::BigEndian

Esse namespace oferece funções para:

Resumo

  • Realização de reordenação de bytes, em relação ao sistema host, por valor de valores ordenados por bytes big endian para os tipos de 16, 32 e 64 bits.
  • Realização segura de acessos simples e eficientes com mapeamento de memória, potencialmente para locais de memória não alinhados, com ou sem reordenação de bytes, para quantidades ordenadas de bytes big endian de 8, 16, 32 e 64 bits, com e sem gerenciamento de ponteiro.

Em sistemas host big endian, não ocorrerá alteração real de byte. 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 de byte big 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.
Get32(const uint8_t *p)
uint32_t
Executar uma leitura de memória potencialmente desalinhada do valor de 32 bits ordenado de byte big 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 big 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 big 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 big 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 big 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 na ordem de bytes big endian.
Put32(uint8_t *p, uint32_t v)
void
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 na ordem de bytes big 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 na ordem de bytes big endian.
Read16(uint8_t *& p)
uint16_t
Executar uma leitura de memória potencialmente desalinhada do valor de 16 bits ordenado de byte big 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 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 de byte big 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 16 bits (2 bytes).
Read32(uint8_t *& p)
uint32_t
Executar uma leitura de memória potencialmente desalinhada do valor de 32 bits ordenado de byte big endian 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 big endian 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 big 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 big 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 do byte do sistema de destino ordenado para o endereço de ponteiro especificado e reordenar os bytes, conforme necessário, para que o sistema de destino coloque o valor na ordem de bytes big endian.
Write32(uint8_t *& p, uint32_t v)
void
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 na ordem de bytes big 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 na ordem de bytes big 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 de byte big endian 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 big 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 big 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 big 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 big 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 big 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 big endian para o sistema de destino (ou seja,

host).

Consequentemente, em sistemas de destino bit endian, é um ambiente autônomo e, em sistemas de destino big endian, realiza 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 big endian para o sistema de destino (ou seja,

host).

Consequentemente, em sistemas de destino bit endian, é um ambiente autônomo e, em sistemas de destino big endian, realiza 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 big endian para o sistema de destino (ou seja,

host).

Consequentemente, em sistemas de destino bit endian, é um ambiente autônomo e, em sistemas de destino big endian, realiza 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 do byte do sistema de destino ordenado para o endereço de ponteiro especificado e reordenar os bytes, conforme necessário, para que o sistema de destino coloque o valor na ordem de bytes big 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 na ordem de bytes big endian.
[in] v
O valor de 16 bits para gravar, se necessário, a ordem de bytes trocada.

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 na ordem de bytes big endian.

Detalhes
Parâmetros
[in] p
Um endereço de ponteiro, potencialmente desalinhado, para gravar o valor de 32 bits ordenado de byte do sistema de destino na ordem de bytes big endian.
[in] v
O valor de 32 bits para gravar, se necessário, a ordem de bytes trocada.

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 na ordem de bytes big 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 big endian.
[in] v
O valor de 64 bits para gravar, se necessário, a ordem de bytes trocada.

Read16

uint16_t Read16(
  uint8_t *& p
)

Executar uma leitura de memória potencialmente desalinhada do valor de 16 bits ordenado de byte big 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 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 big endian de 16 bits de e para 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 de byte big 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 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 big 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 desalinhada do valor de 32 bits ordenado de byte big 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 big 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 desalinhada do valor de 32 bits ordenado de byte big 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 big 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 big 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 big 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 big 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 big 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, realizar a reordenação de bytes, conforme necessário, para que o sistema de destino coloque o valor na ordem de bytes big 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 na ordem de bytes big 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 na ordem de bytes big 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 na ordem de bytes big 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 na ordem de bytes big 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 na ordem big endian e, em seguida, incrementar em 64 bits (8 bytes).
[in] v
O valor de 64 bits para gravar, se necessário, a ordem de bytes trocada.