nl::Weave::Encoding::LittleEndian

Questo spazio dei nomi fornisce funzioni per:

Riepilogo

  • Esecuzione del riordinamento dei byte, rispetto al sistema host, per valore di piccoli valori ordinati di byte di tipo endian per tipi a 16, 32 e 64 bit.
  • Esecuzione sicura di semplici ed efficienti accessi mappati in memoria, potenzialmente a posizioni di memoria non allineate, con o senza riordinamento dei byte, a quantità ordinate di piccole quantità di byte endian a 8, 16, 32 e 64 bit, con e senza gestione dei cursori.

Sui sistemi host di piccole dimensioni non verrà realmente eseguito il riordinamento dei byte. Su altri sistemi, il riordinamento dei byte viene eseguito in modo appropriato.

Funzioni

Get16(const uint8_t *p)
uint16_t
Eseguire una lettura della memoria potenzialmente non allineata del valore a 16 bit ordinato dai byte piccoli di endian dall'indirizzo del puntatore specificato, eseguire il riordinamento dei byte, se necessario, affinché il sistema di destinazione metta il valore nell'ordinamento dei byte del sistema di destinazione.
Get32(const uint8_t *p)
uint32_t
Eseguire una lettura della memoria potenzialmente non allineata del valore a 32 bit ordinato dai byte piccoli di endian dall'indirizzo del puntatore specificato, eseguire il riordinamento dei byte, se necessario, affinché il sistema di destinazione metta il valore nell'ordinamento dei byte del sistema di destinazione.
Get64(const uint8_t *p)
uint64_t
Eseguire una lettura della memoria potenzialmente non allineata del valore a 64 bit ordinato dai byte piccoli di endian dall'indirizzo del puntatore specificato, eseguire il riordinamento dei byte, se necessario, affinché il sistema di destinazione metta il valore nell'ordinamento dei byte del sistema di destinazione.
HostSwap16(uint16_t v)
uint16_t
Ciò esegue in modo condizionale, se necessario per il sistema di destinazione, uno scambio di ordini di byte per valore del valore di 16 bit specificato, che si presume sia in un ordine di byte byte al sistema di destinazione (ossia
HostSwap32(uint32_t v)
uint32_t
Ciò esegue in modo condizionale, se necessario per il sistema di destinazione, uno scambio di ordini di byte per valore del valore specificato a 32 bit, che si presume sia in un ordine di byte byte al sistema di destinazione (ossia
HostSwap64(uint64_t v)
uint64_t
Ciò esegue in modo condizionale, se necessario per il sistema di destinazione, uno scambio di ordini di byte per valore del valore a 64 bit specificato, che si presume sia in un ordine di byte byte al sistema di destinazione (ossia
Put16(uint8_t *p, uint16_t v)
void
Eseguire una scrittura di memoria potenzialmente non allineata dei byte di sistema di destinazione ordinati a 16 bit nell'indirizzo del puntatore specificato, eseguire il riordinamento dei byte, se necessario, affinché il sistema di destinazione metta il valore in un ordine di byte byte di piccole dimensioni.
Put32(uint8_t *p, uint32_t v)
void
Eseguire una scrittura di memoria potenzialmente non allineata dei byte di sistema di destinazione ordinati a 32 bit nell'indirizzo del puntatore specificato, eseguire il riordinamento dei byte, se necessario, affinché il sistema di destinazione metta il valore in un ordine di byte byte di piccole dimensioni.
Put64(uint8_t *p, uint64_t v)
void
Eseguire una scrittura di memoria potenzialmente non allineata dei byte di sistema di destinazione ordinati a 64 bit nell'indirizzo del puntatore specificato, eseguire il riordinamento dei byte, se necessario, affinché il sistema di destinazione metta il valore in un ordine di byte Lotto.
Read16(uint8_t *& p)
uint16_t
Eseguire una lettura di memoria, potenzialmente non allineata, del valore a 16 bit ordinato dai byte Lotti dall'indirizzo del puntatore specificato, eseguire il riordinamento dei byte, se necessario, affinché il sistema di destinazione metta il valore nell'ordinamento dei byte del sistema di destinazione e aumenti il puntatore di 16 bit (2 byte).
Read16(const uint8_t *& p)
uint16_t
Eseguire una lettura di memoria, potenzialmente non allineata, del valore a 16 bit ordinato dai byte Lotti dall'indirizzo del puntatore specificato, eseguire il riordinamento dei byte, se necessario, affinché il sistema di destinazione metta il valore nell'ordinamento dei byte del sistema di destinazione e aumenti il puntatore di 16 bit (2 byte).
Read32(uint8_t *& p)
uint32_t
Eseguire una lettura di memoria, potenzialmente non allineata, del valore a 32 bit ordinato dai byte Lotti dall'indirizzo del puntatore specificato, eseguire il riordinamento dei byte, se necessario, affinché il sistema di destinazione metta il valore nell'ordinamento dei byte del sistema di destinazione e aumenti il puntatore di 32 bit (4 byte).
Read32(const uint8_t *& p)
uint32_t
Eseguire una lettura di memoria, potenzialmente non allineata, del valore a 32 bit ordinato dai byte Lotti dall'indirizzo del puntatore specificato, eseguire il riordinamento dei byte, se necessario, affinché il sistema di destinazione metta il valore nell'ordinamento dei byte del sistema di destinazione e aumenti il puntatore di 32 bit (4 byte).
Read64(uint8_t *& p)
uint64_t
Eseguire una lettura di memoria, potenzialmente non allineata, del valore a 64 bit ordinato dal byte piccolo endian dall'indirizzo del puntatore specificato, eseguire il riordinamento dei byte, se necessario, affinché il sistema di destinazione metta il valore nell'ordinamento dei byte del sistema di destinazione e aumenti il puntatore di 64 bit (8 byte).
Read64(const uint8_t *& p)
uint64_t
Eseguire una lettura di memoria, potenzialmente non allineata, del valore a 64 bit ordinato dal byte piccolo endian dall'indirizzo del puntatore specificato, eseguire il riordinamento dei byte, se necessario, affinché il sistema di destinazione metta il valore nell'ordinamento dei byte del sistema di destinazione e aumenti il puntatore di 64 bit (8 byte).
Write16(uint8_t *& p, uint16_t v)
void
Eseguire una scrittura di memoria potenzialmente non allineata dei byte di sistema di destinazione ordinati a 16 bit nell'indirizzo del puntatore specificato, eseguire il riordinamento dei byte, se necessario, affinché il sistema di destinazione metta il valore in un ordine di byte byte di piccole dimensioni.
Write32(uint8_t *& p, uint32_t v)
void
Eseguire una scrittura di memoria potenzialmente non allineata dei byte di sistema di destinazione ordinati a 32 bit nell'indirizzo del puntatore specificato, eseguire il riordinamento dei byte, se necessario, affinché il sistema di destinazione metta il valore in un ordine di byte byte di piccole dimensioni.
Write64(uint8_t *& p, uint64_t v)
void
Eseguire una scrittura di memoria potenzialmente non allineata dei byte di sistema di destinazione ordinati a 64 bit nell'indirizzo del puntatore specificato, eseguire il riordinamento dei byte, se necessario, affinché il sistema di destinazione metta il valore in un ordine di byte byte di piccole dimensioni.

Funzioni

Get16

uint16_t Get16(
  const uint8_t *p
)

Eseguire una lettura della memoria potenzialmente non allineata del valore a 16 bit ordinato dai byte piccoli di endian dall'indirizzo del puntatore specificato, eseguire il riordinamento dei byte, se necessario, affinché il sistema di destinazione metta il valore nell'ordine dei byte del sistema di destinazione.

Dettagli
Parametri
[in] p
Un indirizzo di puntamento, potenzialmente non allineato, da cui leggere il valore ordinato in byte byte piccoli a 16 bit.
Restituisce
Il valore a 16 bit nell'indirizzo del puntatore specificato, se necessario, riordinato in byte.

Get32

uint32_t Get32(
  const uint8_t *p
)

Eseguire una lettura della memoria potenzialmente non allineata del valore a 32 bit ordinato dai byte piccoli di endian dall'indirizzo del puntatore specificato, eseguire il riordinamento dei byte, se necessario, affinché il sistema di destinazione metta il valore nell'ordinamento dei byte del sistema di destinazione.

Dettagli
Parametri
[in] p
Un indirizzo di puntamento, potenzialmente non allineato, da cui leggere il valore ordinato in byte byte piccoli a 32 bit.
Restituisce
Il valore a 32 bit nell'indirizzo del puntatore specificato, se necessario, riordinato in byte.

Get64

uint64_t Get64(
  const uint8_t *p
)

Eseguire una lettura della memoria potenzialmente non allineata del valore a 64 bit ordinato dai byte piccoli di endian dall'indirizzo del puntatore specificato, eseguire il riordinamento dei byte, se necessario, affinché il sistema di destinazione metta il valore nell'ordinamento dei byte del sistema di destinazione.

Dettagli
Parametri
[in] p
Un indirizzo di puntamento, potenzialmente non allineato, da cui leggere il valore ordinato in byte byte piccoli a 64 bit.
Restituisce
Il valore a 64 bit nell'indirizzo del puntatore specificato, se necessario, riordinato in byte.

HostSwap16

uint16_t HostSwap16(
  uint16_t v
)

Ciò esegue in modo condizionale, se necessario per il sistema di destinazione, uno scambio di ordini di byte per valore del valore di 16 bit specificato, che si presume sia in un ordine di byte byte al sistema di destinazione (ossia

(host)).

Di conseguenza, sui piccoli sistemi di destinazione endian, si tratta di un'operazione autonoma, mentre sui sistemi di destinazione dei big endian viene eseguito un riordinamento.

Dettagli
Parametri
[in] v
Il valore a 16 bit di cui l'ordine dei byte deve essere scambiato.
Restituisce
Il valore di input, se necessario, l'ordine dei byte scambiato.

HostSwap32

uint32_t HostSwap32(
  uint32_t v
)

Ciò esegue in modo condizionale, se necessario per il sistema di destinazione, uno scambio di ordini di byte per valore del valore specificato a 32 bit, che si presume sia in un ordine di byte byte al sistema di destinazione (ossia

(host)).

Di conseguenza, sui piccoli sistemi di destinazione endian, si tratta di un'operazione autonoma, mentre sui sistemi di destinazione dei big endian viene eseguito un riordinamento.

Dettagli
Parametri
[in] v
Il valore a 32 bit di cui l'ordine di byte deve essere scambiato.
Restituisce
Il valore di input, se necessario, l'ordine dei byte scambiato.

HostSwap64

uint64_t HostSwap64(
  uint64_t v
)

Ciò esegue in modo condizionale, se necessario per il sistema di destinazione, uno scambio di ordini di byte per valore del valore a 64 bit specificato, che si presume sia in un ordine di byte byte al sistema di destinazione (ossia

(host)).

Di conseguenza, sui piccoli sistemi di destinazione endian, si tratta di un'operazione autonoma, mentre sui sistemi di destinazione dei big endian viene eseguito un riordinamento.

Dettagli
Parametri
[in] v
Il valore a 64 bit di cui l'ordine di byte deve essere scambiato.
Restituisce
Il valore di input, se necessario, l'ordine dei byte scambiato.

Put16

void Put16(
  uint8_t *p,
  uint16_t v
)

Eseguire una scrittura di memoria potenzialmente non allineata dei byte di sistema di destinazione ordinati a 16 bit nell'indirizzo del puntatore specificato, eseguire il riordinamento dei byte, se necessario, affinché il sistema di destinazione metta il valore in un ordine di byte byte di piccole dimensioni.

Dettagli
Parametri
[in] p
Un indirizzo di puntamento, potenzialmente non allineato, per scrivere il byte di sistema di destinazione ordinato in un ordine a 16 bit a 16 bit in ordine di byte.
[in] v
Il valore a 16 bit da scrivere, se necessario, in byte riordinati.

Put32

void Put32(
  uint8_t *p,
  uint32_t v
)

Eseguire una scrittura di memoria potenzialmente non allineata dei byte di sistema di destinazione ordinati a 32 bit nell'indirizzo del puntatore specificato, eseguire il riordinamento dei byte, se necessario, affinché il sistema di destinazione metta il valore in un ordine di byte byte di piccole dimensioni.

Dettagli
Parametri
[in] p
Un indirizzo di puntamento, potenzialmente non allineato, per scrivere il byte di sistema di destinazione ordinato in un ordine a 32 bit a 32 bit in Lotto.
[in] v
Il valore a 32 bit da scrivere, se necessario, in byte riordinati.

Put64

void Put64(
  uint8_t *p,
  uint64_t v
)

Eseguire una scrittura di memoria potenzialmente non allineata dei byte di sistema di destinazione ordinati a 64 bit nell'indirizzo del puntatore specificato, eseguire il riordinamento dei byte, se necessario, affinché il sistema di destinazione metta il valore in un ordine di byte byte di piccole dimensioni.

Dettagli
Parametri
[in] p
Un indirizzo di puntamento, potenzialmente non allineato, per scrivere il byte di sistema di destinazione ordinato in un ordine a 64 bit a 64 bit in Lotto.
[in] v
Il valore a 64 bit da scrivere, se necessario, in byte riordinati.

Read16

uint16_t Read16(
  uint8_t *& p
)

Eseguire una lettura di memoria, potenzialmente non allineata, del valore a 16 bit ordinato dal byte piccolo endian dall'indirizzo del puntatore specificato, eseguire il riordinamento dei byte, se necessario, affinché il sistema di destinazione metta il valore nell'ordinamento dei byte del sistema di destinazione e aumenti il puntatore di 16 bit (2 byte).

Dettagli
Parametri
[in,out] p
Un riferimento ad un indirizzo di puntamento, potenzialmente non allineato, per leggere il valore ordinato di questo byte a 16 bit da e poi incrementare di 16 bit (2 byte).
Restituisce
Il valore a 16 bit nell'indirizzo del puntatore specificato, se necessario, in ordine di byte scambiato.

Read16

uint16_t Read16(
  const uint8_t *& p
)

Eseguire una lettura di memoria, potenzialmente non allineata, del valore a 16 bit ordinato dal byte piccolo endian dall'indirizzo del puntatore specificato, eseguire il riordinamento dei byte, se necessario, affinché il sistema di destinazione metta il valore nell'ordinamento dei byte del sistema di destinazione e aumenti il puntatore di 16 bit (2 byte).

Dettagli
Parametri
[in,out] p
Un riferimento ad un indirizzo di puntamento costante, potenzialmente non allineato, per leggere il valore ordinato di byte byte piccoli a 16 bit da e poi incrementare di 16 bit (2 byte).
Restituisce
Il valore a 16 bit nell'indirizzo del puntatore specificato, se necessario, in ordine di byte scambiato.

Read32

uint32_t Read32(
  uint8_t *& p
)

Eseguire una lettura di memoria, potenzialmente non allineata, del valore a 32 bit ordinato dai byte Lotti dall'indirizzo del puntatore specificato, eseguire il riordinamento dei byte, se necessario, affinché il sistema di destinazione metta il valore nell'ordinamento dei byte del sistema di destinazione e aumenti il puntatore di 32 bit (4 byte).

Dettagli
Parametri
[in,out] p
Un riferimento ad un indirizzo di puntamento, potenzialmente non allineato, per leggere il valore ordinato di questo byte a 32 bit da e poi incrementare di 32 bit (4 byte).
Restituisce
Il valore a 32 bit nell'indirizzo del puntatore specificato, se necessario, in ordine di byte scambiato.

Read32

uint32_t Read32(
  const uint8_t *& p
)

Eseguire una lettura di memoria, potenzialmente non allineata, del valore a 32 bit ordinato dai byte Lotti dall'indirizzo del puntatore specificato, eseguire il riordinamento dei byte, se necessario, affinché il sistema di destinazione metta il valore nell'ordinamento dei byte del sistema di destinazione e aumenti il puntatore di 32 bit (4 byte).

Dettagli
Parametri
[in,out] p
Un riferimento ad un indirizzo di puntatore costante, potenzialmente non allineato, per leggere il valore ordinato di byte byte piccoli a 32 bit da e poi incrementare di 32 bit (4 byte).
Restituisce
Il valore a 32 bit nell'indirizzo del puntatore specificato, se necessario, in ordine di byte scambiato.

Read64

uint64_t Read64(
  uint8_t *& p
)

Eseguire una lettura di memoria, potenzialmente non allineata, del valore a 64 bit ordinato dal byte piccolo endian dall'indirizzo del puntatore specificato, eseguire il riordinamento dei byte, se necessario, affinché il sistema di destinazione metta il valore nell'ordinamento dei byte del sistema di destinazione e aumenti il puntatore di 64 bit (8 byte).

Dettagli
Parametri
[in,out] p
Un riferimento ad un indirizzo di puntamento, potenzialmente non allineato, per leggere il valore ordinato dei byte byte piccoli a 64 bit da e poi incrementare di 64 bit (8 byte).
Restituisce
Il valore a 64 bit nell'indirizzo del puntatore specificato, se necessario, in ordine di byte scambiato.

Read64

uint64_t Read64(
  const uint8_t *& p
)

Eseguire una lettura di memoria, potenzialmente non allineata, del valore a 64 bit ordinato dal byte piccolo endian dall'indirizzo del puntatore specificato, eseguire il riordinamento dei byte, se necessario, affinché il sistema di destinazione metta il valore nell'ordinamento dei byte del sistema di destinazione e aumenti il puntatore di 64 bit (8 byte).

Dettagli
Parametri
[in,out] p
Un riferimento ad un indirizzo di puntatore costante, potenzialmente non allineato, per leggere il valore ordinato di byte byte piccoli a 64 bit da e poi incrementare di 64 bit (8 byte).
Restituisce
Il valore a 64 bit nell'indirizzo del puntatore specificato, se necessario, in ordine di byte scambiato.

Write16

void Write16(
  uint8_t *& p,
  uint16_t v
)

Eseguire una scrittura di memoria potenzialmente non allineata dei byte di sistema di destinazione ordinati a 16 bit nell'indirizzo del puntatore specificato, eseguire il riordinamento dei byte, se necessario, affinché il sistema di destinazione metta il valore in un ordine di byte byte di piccole dimensioni.

Dettagli
Parametri
[in] p
Un riferimento ad un indirizzo di puntamento, potenzialmente non allineato, per scrivere il byte di sistema di destinazione ordinato in un ordine di byte di 16 bit e quindi incrementarlo di 16 bit (2 byte).
[in] v
Valore a 16 bit da scrivere, se necessario, ordine dei byte scambiato.

Write32

void Write32(
  uint8_t *& p,
  uint32_t v
)

Eseguire una scrittura di memoria potenzialmente non allineata dei byte di sistema di destinazione ordinati a 32 bit nell'indirizzo del puntatore specificato, eseguire il riordinamento dei byte, se necessario, affinché il sistema di destinazione metta il valore in un ordine di byte byte di piccole dimensioni.

Dettagli
Parametri
[in] p
Un riferimento ad un indirizzo di puntamento, potenzialmente non allineato, per scrivere il byte di sistema di destinazione ordinato a 32 bit in un ordine di byte di piccole dimensioni e quindi incrementarlo di 32 bit (4 byte).
[in] v
Valore a 32 bit da scrivere, se necessario, ordine dei byte scambiato.

Write64

void Write64(
  uint8_t *& p,
  uint64_t v
)

Eseguire una scrittura di memoria potenzialmente non allineata dei byte di sistema di destinazione ordinati a 64 bit nell'indirizzo del puntatore specificato, eseguire il riordinamento dei byte, se necessario, affinché il sistema di destinazione metta il valore in un ordine di byte byte di piccole dimensioni.

Dettagli
Parametri
[in] p
Un riferimento ad un indirizzo di puntamento, potenzialmente non allineato, per scrivere il byte di sistema di destinazione ordinato in un ordine di byte a 64 bit e quindi incrementarlo di 64 bit (8 byte).
[in] v
Valore a 64 bit da scrivere, se necessario, ordine di byte scambiato.