nl::Weave::Encoding

Cet espace de noms fournit des fonctions pour:

Résumé

  • Réorganisation des octets par valeur pour les types 16, 32 et 64 bits.
  • Exécution sûre et efficace d'accès mappés en mémoire, potentiellement non alignés, avec ou sans réorganisation des octets, vers des quantités de 8, 16, 32 et 64 bits, avec et sans gestion des pointeurs.

Fonctions

Get8(const uint8_t *p)
uint8_t
Effectue une lecture de mémoire, potentiellement non alignée, de la valeur 8 bits à partir de l'adresse de pointeur spécifiée.
Put8(uint8_t *p, uint8_t v)
void
Effectue une écriture dans la mémoire, potentiellement non alignée, de la valeur de 8 bits ordonnée en octets du système cible sur l'adresse de pointeur spécifiée.
Read8(uint8_t *& p)
uint8_t
Effectue une lecture de la mémoire, potentiellement non alignée, de la valeur 16 bits à partir de l'adresse de pointeur spécifiée et incrémente le pointeur de 8 bits (1 octet).
Read8(const uint8_t *& p)
uint8_t
Effectue une lecture de la mémoire, potentiellement non alignée, de la valeur 16 bits à partir de l'adresse de pointeur spécifiée et incrémente le pointeur de 8 bits (1 octet).
Swap16(uint16_t v)
uint16_t
Cette opération effectue un échange de l'ordre des octets par valeur de la valeur 16 bits spécifiée.
Swap32(uint32_t v)
uint32_t
Cette opération effectue un échange de l'ordre des octets par valeur de la valeur 32 bits spécifiée.
Swap64(uint64_t v)
uint64_t
Cette opération effectue un échange de l'ordre des octets par valeur de la valeur 64 bits spécifiée.
Write8(uint8_t *& p, uint8_t v)
void
Effectue une écriture dans la mémoire, potentiellement non alignée, de la valeur 8 bits dans l'adresse de pointeur spécifiée et incrémente le pointeur de 8 bits (1 octet).

Espaces de noms

nl::Weave::Encoding::BigEndian

Cet espace de noms fournit des fonctions pour:

nl::Weave::Encoding::LittleEndian

Cet espace de noms fournit des fonctions pour:

Fonctions

Get8

uint8_t Get8(
  const uint8_t *p
)

Effectue une lecture de la mémoire, potentiellement non alignée, de la valeur 8 bits à partir de l'adresse de pointeur spécifiée.

Détails
Paramètres
[in] p
Adresse de pointeur, potentiellement non alignée, à partir de laquelle lire la valeur 8 bits.
Renvoie
Valeur 8 bits à l'adresse de pointeur spécifiée.

Put8

void Put8(
  uint8_t *p,
  uint8_t v
)

Effectue une écriture dans la mémoire, potentiellement non alignée, de la valeur de 8 bits ordonnée en octets du système cible sur l'adresse de pointeur spécifiée.

Détails
Paramètres
[in] p
Adresse de pointeur, potentiellement non alignée, dans laquelle écrire la valeur 8 bits.
[in] v
Valeur 8 bits à écrire.

Read8

uint8_t Read8(
  uint8_t *& p
)

Effectue une lecture de la mémoire, potentiellement non alignée, de la valeur 16 bits à partir de l'adresse de pointeur spécifiée et incrémente le pointeur de 8 bits (1 octet).

Détails
Paramètres
[in,out] p
Référence à une adresse de pointeur, potentiellement non alignée, pour lire la valeur 8 bits, puis l'incrémenter de 8 bits (1 octet).
Renvoie
Valeur 8 bits à l'adresse de pointeur spécifiée.

Read8

uint8_t Read8(
  const uint8_t *& p
)

Effectue une lecture de la mémoire, potentiellement non alignée, de la valeur 16 bits à partir de l'adresse de pointeur spécifiée et incrémente le pointeur de 8 bits (1 octet).

Détails
Paramètres
[in,out] p
Référence à une adresse de pointeur constante, potentiellement non alignée, pour lire la valeur 8 bits, puis l'incrémenter de 8 bits (1 octet).
Renvoie
Valeur 8 bits à l'adresse de pointeur spécifiée.

Swap16

uint16_t Swap16(
  uint16_t v
)

Cette opération effectue un échange de l'ordre des octets par valeur de la valeur 16 bits spécifiée.

Détails
Paramètres
[in] v
Valeur de 16 bits à échanger dans l'ordre des octets.
Renvoie
Valeur d'entrée, ordre des octets échangé.

Swap32

uint32_t Swap32(
  uint32_t v
)

Cette opération effectue un échange de l'ordre des octets par valeur de la valeur 32 bits spécifiée.

Détails
Paramètres
[in] v
Valeur 32 bits à échanger dans l'ordre des octets.
Renvoie
Valeur d'entrée, ordre des octets échangé.

Swap64

uint64_t Swap64(
  uint64_t v
)

Cette opération effectue un échange de l'ordre des octets par valeur de la valeur 64 bits spécifiée.

Détails
Paramètres
[in] v
Valeur 64 bits à échanger dans l'ordre des octets.
Renvoie
Valeur d'entrée, ordre des octets échangé.

Write8

void Write8(
  uint8_t *& p,
  uint8_t v
)

Effectue une écriture dans la mémoire, potentiellement non alignée, de la valeur 8 bits dans l'adresse de pointeur spécifiée et incrémente le pointeur de 8 bits (1 octet).

Détails
Paramètres
[in,out] p
Référence à une adresse de pointeur, potentiellement non alignée, pour lire la valeur 8 bits, puis l'incrémenter de 8 bits (1 octet).
[in] v
Valeur 8 bits à écrire.