nl::Weave::Encoding::LittleEndian

Cet espace de noms fournit des fonctions pour:

Résumé

  • Effectuer la réorganisation des octets, par rapport au système hôte, en fonction de la valeur des valeurs ordonnées par les octets de petite-fin 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 ordonnées d'octets small-endian sur 8, 16, 32 et 64 bits, avec et sans gestion des pointeurs.

Sur les systèmes hôtes Littian, aucune réorganisation des octets ne se produit. Sur d'autres systèmes, la réorganisation des octets est effectuée de façon appropriée.

Fonctions

Get16(const uint8_t *p)
uint16_t
Effectuer une lecture dans la mémoire, potentiellement non alignée, de la valeur de 16 bits ordonnée par les octets de Little-Endian à partir de l'adresse de pointeur spécifiée, puis réarranger les octets, si nécessaire, pour que le système cible place la valeur dans l'ordre des octets du système cible.
Get32(const uint8_t *p)
uint32_t
Effectue une lecture de mémoire, potentiellement non alignée, de la valeur 32 bits ordonnée par les octets de Little-Endian à partir de l'adresse de pointeur spécifiée. Réorganisez les octets, si nécessaire, pour que le système cible place la valeur dans l'ordre des octets du système cible.
Get64(const uint8_t *p)
uint64_t
Effectuer une lecture dans la mémoire, potentiellement non alignée, de la valeur de 64 bits ordonnée par des octets Little-Endian à partir de l'adresse de pointeur spécifiée, puis réarranger les octets, si nécessaire, pour que le système cible place la valeur dans l'ordre des octets du système cible.
HostSwap16(uint16_t v)
uint16_t
Si nécessaire pour le système cible, cette opération effectue de manière conditionnelle un échange de l'ordre des octets par valeur de la valeur 16 bits spécifiée, présumé dans un ordre d'octets small-endian vers le système cible (c'est-à-dire
HostSwap32(uint32_t v)
uint32_t
Si nécessaire pour le système cible, cette opération effectue de manière conditionnelle un échange de l'ordre des octets par valeur de la valeur 32 bits spécifiée, présumé dans un ordre d'octets small-endian vers le système cible (c'est-à-dire
HostSwap64(uint64_t v)
uint64_t
Si nécessaire pour le système cible, cette opération effectue de manière conditionnelle un échange de l'ordre des octets par valeur de la valeur 64 bits spécifiée, présumé dans un ordre d'octets small-endian vers le système cible (c'est-à-dire
Put16(uint8_t *p, uint16_t v)
void
Effectuer une écriture dans la mémoire, potentiellement non alignée, de la valeur de 16 bits ordonnée par les octets du système cible dans l'adresse de pointeur spécifiée, effectuer la réorganisation des octets, si nécessaire, pour que le système cible place la valeur dans l'ordre des octets Littéral.
Put32(uint8_t *p, uint32_t v)
void
Effectuer une écriture dans la mémoire, potentiellement non alignée, de la valeur de 32 bits triée par les octets du système cible dans l'adresse de pointeur spécifiée, puis réarranger les octets, si nécessaire, pour que le système cible place la valeur dans l'ordre des octets Littéral.
Put64(uint8_t *p, uint64_t v)
void
Effectuer une écriture dans la mémoire, potentiellement non alignée, de la valeur de 64 bits ordonnée par les octets du système cible vers l'adresse de pointeur spécifiée, effectuer la réorganisation des octets, si nécessaire, pour que le système cible place la valeur dans l'ordre des octets Littéral.
Read16(uint8_t *& p)
uint16_t
Effectue une lecture dans la mémoire, potentiellement non alignée, de la valeur de 16 bits triée par des octets Little-Endian à partir de l'adresse de pointeur spécifiée, réorganisation des octets, si nécessaire, pour que le système cible place la valeur dans l'ordre des octets du système cible, et incrémente le pointeur de 16 bits (2 octets).
Read16(const uint8_t *& p)
uint16_t
Effectue une lecture dans la mémoire, potentiellement non alignée, de la valeur de 16 bits triée par des octets Little-Endian à partir de l'adresse de pointeur spécifiée, réorganisation des octets, si nécessaire, pour que le système cible place la valeur dans l'ordre des octets du système cible, et incrémente le pointeur de 16 bits (2 octets).
Read32(uint8_t *& p)
uint32_t
Effectue une lecture dans la mémoire, potentiellement non alignée, de la valeur de 32 bits triée par des octets Little-Endian à partir de l'adresse de pointeur spécifiée, réorganisation des octets, si nécessaire, pour que le système cible place la valeur dans l'ordre des octets du système cible, et incrémente le pointeur de 32 bits (4 octets).
Read32(const uint8_t *& p)
uint32_t
Effectue une lecture dans la mémoire, potentiellement non alignée, de la valeur de 32 bits triée par des octets Little-Endian à partir de l'adresse de pointeur spécifiée, réorganisation des octets, si nécessaire, pour que le système cible place la valeur dans l'ordre des octets du système cible, et incrémente le pointeur de 32 bits (4 octets).
Read64(uint8_t *& p)
uint64_t
Effectue une lecture dans la mémoire, potentiellement non alignée, de la valeur de 64 bits ordonnée par les octets de Little-Endian à partir de l'adresse de pointeur spécifiée, réorganisation des octets, si nécessaire, pour que le système cible place la valeur dans l'ordre des octets du système cible, et incrémente le pointeur de 64 bits (8 octets).
Read64(const uint8_t *& p)
uint64_t
Effectue une lecture dans la mémoire, potentiellement non alignée, de la valeur de 64 bits ordonnée par les octets de Little-Endian à partir de l'adresse de pointeur spécifiée, réorganisation des octets, si nécessaire, pour que le système cible place la valeur dans l'ordre des octets du système cible, et incrémente le pointeur de 64 bits (8 octets).
Write16(uint8_t *& p, uint16_t v)
void
Effectuer une écriture dans la mémoire, potentiellement non alignée, de la valeur de 16 bits ordonnée par les octets du système cible dans l'adresse de pointeur spécifiée, effectuer la réorganisation des octets, si nécessaire, pour que le système cible place la valeur dans l'ordre des octets Littéral.
Write32(uint8_t *& p, uint32_t v)
void
Effectuer une écriture dans la mémoire, potentiellement non alignée, de la valeur de 32 bits triée par les octets du système cible dans l'adresse de pointeur spécifiée, puis réarranger les octets, si nécessaire, pour que le système cible place la valeur dans l'ordre des octets Littéral.
Write64(uint8_t *& p, uint64_t v)
void
Effectuer une écriture dans la mémoire, potentiellement non alignée, de la valeur de 64 bits ordonnée par les octets du système cible vers l'adresse de pointeur spécifiée, effectuer la réorganisation des octets, si nécessaire, pour que le système cible place la valeur dans l'ordre des octets Littéral.

Fonctions

Get16

uint16_t Get16(
  const uint8_t *p
)

Effectuer une lecture dans la mémoire, potentiellement non alignée, de la valeur de 16 bits ordonnée par les octets de Little-Endian à partir de l'adresse de pointeur spécifiée, puis réarranger les octets, si nécessaire, pour que le système cible place la valeur dans l'ordre des octets du système cible.

Détails
Paramètres
[in] p
Adresse de pointeur, potentiellement non alignée, à partir de laquelle lire la valeur ordonnée de l'octet small-endian de 16 bits.
Renvoie
Valeur de 16 bits à l'adresse de pointeur spécifiée, si nécessaire, dans l'ordre des octets.

Get32

uint32_t Get32(
  const uint8_t *p
)

Effectue une lecture de mémoire, potentiellement non alignée, de la valeur 32 bits ordonnée par les octets de Little-Endian à partir de l'adresse de pointeur spécifiée. Réorganisez les octets, si nécessaire, pour que le système cible place la valeur dans l'ordre des octets du système cible.

Détails
Paramètres
[in] p
Adresse de pointeur, potentiellement non alignée, à partir de laquelle lire la valeur ordonnée de l'octet 32 bits few-endian.
Renvoie
Valeur 32 bits à l'adresse de pointeur spécifiée, si nécessaire, dans l'ordre des octets.

Get64

uint64_t Get64(
  const uint8_t *p
)

Effectuer une lecture dans la mémoire, potentiellement non alignée, de la valeur de 64 bits ordonnée par des octets Little-Endian à partir de l'adresse de pointeur spécifiée, puis réarranger les octets, si nécessaire, pour que le système cible place la valeur dans l'ordre des octets du système cible.

Détails
Paramètres
[in] p
Adresse de pointeur, potentiellement non alignée, à partir de laquelle lire la valeur ordonnée de l'octet small-endian de 64 bits.
Renvoie
Valeur 64 bits à l'adresse de pointeur spécifiée, si nécessaire, dans l'ordre des octets.

HostSwap16

uint16_t HostSwap16(
  uint16_t v
)

Si nécessaire pour le système cible, cette opération effectue de manière conditionnelle un échange de l'ordre des octets par valeur de la valeur 16 bits spécifiée, présumé dans un ordre d'octets small-endian vers le système cible (c'est-à-dire

l'ordre des octets).

Par conséquent, sur les systèmes cibles Little Endian, il s'agit d'une opération no-op et sur les systèmes cibles big endian, cela effectue une réorganisation.

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

HostSwap32

uint32_t HostSwap32(
  uint32_t v
)

Si nécessaire pour le système cible, cette opération effectue de manière conditionnelle un échange de l'ordre des octets par valeur de la valeur 32 bits spécifiée, présumé dans un ordre d'octets small-endian vers le système cible (c'est-à-dire

l'ordre des octets).

Par conséquent, sur les systèmes cibles Little Endian, il s'agit d'une opération no-op et sur les systèmes cibles big endian, cela effectue une réorganisation.

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

HostSwap64

uint64_t HostSwap64(
  uint64_t v
)

Si nécessaire pour le système cible, cette opération effectue de manière conditionnelle un échange de l'ordre des octets par valeur de la valeur 64 bits spécifiée, présumé dans un ordre d'octets small-endian vers le système cible (c'est-à-dire

l'ordre des octets).

Par conséquent, sur les systèmes cibles Little Endian, il s'agit d'une opération no-op et sur les systèmes cibles big endian, cela effectue une réorganisation.

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

Put16

void Put16(
  uint8_t *p,
  uint16_t v
)

Effectuer une écriture dans la mémoire, potentiellement non alignée, de la valeur de 16 bits ordonnée par les octets du système cible dans l'adresse de pointeur spécifiée, effectuer la réorganisation des octets, si nécessaire, pour que le système cible place la valeur dans l'ordre des octets Littéral.

Détails
Paramètres
[in] p
Une adresse de pointeur, potentiellement non alignée, pour écrire la valeur de 16 bits triée par les octets du système cible dans l'ordre des octets petit-endian.
[in] v
Valeur de 16 bits à écrire, si nécessaire, dans l'ordre des octets.

Put32

void Put32(
  uint8_t *p,
  uint32_t v
)

Effectuer une écriture dans la mémoire, potentiellement non alignée, de la valeur de 32 bits triée par les octets du système cible dans l'adresse de pointeur spécifiée, puis réarranger les octets, si nécessaire, pour que le système cible place la valeur dans l'ordre des octets Littéral.

Détails
Paramètres
[in] p
Une adresse de pointeur, potentiellement non alignée, pour écrire la valeur de 32 bits triée par les octets du système cible dans l'ordre des octets petit-endian.
[in] v
Valeur 32 bits à écrire, si nécessaire, dans l'ordre des octets.

Put64

void Put64(
  uint8_t *p,
  uint64_t v
)

Effectuer une écriture dans la mémoire, potentiellement non alignée, de la valeur de 64 bits ordonnée par les octets du système cible vers l'adresse de pointeur spécifiée, effectuer la réorganisation des octets, si nécessaire, pour que le système cible place la valeur dans l'ordre des octets Littéral.

Détails
Paramètres
[in] p
Adresse de pointeur, potentiellement non alignée, pour écrire la valeur de 64 bits ordonnée en octets du système cible dans l'ordre d'octets de la classe Littian.
[in] v
Valeur 64 bits à écrire, si nécessaire, dans l'ordre des octets.

Read16

uint16_t Read16(
  uint8_t *& p
)

Effectue une lecture dans la mémoire, potentiellement non alignée, de la valeur de 16 bits triée par des octets Little-Endian à partir de l'adresse de pointeur spécifiée, réorganisation des octets, si nécessaire, pour que le système cible place la valeur dans l'ordre des octets du système cible, et incrémente le pointeur de 16 bits (2 octets).

Détails
Paramètres
[in,out] p
Référence à une adresse de pointeur, potentiellement non alignée, pour lire la valeur ordonnée en octets small-endian de 16 bits à partir de, puis l'incrémenter de 16 bits (2 octets).
Renvoie
Valeur 16 bits à l'adresse de pointeur spécifiée, si nécessaire, ordre des octets échangé.

Read16

uint16_t Read16(
  const uint8_t *& p
)

Effectue une lecture dans la mémoire, potentiellement non alignée, de la valeur de 16 bits triée par des octets Little-Endian à partir de l'adresse de pointeur spécifiée, réorganisation des octets, si nécessaire, pour que le système cible place la valeur dans l'ordre des octets du système cible, et incrémente le pointeur de 16 bits (2 octets).

Détails
Paramètres
[in,out] p
Référence à une adresse de pointeur constante, potentiellement non alignée, pour lire la valeur ordonnée en octets de small endian de 16 bits, puis l'incrémenter de 16 bits (2 octets).
Renvoie
Valeur 16 bits à l'adresse de pointeur spécifiée, si nécessaire, ordre des octets échangé.

Read32

uint32_t Read32(
  uint8_t *& p
)

Effectue une lecture dans la mémoire, potentiellement non alignée, de la valeur de 32 bits triée par des octets Little-Endian à partir de l'adresse de pointeur spécifiée, réorganisation des octets, si nécessaire, pour que le système cible place la valeur dans l'ordre des octets du système cible, et incrémente le pointeur de 32 bits (4 octets).

Détails
Paramètres
[in,out] p
Référence à une adresse de pointeur, potentiellement non alignée, pour lire la valeur ordonnée en octets de petite-endian sur 32 bits, puis l'incrémenter de 32 bits (4 octets).
Renvoie
Valeur 32 bits à l'adresse de pointeur spécifiée, si nécessaire, ordre des octets échangé.

Read32

uint32_t Read32(
  const uint8_t *& p
)

Effectue une lecture dans la mémoire, potentiellement non alignée, de la valeur de 32 bits triée par des octets Little-Endian à partir de l'adresse de pointeur spécifiée, réorganisation des octets, si nécessaire, pour que le système cible place la valeur dans l'ordre des octets du système cible, et incrémente le pointeur de 32 bits (4 octets).

Détails
Paramètres
[in,out] p
Référence à une adresse de pointeur constante, potentiellement non alignée, pour lire la valeur ordonnée en octets de petite-endian sur 32 bits, puis l'incrémenter de 32 bits (4 octets).
Renvoie
Valeur 32 bits à l'adresse de pointeur spécifiée, si nécessaire, ordre des octets échangé.

Read64

uint64_t Read64(
  uint8_t *& p
)

Effectue une lecture dans la mémoire, potentiellement non alignée, de la valeur de 64 bits ordonnée par des octets Little-Endian à partir de l'adresse de pointeur spécifiée, réorganisation des octets, si nécessaire, pour que le système cible place la valeur dans l'ordre des octets du système cible, et incrémente le pointeur de 64 bits (8 octets).

Détails
Paramètres
[in,out] p
Référence à une adresse de pointeur, potentiellement non alignée, pour lire la valeur ordonnée en octets de petite-endian de 64 bits à partir de celle-ci, puis l'incrémenter de 64 bits (8 octets).
Renvoie
Valeur 64 bits à l'adresse de pointeur spécifiée, si nécessaire, ordre des octets échangé.

Read64

uint64_t Read64(
  const uint8_t *& p
)

Effectue une lecture dans la mémoire, potentiellement non alignée, de la valeur de 64 bits ordonnée par des octets Little-Endian à partir de l'adresse de pointeur spécifiée, réorganisation des octets, si nécessaire, pour que le système cible place la valeur dans l'ordre des octets du système cible, et incrémente le pointeur de 64 bits (8 octets).

Détails
Paramètres
[in,out] p
Référence à une adresse de pointeur constante, potentiellement non alignée, pour lire la valeur ordonnée en octets de petite-endian de 64 bits à partir de, puis l'incrémenter de 64 bits (8 octets).
Renvoie
Valeur 64 bits à l'adresse de pointeur spécifiée, si nécessaire, ordre des octets échangé.

Write16

void Write16(
  uint8_t *& p,
  uint16_t v
)

Effectuer une écriture dans la mémoire, potentiellement non alignée, de la valeur de 16 bits ordonnée par les octets du système cible dans l'adresse de pointeur spécifiée, effectuer la réorganisation des octets, si nécessaire, pour que le système cible place la valeur dans l'ordre des octets Littéral.

Détails
Paramètres
[in] p
Référence à une adresse de pointeur, potentiellement non alignée, pour écrire la valeur de 16 bits ordonnées par le système cible dans l'ordre des octets Little Endian, puis pour l'incrémenter de 16 bits (2 octets).
[in] v
Valeur 16 bits à écrire, si nécessaire, dans l'ordre des octets échangé.

Write32

void Write32(
  uint8_t *& p,
  uint32_t v
)

Effectuer une écriture dans la mémoire, potentiellement non alignée, de la valeur de 32 bits triée par les octets du système cible dans l'adresse de pointeur spécifiée, puis réarranger les octets, si nécessaire, pour que le système cible place la valeur dans l'ordre des octets Littéral.

Détails
Paramètres
[in] p
Référence à une adresse de pointeur, potentiellement non alignée, pour écrire la valeur de 32 bits ordonnée en octets du système cible dans l'ordre des octets Little Endian, puis l'incrémenter de 32 bits (4 octets).
[in] v
Valeur 32 bits à écrire, si nécessaire, dans l'ordre des octets échangé.

Write64

void Write64(
  uint8_t *& p,
  uint64_t v
)

Effectuer une écriture dans la mémoire, potentiellement non alignée, de la valeur de 64 bits ordonnée par les octets du système cible vers l'adresse de pointeur spécifiée, effectuer la réorganisation des octets, si nécessaire, pour que le système cible place la valeur dans l'ordre des octets Littéral.

Détails
Paramètres
[in] p
Référence à une adresse de pointeur, potentiellement non alignée, pour écrire la valeur de 64 bits ordonnée par les octets du système cible dans l'ordre des octets Little Endian, puis pour l'incrémenter de 64 bits (8 octets).
[in] v
Valeur 64 bits à écrire, si nécessaire, dans l'ordre des octets échangé.