nl::Weave::Codificação::BigEndian

Esse namespace oferece funções para:

Resumo

  • Executar a reordenação de bytes, em relação ao sistema host, pelo valor dos valores ordenados de bytes finais grandes para tipos de 16, 32 e 64 bits.
  • Acessos com mapeamento de memória simples e eficientes, possivelmente a locais de memória não alinhados, com ou sem reordenação de bytes, para grandes quantidades de ordens de bytes finais de 8, 16, 32 e 64 bits, com e sem gerenciamento de ponteiro.

Em grandes sistemas host de endian, a reordenação de bytes real não ocorrerá. Em outros sistemas, a reordenação de bytes é executada conforme apropriado.

Functions

Get16(const uint8_t *p)
uint16_t
Realizar uma leitura de memória, possivelmente não alinhada, do grande byte final encomendado valor de 16 bits do endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem de bytes do sistema de destino.
Get32(const uint8_t *p)
uint32_t
Realizar uma leitura de memória, possivelmente não alinhada, do valor de 32 bits do byte final ordenado com o endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem de bytes do sistema de destino.
Get64(const uint8_t *p)
uint64_t
Executa uma leitura de memória, possivelmente não alinhada, do grande byte final encomendado valor de 64 bits do endereço de ponteiro especificado, realizando a reordenação de bytes, conforme necessário, para o sistema de destino colocar 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 byte por valor do valor de 16 bits especificado, presumido como uma grande ordem de bytes finais para o sistema de destino (por exemplo,
HostSwap32(uint32_t v)
uint32_t
Isso executa condicionalmente, conforme necessário para o sistema de destino, uma troca de ordem de byte por valor do valor de 32 bits especificado, presumido como uma grande ordem de bytes finais para o sistema de destino (por exemplo,
HostSwap64(uint64_t v)
uint64_t
Isso executa condicionalmente, conforme necessário para o sistema de destino, uma troca de ordem de byte por valor do valor de 64 bits especificado, presumido como uma grande ordem de bytes finais para o sistema de destino (por exemplo,
Put16(uint8_t *p, uint16_t v)
void
Executar uma gravação de memória, possivelmente não alinhada, do byte do sistema de destino encomendado valor de 16 bits para o endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na grande ordem de bytes do endian.
Put32(uint8_t *p, uint32_t v)
void
Executar uma gravação de memória, possivelmente não alinhada, do byte do sistema de destino ordenado valor de 32 bits para o endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na grande ordem de bytes do endian.
Put64(uint8_t *p, uint64_t v)
void
Realizar uma gravação de memória, possivelmente não alinhada, do byte do sistema de destino ordenado valor de 64 bits para o endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na grande ordem de bytes do endian.
Read16(uint8_t *& p)
uint16_t
realizar uma leitura de memória, possivelmente não alinhada, do grande byte final ordenado em 16 bits do endereço do ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem de bytes do sistema de destino e incrementar o ponteiro em 16 bits (2 bytes).
Read16(const uint8_t *& p)
uint16_t
realizar uma leitura de memória, possivelmente não alinhada, do grande byte final ordenado em 16 bits do endereço do ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem de bytes do sistema de destino e incrementar o ponteiro em 16 bits (2 bytes).
Read32(uint8_t *& p)
uint32_t
realizar uma leitura de memória, possivelmente não alinhada, do grande byte final ordenado em 32 bits do endereço do ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem de bytes do sistema de destino e incrementar o ponteiro em 32 bits (4 bytes).
Read32(const uint8_t *& p)
uint32_t
realizar uma leitura de memória, possivelmente não alinhada, do grande byte final ordenado em 32 bits do endereço do ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem de bytes do sistema de destino e incrementar o ponteiro em 32 bits (4 bytes).
Read64(uint8_t *& p)
uint64_t
realizar uma leitura de memória, possivelmente desalinhada, do grande byte final ordenado em 64 bits do endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem de bytes do sistema de destino e incrementar o ponteiro em 64 bits (8 bytes).
Read64(const uint8_t *& p)
uint64_t
realizar uma leitura de memória, possivelmente desalinhada, do grande byte final ordenado em 64 bits do endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem de bytes do sistema de destino e incrementar o ponteiro em 64 bits (8 bytes).
Write16(uint8_t *& p, uint16_t v)
void
Executar uma gravação de memória, possivelmente não alinhada, do byte do sistema de destino encomendado valor de 16 bits para o endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na grande ordem de bytes do endian.
Write32(uint8_t *& p, uint32_t v)
void
Executar uma gravação de memória, possivelmente não alinhada, do byte do sistema de destino ordenado valor de 32 bits para o endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na grande ordem de bytes do endian.
Write64(uint8_t *& p, uint64_t v)
void
Realizar uma gravação de memória, possivelmente não alinhada, do byte do sistema de destino ordenado valor de 64 bits para o endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na grande ordem de bytes do endian.

Functions

Get16

uint16_t Get16(
  const uint8_t *p
)

Realizar uma leitura de memória, possivelmente não alinhada, do grande byte final encomendado valor de 16 bits do endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem de bytes do sistema de destino.

Detalhes
Parâmetros
[in] p
Um endereço de ponteiro, possivelmente desalinhado, para ler o valor ordenado de byte final de 16 bits.
Retorna
O valor de 16 bits no endereço de ponteiro especificado, se necessário, bytes reorganizados.

Get32

uint32_t Get32(
  const uint8_t *p
)

Realizar uma leitura de memória, possivelmente não alinhada, do valor de 32 bits do byte final ordenado com o endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem de bytes do sistema de destino.

Detalhes
Parâmetros
[in] p
Um endereço de ponteiro, possivelmente desalinhado, em que o valor do byte final de 32 bits é ordenado.
Retorna
O valor de 32 bits no endereço de ponteiro especificado, se necessário, byte reordenado.

Get64

uint64_t Get64(
  const uint8_t *p
)

Executa uma leitura de memória, possivelmente não alinhada, do grande byte final encomendado valor de 64 bits do endereço de ponteiro especificado, realizando a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem de bytes do sistema de destino.

Detalhes
Parâmetros
[in] p
Um endereço de ponteiro, possivelmente desalinhado, para ler o valor ordenado em bytes finais de 64 bits.
Retorna
O valor de 64 bits no endereço do 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 byte por valor do valor de 16 bits especificado, presumido como uma grande ordem de bytes finais para o sistema de destino (por exemplo,

host).

Consequentemente, nos sistemas de destino bit-end, isso é um ambiente autônomo e, em sistemas de destino endian grande, isso realiza uma reordenação.

Detalhes
Parâmetros
[in] v
O valor de 16 bits a ser percorrido a ordem dos bytes.
Retorna
O valor de entrada, se necessário, trocado pela ordem de bytes.

HostSwap32.

uint32_t HostSwap32(
  uint32_t v
)

Isso executa condicionalmente, conforme necessário para o sistema de destino, uma troca de ordem de byte por valor do valor de 32 bits especificado, presumido como uma grande ordem de bytes finais para o sistema de destino (por exemplo,

host).

Consequentemente, nos sistemas de destino bit-end, isso é um ambiente autônomo e, em sistemas de destino endian grande, isso realiza uma reordenação.

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

HostSwap64.

uint64_t HostSwap64(
  uint64_t v
)

Isso executa condicionalmente, conforme necessário para o sistema de destino, uma troca de ordem de byte por valor do valor de 64 bits especificado, presumido como uma grande ordem de bytes finais para o sistema de destino (por exemplo,

host).

Consequentemente, nos sistemas de destino bit-end, isso é um ambiente autônomo e, em sistemas de destino endian grande, isso realiza uma reordenação.

Detalhes
Parâmetros
[in] v
O valor de 64 bits a ser trocado por ordem de byte.
Retorna
O valor de entrada, se necessário, trocado pela ordem de bytes.

Put16

void Put16(
  uint8_t *p,
  uint16_t v
)

Executar uma gravação de memória, possivelmente não alinhada, do byte do sistema de destino encomendado valor de 16 bits para o endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na grande ordem de bytes do endian.

Detalhes
Parâmetros
[in] p
Um endereço de ponteiro, possivelmente desalinhado, para gravar o valor de 16 bits ordenado pelo byte do sistema de destino na ordenação de bytes endian grande.
[in] v
O valor de 16 bits a ser gravado, se necessário, trocado pela ordem de bytes.

Put32

void Put32(
  uint8_t *p,
  uint32_t v
)

Executar uma gravação de memória, possivelmente não alinhada, do byte do sistema de destino ordenado valor de 32 bits para o endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na grande ordem de bytes do endian.

Detalhes
Parâmetros
[in] p
Um endereço de ponteiro, possivelmente desalinhado, para gravar o valor de 32 bits do byte do sistema de destino em uma ordenação de bytes ("endian") grande.
[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
)

Realizar uma gravação de memória, possivelmente não alinhada, do byte do sistema de destino ordenado valor de 64 bits para o endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na grande ordem de bytes do endian.

Detalhes
Parâmetros
[in] p
Um endereço de ponteiro, possivelmente desalinhado, para gravar o valor de 64 bits do byte do sistema de destino em uma ordem de bytes terminal grande.
[in] v
O valor de 64 bits a ser gravado, se necessário, trocado pela ordem de bytes.

Leitura 16

uint16_t Read16(
  uint8_t *& p
)

realizar uma leitura de memória, possivelmente não alinhada, do grande byte final ordenado em 16 bits do endereço do ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem 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, possivelmente desalinhado, para ler o valor ordenado de byte final de 16 bits e depois aumentar em 16 bits (2 bytes).
Retorna
O valor de 16 bits no endereço de ponteiro especificado, se necessário, trocado pela ordem de bytes.

Leitura 16

uint16_t Read16(
  const uint8_t *& p
)

realizar uma leitura de memória, possivelmente não alinhada, do grande byte final ordenado em 16 bits do endereço do ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem 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 não alinhado, para ler o valor ordenado de byte final de 16 bits e depois aumentar em 16 bits (2 bytes).
Retorna
O valor de 16 bits no endereço de ponteiro especificado, se necessário, trocado pela ordem de bytes.

Leitura 32

uint32_t Read32(
  uint8_t *& p
)

realizar uma leitura de memória, possivelmente não alinhada, do grande byte final ordenado em 32 bits do endereço do ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem de bytes do sistema de destino e incrementar o ponteiro em 32 bits (4 bytes).

Detalhes
Parâmetros
[in,out] p
Uma referência a um endereço de ponteiro, possivelmente não alinhado, para ler o valor ordenado de byte final de 32 bits e depois incrementar em 32 bits (4 bytes).
Retorna
O valor de 32 bits no endereço de ponteiro especificado, se necessário, trocada pela ordem de bytes.

Leitura 32

uint32_t Read32(
  const uint8_t *& p
)

realizar uma leitura de memória, possivelmente não alinhada, do grande byte final ordenado em 32 bits do endereço do ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem de bytes do sistema de destino e incrementar o ponteiro em 32 bits (4 bytes).

Detalhes
Parâmetros
[in,out] p
Uma referência a um endereço de ponteiro constante, potencialmente não alinhado, para ler o valor ordenado de byte final de 32 bits e depois aumentar em 32 bits (4 bytes).
Retorna
O valor de 32 bits no endereço de ponteiro especificado, se necessário, trocada pela ordem de bytes.

Leitura 64

uint64_t Read64(
  uint8_t *& p
)

realizar uma leitura de memória, possivelmente desalinhada, do grande byte final ordenado em 64 bits do endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem de bytes do sistema de destino e incrementar o ponteiro em 64 bits (8 bytes).

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

Leitura 64

uint64_t Read64(
  const uint8_t *& p
)

realizar uma leitura de memória, possivelmente desalinhada, do grande byte final ordenado em 64 bits do endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na ordem de bytes do sistema de destino e incrementar o ponteiro em 64 bits (8 bytes).

Detalhes
Parâmetros
[in,out] p
Uma referência a um endereço de ponteiro constante, possivelmente não alinhado, para ler o valor ordenado de byte final de 64 bits e depois aumentar em 64 bits (8 bytes).
Retorna
O valor de 64 bits no endereço de ponteiro especificado, se necessário, trocada pela ordem de bytes.

Gravação16

void Write16(
  uint8_t *& p,
  uint16_t v
)

Executar uma gravação de memória, possivelmente não alinhada, do byte do sistema de destino encomendado valor de 16 bits para o endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na grande ordem de bytes do endian.

Detalhes
Parâmetros
[in] p
Uma referência a um endereço de ponteiro, possivelmente não alinhado, para gravar o byte do sistema de destino ordenado valor de 16 bits em grande ordem de bytes finais e, em seguida, incrementar em 16 bits (2 bytes).
[in] v
O valor de 16 bits a ser gravado, se necessário, trocado pela ordem de bytes.

Gravação 32

void Write32(
  uint8_t *& p,
  uint32_t v
)

Executar uma gravação de memória, possivelmente não alinhada, do byte do sistema de destino ordenado valor de 32 bits para o endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na grande ordem de bytes do endian.

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

Gravação 64

void Write64(
  uint8_t *& p,
  uint64_t v
)

Realizar uma gravação de memória, possivelmente não alinhada, do byte do sistema de destino ordenado valor de 64 bits para o endereço de ponteiro especificado, realizar a reordenação de bytes, conforme necessário, para o sistema de destino colocar o valor na grande ordem de bytes do endian.

Detalhes
Parâmetros
[in] p
Uma referência a um endereço de ponteiro, possivelmente não alinhado, para gravar o byte do sistema de destino ordenado valor de 64 bits em grande ordem de bytes finais e, em seguida, incrementar em 64 bits (8 bytes).
[in] v
O valor de 64 bits a ser gravado, se necessário, trocado pela ordem de bytes.