O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

nl :: Tecer:: Codificação:: BigEndian

Este namespace fornece funções para:

Resumo

  • Executando a reordenação de bytes, em relação ao sistema host, por valor de valores ordenados de bytes big endian para tipos de 16, 32 e 64 bits.
  • Execução segura de acessos mapeados de memória simples e eficientes, potencialmente a locais de memória desalinhados, 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, nenhum reordenamento de bytes real ocorrerá. Em outros sistemas, a reordenação de bytes é executada conforme apropriado.

Funções

Get16 (const uint8_t *p)
uint16_t
Execute uma leitura de memória, potencialmente não alinhada, do valor de 16 bits do big endian ordenado por byte do endereço do ponteiro especificado, execute 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
Execute uma leitura de memória, potencialmente não alinhada, do valor de 32 bits ordenado por byte big endian a partir do endereço do ponteiro especificado, execute 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
Execute uma leitura de memória, potencialmente não alinhada, do valor de 64 bits do big endian ordenado pelo byte do endereço do ponteiro especificado, execute 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 realiza condicionalmente, conforme necessário para o sistema de destino, uma troca de ordem de byte por valor do valor de 16 bits especificado, presumivelmente em ordem de byte big endian para o sistema de destino (ou seja
HostSwap32 (uint32_t v)
uint32_t
Isso realiza condicionalmente, conforme necessário para o sistema de destino, uma troca de ordem de byte por valor do valor de 32 bits especificado, presumivelmente em ordem de byte big endian para o sistema de destino (ou seja,
HostSwap64 (uint64_t v)
uint64_t
Isso realiza condicionalmente, conforme necessário para o sistema de destino, uma troca de ordem de byte por valor do valor de 64 bits especificado, presumivelmente em ordem de byte big endian para o sistema de destino (ou seja,
Put16 (uint8_t *p, uint16_t v)
void
Execute uma gravação de memória, potencialmente desalinhada, do valor de 16 bits ordenado por byte do sistema de destino para o endereço do ponteiro especificado, execute 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
Execute uma gravação de memória, potencialmente desalinhada, do valor de 32 bits ordenado por byte do sistema de destino para o endereço do ponteiro especificado, execute 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
Execute uma gravação de memória, potencialmente não alinhada, do valor de 64 bits ordenado por byte do sistema de destino para o endereço do ponteiro especificado, execute 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
Realize uma leitura de memória potencialmente desalinhada do valor de 16 bits ordenado por byte big endian a partir do endereço do ponteiro especificado, execute 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
Realize uma leitura de memória potencialmente desalinhada do valor de 16 bits ordenado por byte big endian a partir do endereço do ponteiro especificado, execute 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
Execute uma leitura de memória, potencialmente não alinhada, do valor de 32 bits ordenado por byte big endian a partir do endereço do ponteiro especificado, execute 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
Execute uma leitura de memória, potencialmente desalinhada, do valor de 32 bits ordenado por byte big endian a partir do endereço do ponteiro especificado, execute 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
Execute uma leitura de memória potencialmente desalinhada do valor de 64 bits do big endian ordenado pelo byte do endereço do ponteiro especificado, execute 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
Execute uma leitura de memória, potencialmente desalinhada, do valor de 64 bits do big endian ordenado pelo byte do endereço do ponteiro especificado, execute 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
Execute uma gravação de memória, potencialmente não alinhada, do valor de 16 bits ordenado por byte do sistema de destino para o endereço do ponteiro especificado, execute a reordenação de 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
Execute uma gravação de memória, potencialmente desalinhada, do valor de 32 bits ordenado por byte do sistema de destino para o endereço do ponteiro especificado, execute 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
Execute uma gravação de memória, potencialmente não alinhada, do valor de 64 bits ordenado por byte do sistema de destino para o endereço do ponteiro especificado, execute 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
)

Execute uma leitura de memória, potencialmente não alinhada, do valor de 16 bits do big endian ordenado por byte do endereço do ponteiro especificado, execute 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 do byte big endian de 16 bits.
Devoluções
O valor de 16 bits no endereço do ponteiro especificado, se necessário, byte reordenado.

Get32

uint32_t Get32(
  const uint8_t *p
)

Execute uma leitura de memória potencialmente desalinhada do valor de 32 bits do big endian ordenado pelo endereço do ponteiro especificado, execute 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 do byte big endian de 32 bits.
Devoluções
O valor de 32 bits no endereço do ponteiro especificado, se necessário, byte reordenado.

Get64

uint64_t Get64(
  const uint8_t *p
)

Execute uma leitura de memória, potencialmente desalinhada, do valor de 64 bits do big endian ordenado pelo byte do endereço do ponteiro especificado, execute 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 do byte big endian de 64 bits.
Devoluções
O valor de 64 bits no endereço do ponteiro especificado, se necessário, byte reordenado.

HostSwap16

uint16_t HostSwap16(
  uint16_t v
)

Isso realiza condicionalmente, conforme necessário para o sistema de destino, uma troca de ordem de byte por valor do valor de 16 bits especificado, presumivelmente em ordem de byte big endian para o sistema de destino (ou seja

host) ordenação de bytes.

Consequentemente, em sistemas de destino bit endian, este é um no-op e em sistemas de destino big endian, isso executa um reordenamento.

Detalhes
Parâmetros
[in] v
O valor de 16 bits a ser trocado pela ordem de bytes.
Devoluções
O valor de entrada, se necessário, a ordem dos bytes foi trocada.

HostSwap32

uint32_t HostSwap32(
  uint32_t v
)

Isso realiza condicionalmente, conforme necessário para o sistema de destino, uma troca de ordem de byte por valor do valor de 32 bits especificado, presumivelmente em ordem de byte big endian para o sistema de destino (ou seja,

host) ordenação de bytes.

Consequentemente, em sistemas de destino bit endian, este é um no-op e em sistemas de destino big endian, isso executa um reordenamento.

Detalhes
Parâmetros
[in] v
O valor de 32 bits a ser trocado pela ordem de bytes.
Devoluções
O valor de entrada, se necessário, a ordem dos bytes foi trocada.

HostSwap64

uint64_t HostSwap64(
  uint64_t v
)

Isso realiza condicionalmente, conforme necessário para o sistema de destino, uma troca de ordem de byte por valor do valor de 64 bits especificado, presumivelmente em ordem de byte big endian para o sistema de destino (ou seja

host) ordenação de bytes.

Consequentemente, em sistemas de destino bit endian, este é um no-op e em sistemas de destino big endian, isso executa um reordenamento.

Detalhes
Parâmetros
[in] v
O valor de 64 bits a ser trocado pela ordem de bytes.
Devoluções
O valor de entrada, se necessário, a ordem dos bytes foi trocada.

Put16

void Put16(
  uint8_t *p,
  uint16_t v
)

Execute uma gravação de memória, potencialmente não alinhada, do valor de 16 bits ordenado por byte do sistema de destino para o endereço do ponteiro especificado, execute 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 16 bits ordenado por 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 dos bytes trocada.

Put32

void Put32(
  uint8_t *p,
  uint32_t v
)

Execute uma gravação de memória, potencialmente desalinhada, do valor de 32 bits ordenado por byte do sistema de destino para o endereço do ponteiro especificado, execute 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 por bytes do sistema de destino na ordem de bytes big endian.
[in] v
O valor de 32 bits para gravar, se necessário, a ordem dos bytes trocada.

Put64

void Put64(
  uint8_t *p,
  uint64_t v
)

Execute uma gravação de memória, potencialmente não alinhada, do valor de 64 bits ordenado por byte do sistema de destino para o endereço do ponteiro especificado, execute 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 por bytes do sistema de destino na ordem de bytes big endian.
[in] v
O valor de 64 bits para gravar, se necessário, a ordem dos bytes trocada.

Read16

uint16_t Read16(
  uint8_t *& p
)

Execute uma leitura de memória potencialmente desalinhada do valor de 16 bits ordenado por byte big endian a partir do endereço do ponteiro especificado, execute 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 não alinhado, para ler o valor ordenado do byte big endian de 16 bits e, em seguida, incrementar em 16 bits (2 bytes).
Devoluções
O valor de 16 bits no endereço do ponteiro especificado, se necessário, a ordem de bytes foi trocada.

Read16

uint16_t Read16(
  const uint8_t *& p
)

Execute uma leitura de memória potencialmente desalinhada do valor de 16 bits ordenado por byte big endian a partir do endereço do ponteiro especificado, execute 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 não alinhado, para ler o valor ordenado do byte big endian de 16 bits e, então, incrementar em 16 bits (2 bytes).
Devoluções
O valor de 16 bits no endereço do ponteiro especificado, se necessário, a ordem de bytes foi trocada.

Read32

uint32_t Read32(
  uint8_t *& p
)

Execute uma leitura de memória, potencialmente desalinhada, do valor de 32 bits ordenado por byte big endian a partir do endereço do ponteiro especificado, execute 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, potencialmente não alinhado, para ler o valor ordenado do byte big endian de 32 bits e, em seguida, incrementar em 32 bits (4 bytes).
Devoluções
O valor de 32 bits no endereço do ponteiro especificado, se necessário, a ordem de bytes foi trocada.

Read32

uint32_t Read32(
  const uint8_t *& p
)

Execute uma leitura de memória potencialmente desalinhada do valor de 32 bits ordenado por byte big endian a partir do endereço do ponteiro especificado, execute 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 desalinhado, para ler o valor ordenado do byte big endian de 32 bits e, em seguida, incrementar em 32 bits (4 bytes).
Devoluções
O valor de 32 bits no endereço do ponteiro especificado, se necessário, a ordem de bytes foi trocada.

Read64

uint64_t Read64(
  uint8_t *& p
)

Execute uma leitura de memória potencialmente desalinhada do valor de 64 bits do big endian ordenado pelo byte do endereço do ponteiro especificado, execute 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 não alinhado, para ler o valor ordenado do byte big endian de 64 bits e, em seguida, incrementar em 64 bits (8 bytes).
Devoluções
O valor de 64 bits no endereço do ponteiro especificado, se necessário, a ordem de bytes trocada.

Read64

uint64_t Read64(
  const uint8_t *& p
)

Execute uma leitura de memória, potencialmente não alinhada, do valor de 64 bits do big endian ordenado pelo byte do endereço do ponteiro especificado, execute 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 não alinhado, para ler o valor ordenado do byte big endian de 64 bits e, em seguida, incrementar em 64 bits (8 bytes).
Devoluções
O valor de 64 bits no endereço do ponteiro especificado, se necessário, a ordem de bytes trocada.

Write16

void Write16(
  uint8_t *& p,
  uint16_t v
)

Execute uma gravação de memória, potencialmente desalinhada, do valor de 16 bits ordenado por byte do sistema de destino para o endereço do ponteiro especificado, execute 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 por byte do sistema de destino na ordem de bytes big endian e, em seguida, incrementar em 16 bits (2 bytes).
[in] v
O valor de 16 bits para gravar, se necessário, a ordem dos bytes trocada.

Write32

void Write32(
  uint8_t *& p,
  uint32_t v
)

Execute uma gravação de memória, potencialmente desalinhada, do valor de 32 bits ordenado por byte do sistema de destino para o endereço do ponteiro especificado, execute 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 por bytes do sistema de destino na ordem de bytes big endian e, em seguida, incrementar em 32 bits (4 bytes).
[in] v
O valor de 32 bits para gravar, se necessário, a ordem dos bytes trocada.

Write64

void Write64(
  uint8_t *& p,
  uint64_t v
)

Execute uma gravação de memória, potencialmente não alinhada, do valor de 64 bits ordenado por byte do sistema de destino para o endereço do ponteiro especificado, execute a reordenação de bytes, conforme necessário, para o sistema de destino colocar 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 por bytes do sistema de destino na ordem de bytes 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 dos bytes trocada.