nl::Weave::Encoding::BigEndian

Questo spazio dei nomi fornisce funzioni per:

Riepilogo

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

Sui sistemi host big-endian 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 byte big endian ordinato a 16 bit 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.
Get32(const uint8_t *p)
uint32_t
Eseguire una lettura della memoria potenzialmente non allineata del byte big endian ordinato a 32 bit 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.
Get64(const uint8_t *p)
uint64_t
Eseguire una lettura della memoria potenzialmente non allineata del byte big endian ordinato a 64 bit 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.
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 specificato a 16 bit, che si presume sia nell'ordinamento di byte big-endian al sistema di destinazione (vale a dire
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 nell'ordinamento di byte big-endian al sistema di destinazione (vale a dire
HostSwap64(uint64_t v)
uint64_t
Ciò esegue in modo condizionale, se necessario per il sistema di destinazione, uno scambio di ordini di byte in base al valore del valore specificato a 64 bit, che si presume sia nell'ordinamento di byte big-endian al sistema di destinazione (vale a dire
Put16(uint8_t *p, uint16_t v)
void
Eseguire una scrittura in 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 nell'ordine dei byte big-endian.
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 nell'ordine dei byte big-endian.
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 nell'ordine dei byte big-endian.
Read16(uint8_t *& p)
uint16_t
Eseguire una lettura di memoria potenzialmente non allineata del byte big endian ordinato a 16 bit 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 byte big endian ordinato a 16 bit 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 dal byte big 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 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 dal byte big 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 32 bit (4 byte).
Read64(uint8_t *& p)
uint64_t
Eseguire una lettura di memoria potenzialmente non allineata del byte big endian ordinato a 64 bit 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 byte big endian ordinato a 64 bit 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 in 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 nell'ordine dei byte big-endian.
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 nell'ordine dei byte big-endian.
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 nell'ordine dei byte big-endian.

Funzioni

Get16

uint16_t Get16(
  const uint8_t *p
)

Eseguire una lettura della memoria potenzialmente non allineata del byte big endian ordinato a 16 bit 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 big-endian 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 byte big endian ordinato a 32 bit 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 big-endian 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 byte big endian ordinato a 64 bit 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 big-endian 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 specificato a 16 bit, che si presume sia nell'ordinamento di byte big-endian al sistema di destinazione (vale a dire

(host)).

Di conseguenza, sui sistemi di destinazione bit endian, questa è una procedura 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, in ordine di byte scambiati.

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 nell'ordinamento di byte big-endian al sistema di destinazione (vale a dire

(host)).

Di conseguenza, sui sistemi di destinazione bit endian, questa è una procedura 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 specificato a 64 bit, che si presume sia nell'ordinamento di byte big-endian al sistema di destinazione (ossia

(host)).

Di conseguenza, sui sistemi di destinazione bit endian, questa è una procedura 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 nell'ordine dei byte big-endian.

Dettagli
Parametri
[in] p
Un indirizzo di puntamento, potenzialmente non allineato, per scrivere il byte di sistema di destinazione ordinato con un valore a 16 bit nell'ordine dei byte big-endian.
[in] v
Valore a 16 bit da scrivere, se necessario, ordine dei byte scambiato.

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 nell'ordine dei byte big-endian.

Dettagli
Parametri
[in] p
Un indirizzo di puntamento, potenzialmente non allineato, per scrivere il byte di sistema di destinazione ordinato con un valore a 32 bit nell'ordine di byte big-endian.
[in] v
Valore a 32 bit da scrivere, se necessario, ordine dei byte scambiato.

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 nell'ordine dei byte big-endian.

Dettagli
Parametri
[in] p
Un indirizzo di puntamento, potenzialmente non allineato, per scrivere il byte di sistema di destinazione ordinato con un valore a 64 bit nell'ordine di byte big-endian.
[in] v
Valore a 64 bit da scrivere, se necessario, ordine di byte scambiato.

Read16

uint16_t Read16(
  uint8_t *& p
)

Eseguire una lettura di memoria potenzialmente non allineata del byte big endian ordinato a 16 bit 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 puntatore, potenzialmente non allineato, per leggere il valore ordinato del byte big-endian 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 byte big endian ordinato a 16 bit 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
Riferimento ad un indirizzo di puntamento costante, potenzialmente non allineato, per leggere il valore ordinato dei byte big-endian 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 dal byte big 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 32 bit (4 byte).

Dettagli
Parametri
[in,out] p
Un riferimento ad un indirizzo di puntatore, potenzialmente non allineato, per leggere il valore ordinato del byte big-endian 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 dal byte big 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 32 bit (4 byte).

Dettagli
Parametri
[in,out] p
Riferimento ad un indirizzo di puntamento costante, potenzialmente non allineato, per leggere il valore ordinato dei byte big-endian 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 big 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, potenzialmente non allineato, per leggere il valore ordinato del byte big endian 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 big 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 del byte big-endian 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 in 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 nell'ordine dei byte big-endian.

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 16 bit e poi 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 nell'ordine dei byte big-endian.

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 32 bit 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 nell'ordine dei byte big-endian.

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.