nl::Weave::Encoding::BigEndian

Questo spazio dei nomi fornisce funzioni per:

Riepilogo

  • Esecuzione del riordinamento dei byte, rispetto al sistema host, in base al valore dei valori ordinati dei byte big-endian per i tipi a 16, 32 e 64 bit.
  • Accessi mappati in memoria semplici ed efficienti in modo sicuro, potenzialmente a posizioni di memoria disallineate, con o senza riordinamento di byte, a quantità ordinate di byte big endian a 8, 16, 32 e 64 bit, sia con che senza gestione del puntatore.

Nei sistemi host big-endian non verrà eseguito un riordinamento effettivo dei byte. Su altri sistemi, il riordinamento dei byte viene eseguito in base alle esigenze.

Funzioni

Get16(const uint8_t *p)
uint16_t
Esegui una lettura in memoria potenzialmente disallineata del valore di byte big-endian ordinato a 16 bit dall'indirizzo del puntatore specificato ed esegui il riordinamento di byte, se necessario, affinché il sistema di destinazione posizioni il valore nell'ordine di byte del sistema di destinazione.
Get32(const uint8_t *p)
uint32_t
Esegui una lettura in memoria potenzialmente disallineata del valore di byte big endian ordinato a 32 bit dall'indirizzo del puntatore specificato ed esegui il riordinamento di byte, se necessario, affinché il sistema di destinazione posizioni il valore nell'ordine dei byte di sistema di destinazione.
Get64(const uint8_t *p)
uint64_t
Esegui una lettura in memoria potenzialmente disallineata del valore di byte big-endian ordinato a 64 bit dall'indirizzo del puntatore specificato ed esegui il riordinamento di byte, se necessario, affinché il sistema di destinazione posizioni il valore nell'ordine di byte del sistema di destinazione.
HostSwap16(uint16_t v)
uint16_t
Questo esegue in modo condizionale, se necessario per il sistema di destinazione, uno scambio dell'ordine di byte in base al valore del valore a 16 bit specificato, che si presume essere in un ordinamento di byte big endian al sistema di destinazione (ad es.
HostSwap32(uint32_t v)
uint32_t
Questo esegue in modo condizionale, se necessario per il sistema di destinazione, uno scambio dell'ordine di byte in base al valore del valore a 32 bit specificato, che si presume essere in un ordinamento di byte big endian al sistema di destinazione (ad es.
HostSwap64(uint64_t v)
uint64_t
Questo esegue in modo condizionale, se necessario per il sistema di destinazione, uno scambio dell'ordine di byte in base al valore del valore specificato a 64 bit, che si presume essere in un ordinamento di byte big endian al sistema di destinazione (ad es.
Put16(uint8_t *p, uint16_t v)
void
Esegui una scrittura in memoria potenzialmente disallineata dei byte di sistema di destinazione ordinati a 16 bit all'indirizzo del puntatore specificato ed esegui il riordinamento di byte, se necessario, affinché il sistema di destinazione posizioni il valore in un ordine di byte big end.
Put32(uint8_t *p, uint32_t v)
void
Esegui una scrittura in memoria potenzialmente disallineata del valore ordinato a 32 bit dei byte di sistema di destinazione all'indirizzo del puntatore specificato ed esegui il riordinamento di byte, se necessario, affinché il sistema di destinazione posizioni il valore in un ordine di byte big end.
Put64(uint8_t *p, uint64_t v)
void
Esegui una scrittura in memoria potenzialmente disallineata dei byte di sistema di destinazione ordinati a 64 bit all'indirizzo del puntatore specificato ed esegui il riordinamento di byte, se necessario, affinché il sistema di destinazione posizioni il valore in un ordine di byte big end.
Read16(uint8_t *& p)
uint16_t
Eseguire una lettura in memoria potenzialmente disallineata del valore di 16 bit ordinato dei byte big-endian dall'indirizzo del puntatore specificato, eseguire il riordinamento di byte, se necessario, per il sistema di destinazione per mettere il valore nell'ordine dei byte di sistema di destinazione e incrementare il puntatore di 16 bit (2 byte).
Read16(const uint8_t *& p)
uint16_t
Eseguire una lettura in memoria potenzialmente disallineata del valore di 16 bit ordinato dei byte big-endian dall'indirizzo del puntatore specificato, eseguire il riordinamento di byte, se necessario, per il sistema di destinazione per mettere il valore nell'ordine dei byte di sistema di destinazione e incrementare il puntatore di 16 bit (2 byte).
Read32(uint8_t *& p)
uint32_t
Eseguire una lettura in memoria potenzialmente disallineata del valore a 32 bit ordinato dei byte big-endian dall'indirizzo del puntatore specificato, eseguire il riordinamento di byte, se necessario, per il sistema di destinazione per mettere il valore nell'ordine dei byte di sistema di destinazione e incrementare il puntatore di 32 bit (4 byte).
Read32(const uint8_t *& p)
uint32_t
Eseguire una lettura in memoria potenzialmente disallineata del valore a 32 bit ordinato dei byte big-endian dall'indirizzo del puntatore specificato, eseguire il riordinamento di byte, se necessario, per il sistema di destinazione per mettere il valore nell'ordine dei byte di sistema di destinazione e incrementare il puntatore di 32 bit (4 byte).
Read64(uint8_t *& p)
uint64_t
Eseguire una lettura in memoria potenzialmente disallineata del valore di 64 bit ordinato dei byte big-endian dall'indirizzo del puntatore specificato, eseguire il riordinamento di byte, se necessario, per il sistema di destinazione per mettere il valore nell'ordine dei byte di sistema di destinazione e incrementare il puntatore di 64 bit (8 byte).
Read64(const uint8_t *& p)
uint64_t
Eseguire una lettura in memoria potenzialmente disallineata del valore di 64 bit ordinato dei byte big-endian dall'indirizzo del puntatore specificato, eseguire il riordinamento di byte, se necessario, per il sistema di destinazione per mettere il valore nell'ordine dei byte di sistema di destinazione e incrementare il puntatore di 64 bit (8 byte).
Write16(uint8_t *& p, uint16_t v)
void
Esegui una scrittura in memoria potenzialmente disallineata dei byte di sistema di destinazione ordinati a 16 bit all'indirizzo del puntatore specificato ed esegui il riordinamento di byte, se necessario, affinché il sistema di destinazione posizioni il valore in un ordine di byte big end.
Write32(uint8_t *& p, uint32_t v)
void
Esegui una scrittura in memoria potenzialmente disallineata del valore ordinato a 32 bit dei byte di sistema di destinazione all'indirizzo del puntatore specificato ed esegui il riordinamento di byte, se necessario, affinché il sistema di destinazione posizioni il valore in un ordine di byte big end.
Write64(uint8_t *& p, uint64_t v)
void
Esegui una scrittura in memoria potenzialmente disallineata dei byte di sistema di destinazione ordinati a 64 bit all'indirizzo del puntatore specificato ed esegui il riordinamento di byte, se necessario, affinché il sistema di destinazione posizioni il valore in un ordine di byte big end.

Funzioni

Get16

uint16_t Get16(
  const uint8_t *p
)

Esegui una lettura in memoria potenzialmente disallineata del valore di byte big-endian ordinato a 16 bit dall'indirizzo del puntatore specificato ed esegui il riordinamento di byte, se necessario, affinché il sistema di destinazione posizioni il valore nell'ordine di byte del sistema di destinazione.

Dettagli
Parametri
[in] p
Un indirizzo del puntatore, potenzialmente non allineato, da cui leggere il valore ordinato dei byte big endian a 16 bit.
Restituisce
Il valore a 16 bit all'indirizzo del puntatore specificato, se necessario, in byte riordinati.

Get32

uint32_t Get32(
  const uint8_t *p
)

Esegui una lettura in memoria potenzialmente disallineata del valore di byte big endian ordinato a 32 bit dall'indirizzo del puntatore specificato ed esegui il riordinamento di byte, se necessario, affinché il sistema di destinazione posizioni il valore nell'ordine dei byte di sistema di destinazione.

Dettagli
Parametri
[in] p
Un indirizzo del puntatore, potenzialmente non allineato, da cui leggere il valore ordinato dei byte big endian a 32 bit.
Restituisce
Il valore a 32 bit all'indirizzo del puntatore specificato, se necessario, è stato riordinato in byte.

Get64

uint64_t Get64(
  const uint8_t *p
)

Esegui una lettura in memoria potenzialmente disallineata del valore di byte big-endian ordinato a 64 bit dall'indirizzo del puntatore specificato ed esegui il riordinamento di byte, se necessario, affinché il sistema di destinazione posizioni il valore nell'ordine di byte del sistema di destinazione.

Dettagli
Parametri
[in] p
Un indirizzo del puntatore, potenzialmente non allineato, da cui leggere il valore ordinato dei byte big endian a 64 bit.
Restituisce
Il valore a 64 bit all'indirizzo del puntatore specificato, se necessario, in byte riordinati.

HostSwap16

uint16_t HostSwap16(
  uint16_t v
)

Questo esegue in modo condizionale, se necessario per il sistema di destinazione, uno scambio dell'ordine di byte in base al valore del valore a 16 bit specificato, che si presume essere in un ordinamento di byte big endian al sistema di destinazione (ad es.

host).

Di conseguenza, sui sistemi di destinazione bit endian, si tratta di un processo autonomo e sui sistemi di destinazione big-endian esegue un riordinamento.

Dettagli
Parametri
[in] v
Il valore a 16 bit da scambiare nell'ordine dei byte.
Restituisce
Il valore di input, se necessario, nell'ordine dei byte scambiato.

HostSwap32

uint32_t HostSwap32(
  uint32_t v
)

Questo esegue in modo condizionale, se necessario per il sistema di destinazione, uno scambio dell'ordine di byte in base al valore del valore a 32 bit specificato, che si presume essere in un ordinamento di byte big endian al sistema di destinazione (ad es.

host).

Di conseguenza, sui sistemi di destinazione bit endian, si tratta di un processo autonomo e sui sistemi di destinazione big-endian esegue un riordinamento.

Dettagli
Parametri
[in] v
Il valore a 32 bit da scambiare per l'ordine dei byte.
Restituisce
Il valore di input, se necessario, nell'ordine dei byte scambiato.

HostSwap64

uint64_t HostSwap64(
  uint64_t v
)

Questo esegue in modo condizionale, se necessario per il sistema di destinazione, uno scambio dell'ordine di byte in base al valore del valore specificato a 64 bit, che si presume essere in un ordinamento di byte big endian al sistema di destinazione (ad es.

host).

Di conseguenza, sui sistemi di destinazione bit endian, si tratta di un processo autonomo e sui sistemi di destinazione big-endian esegue un riordinamento.

Dettagli
Parametri
[in] v
Il valore a 64 bit da scambiare per l'ordine dei byte.
Restituisce
Il valore di input, se necessario, nell'ordine dei byte scambiato.

Put16

void Put16(
  uint8_t *p,
  uint16_t v
)

Esegui una scrittura in memoria potenzialmente disallineata dei byte di sistema di destinazione ordinati a 16 bit all'indirizzo del puntatore specificato ed esegui il riordinamento di byte, se necessario, affinché il sistema di destinazione posizioni il valore in un ordine di byte big end.

Dettagli
Parametri
[in] p
Indirizzo del puntatore, potenzialmente disallineato, per scrivere il valore in byte ordinato a 16 bit del sistema di destinazione in ordine di byte big endian.
[in] v
Il valore a 16 bit da scrivere, se necessario, nell'ordine dei byte scambiati.

Put32

void Put32(
  uint8_t *p,
  uint32_t v
)

Esegui una scrittura in memoria potenzialmente disallineata del valore ordinato a 32 bit dei byte di sistema di destinazione all'indirizzo del puntatore specificato ed esegui il riordinamento di byte, se necessario, affinché il sistema di destinazione posizioni il valore in un ordine di byte big end.

Dettagli
Parametri
[in] p
Indirizzo del puntatore, potenzialmente non allineato, per scrivere il valore in byte ordinato a 32 bit del sistema di destinazione in ordine di byte big endian.
[in] v
Il valore a 32 bit da scrivere, se necessario, nell'ordine dei byte scambiati.

Put64

void Put64(
  uint8_t *p,
  uint64_t v
)

Esegui una scrittura in memoria potenzialmente disallineata dei byte di sistema di destinazione ordinati a 64 bit all'indirizzo del puntatore specificato ed esegui il riordinamento di byte, se necessario, affinché il sistema di destinazione posizioni il valore in un ordine di byte big end.

Dettagli
Parametri
[in] p
Indirizzo del puntatore, potenzialmente disallineato, per scrivere il valore in byte ordinato a 64 bit del sistema di destinazione in ordine di byte big endian.
[in] v
Il valore a 64 bit da scrivere, se necessario, nell'ordine dei byte scambiati.

Read16

uint16_t Read16(
  uint8_t *& p
)

Eseguire una lettura in memoria potenzialmente disallineata del valore di 16 bit ordinato dei byte big-endian dall'indirizzo del puntatore specificato, eseguire il riordinamento di byte, se necessario, per il sistema di destinazione per mettere il valore nell'ordine dei byte di sistema di destinazione e incrementare il puntatore di 16 bit (2 byte).

Dettagli
Parametri
[in,out] p
Riferimento a un indirizzo del puntatore, potenzialmente disallineato, per leggere il valore ordinato dei byte big-endian a 16 bit e per poi incrementare di 16 bit (2 byte).
Restituisce
Il valore a 16 bit all'indirizzo del puntatore specificato, se necessario, scambiato nell'ordine dei byte.

Read16

uint16_t Read16(
  const uint8_t *& p
)

Eseguire una lettura in memoria potenzialmente disallineata del valore di 16 bit ordinato dei byte big-endian dall'indirizzo del puntatore specificato, eseguire il riordinamento di byte, se necessario, per il sistema di destinazione per mettere il valore nell'ordine dei byte di sistema di destinazione e incrementare il puntatore di 16 bit (2 byte).

Dettagli
Parametri
[in,out] p
Riferimento a un indirizzo di puntatore costante, potenzialmente disallineato, per leggere il valore ordinato dei byte big endian a 16 bit e per poi incrementare di 16 bit (2 byte).
Restituisce
Il valore a 16 bit all'indirizzo del puntatore specificato, se necessario, scambiato nell'ordine dei byte.

Read32

uint32_t Read32(
  uint8_t *& p
)

Eseguire una lettura in memoria potenzialmente disallineata del valore a 32 bit ordinato dei byte big-endian dall'indirizzo del puntatore specificato, eseguire il riordinamento di byte, se necessario, per il sistema di destinazione per mettere il valore nell'ordine dei byte di sistema di destinazione e incrementare il puntatore di 32 bit (4 byte).

Dettagli
Parametri
[in,out] p
Riferimento a un indirizzo del puntatore, potenzialmente disallineato, per leggere il valore ordinato dei byte big-endian a 32 bit e per poi incrementare di 32 bit (4 byte).
Restituisce
Valore a 32 bit all'indirizzo del puntatore specificato, se necessario, scambiato nell'ordine dei byte.

Read32

uint32_t Read32(
  const uint8_t *& p
)

Eseguire una lettura in memoria potenzialmente disallineata del valore a 32 bit ordinato dei byte big-endian dall'indirizzo del puntatore specificato, eseguire il riordinamento di byte, se necessario, per il sistema di destinazione per mettere il valore nell'ordine dei byte di sistema di destinazione e incrementare il puntatore di 32 bit (4 byte).

Dettagli
Parametri
[in,out] p
Riferimento ad un indirizzo di puntatore costante, potenzialmente disallineato, per leggere il valore ordinato dei byte big endian a 32 bit e per poi incrementare di 32 bit (4 byte).
Restituisce
Valore a 32 bit all'indirizzo del puntatore specificato, se necessario, scambiato nell'ordine dei byte.

Read64

uint64_t Read64(
  uint8_t *& p
)

Eseguire una lettura in memoria potenzialmente disallineata del valore di 64 bit ordinato dei byte big-endian dall'indirizzo del puntatore specificato, eseguire il riordinamento di byte, se necessario, per il sistema di destinazione per mettere il valore nell'ordine dei byte di sistema di destinazione e incrementare il puntatore di 64 bit (8 byte).

Dettagli
Parametri
[in,out] p
Riferimento ad un indirizzo del puntatore, potenzialmente disallineato, per leggere il valore ordinato dei byte big-endian a 64 bit e per poi incrementare di 64 bit (8 byte).
Restituisce
Il valore a 64 bit all'indirizzo del puntatore specificato, se necessario, scambiato nell'ordine dei byte.

Read64

uint64_t Read64(
  const uint8_t *& p
)

Eseguire una lettura in memoria potenzialmente disallineata del valore di 64 bit ordinato dei byte big-endian dall'indirizzo del puntatore specificato, eseguire il riordinamento di byte, se necessario, per il sistema di destinazione per mettere il valore nell'ordine dei byte di sistema di destinazione e incrementare il puntatore di 64 bit (8 byte).

Dettagli
Parametri
[in,out] p
Riferimento a un indirizzo di puntatore costante, potenzialmente disallineato, per leggere il valore ordinato dei byte big endian a 64 bit e per poi incrementare di 64 bit (8 byte).
Restituisce
Il valore a 64 bit all'indirizzo del puntatore specificato, se necessario, scambiato nell'ordine dei byte.

Write16

void Write16(
  uint8_t *& p,
  uint16_t v
)

Esegui una scrittura in memoria potenzialmente disallineata dei byte di sistema di destinazione ordinati a 16 bit all'indirizzo del puntatore specificato ed esegui il riordinamento di byte, se necessario, affinché il sistema di destinazione posizioni il valore in un ordine di byte big end.

Dettagli
Parametri
[in] p
Un riferimento a un indirizzo puntatore, potenzialmente disallineato, per scrivere il valore dei byte di sistema di destinazione ordinati a 16 bit in ordine di byte big endian e quindi incrementarlo di 16 bit (2 byte).
[in] v
Il valore a 16 bit da scrivere, se necessario, nell'ordine dei byte scambiati.

Write32

void Write32(
  uint8_t *& p,
  uint32_t v
)

Esegui una scrittura in memoria potenzialmente disallineata del valore ordinato a 32 bit dei byte di sistema di destinazione all'indirizzo del puntatore specificato ed esegui il riordinamento di byte, se necessario, affinché il sistema di destinazione posizioni il valore in un ordine di byte big end.

Dettagli
Parametri
[in] p
Riferimento a un indirizzo puntatore, potenzialmente disallineato, per scrivere i byte di sistema di destinazione ordinati a 32 bit in ordine di byte big-endian e quindi incrementare di 32 bit (4 byte).
[in] v
Il valore a 32 bit da scrivere, se necessario, nell'ordine dei byte scambiati.

Write64

void Write64(
  uint8_t *& p,
  uint64_t v
)

Esegui una scrittura in memoria potenzialmente disallineata dei byte di sistema di destinazione ordinati a 64 bit all'indirizzo del puntatore specificato ed esegui il riordinamento di byte, se necessario, affinché il sistema di destinazione posizioni il valore in un ordine di byte big end.

Dettagli
Parametri
[in] p
Un riferimento a un indirizzo puntatore, potenzialmente disallineato, per scrivere il valore dei byte di sistema di destinazione ordinati a 64 bit in un ordine di byte big-endian e quindi incrementarlo di 64 bit (8 byte).
[in] v
Il valore a 64 bit da scrivere, se necessario, nell'ordine dei byte scambiati.