nl::Weave::Encoding::LittleEndian

Cet espace de noms fournit des fonctions pour:

Résumé

  • Réorganisation des octets, par rapport au système hôte, en fonction de la valeur des valeurs ordonnées en octets de Little Endian pour les types 16, 32 et 64 bits.
  • Exécution sécurisée d'accès simples et efficaces, mappés en mémoire, potentiellement non alignés, avec ou sans réorganisation des octets, vers des quantités ordonnées d'octets Little Endian de 8, 16, 32 et 64 bits, avec et sans gestion des pointeurs.

Sur les systèmes hôtes Little Endian, aucune réorganisation des octets ne se produira. Sur les autres systèmes, la réorganisation des octets est effectuée selon les besoins.

distantes

Get16(const uint8_t *p)
uint16_t
Effectuez une lecture dans la mémoire potentiellement non alignée de la valeur de 16 bits ordonnée sur l'octet 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.
Get32(const uint8_t *p)
uint32_t
Effectuez une lecture dans la mémoire potentiellement non alignée de la valeur de 32 bits ordonnée sur l'octet 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
Effectuez une lecture dans la mémoire potentiellement non alignée de la valeur de 64 bits ordonnée par l'octet 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.
HostSwap16(uint16_t v)
uint16_t
Cela effectue de manière conditionnelle, tel que nécessaire pour le système cible, un remplacement de l'ordre des octets selon la valeur de la valeur 16 bits spécifiée, supposée être dans un ordre d'octets Little endian vers le système cible (par exemple,
HostSwap32(uint32_t v)
uint32_t
Cela effectue de manière conditionnelle, selon les besoins pour le système cible, un remplacement de l'ordre des octets selon la valeur de la valeur 32 bits spécifiée, supposée être dans un ordre d'octets Little endian vers le système cible (par exemple,
HostSwap64(uint64_t v)
uint64_t
Cela effectue de manière conditionnelle, si nécessaire pour le système cible, un remplacement de l'ordre des octets selon la valeur de la valeur de 64 bits spécifiée, supposée être dans un ordre d'octets Little endian vers le système cible (par exemple,
Put16(uint8_t *p, uint16_t v)
void
Effectuez une écriture dans la mémoire, potentiellement non alignée, de la valeur de 16 bits ordonnée par l'octet du système cible vers 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 Little Endian.
Put32(uint8_t *p, uint32_t v)
void
Effectuez une écriture dans la mémoire, potentiellement non alignée, de la valeur de 32 bits ordonnée par l'octet du système cible vers 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 Little Endian.
Put64(uint8_t *p, uint64_t v)
void
Effectuez une écriture dans la mémoire, potentiellement non alignée, de la valeur de 64 bits ordonnée par l'octet du système cible vers 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 en mode Little Endian.
Read16(uint8_t *& p)
uint16_t
Effectuez une lecture dans la mémoire potentiellement non alignée de la valeur de 16 bits ordonnée sur l'octet 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. Ensuite, incrémentez le pointeur de 16 bits (2 octets).
Read16(const uint8_t *& p)
uint16_t
Effectuez une lecture dans la mémoire potentiellement non alignée de la valeur de 16 bits ordonnée sur l'octet 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. Ensuite, incrémentez le pointeur de 16 bits (2 octets).
Read32(uint8_t *& p)
uint32_t
Lire la mémoire potentiellement non alignée de la valeur de 32 bits ordonnée par l'octet Little endian à partir de l'adresse de pointeur spécifiée, réagencer les octets, si nécessaire, pour que le système cible place la valeur dans l'ordre des octets du système cible et incrémenter le pointeur de 32 bits (4 octets).
Read32(const uint8_t *& p)
uint32_t
Lire la mémoire potentiellement non alignée de la valeur de 32 bits ordonnée par l'octet Little endian à partir de l'adresse de pointeur spécifiée, réagencer les octets, si nécessaire, pour que le système cible place la valeur dans l'ordre des octets du système cible et incrémenter le pointeur de 32 bits (4 octets).
Read64(uint8_t *& p)
uint64_t
Effectuez une lecture dans la mémoire potentiellement non alignée de la valeur de 64 bits ordonnée par l'octet 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 et incrémente le pointeur de 64 bits (8 octets).
Read64(const uint8_t *& p)
uint64_t
Effectuez une lecture dans la mémoire potentiellement non alignée de la valeur de 64 bits ordonnée par l'octet 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 et incrémente le pointeur de 64 bits (8 octets).
Write16(uint8_t *& p, uint16_t v)
void
Effectuez une écriture dans la mémoire, potentiellement non alignée, de la valeur de 16 bits ordonnée par l'octet du système cible vers 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 Little Endian.
Write32(uint8_t *& p, uint32_t v)
void
Effectuez une écriture dans la mémoire, potentiellement non alignée, de la valeur de 32 bits ordonnée par l'octet du système cible vers 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 Little Endian.
Write64(uint8_t *& p, uint64_t v)
void
Effectuez une écriture dans la mémoire, potentiellement non alignée, de la valeur de 64 bits ordonnée par l'octet du système cible vers 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 en mode Little Endian.

distantes

Get16

uint16_t Get16(
  const uint8_t *p
)

Effectuez une lecture dans la mémoire potentiellement non alignée de la valeur de 16 bits ordonnée sur l'octet 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
Une adresse de pointeur, potentiellement non alignée, à partir de laquelle lire la valeur ordonnée de l'octet Little endian de 16 bits.
Renvoie
Valeur 16 bits à l'adresse de pointeur spécifiée. Si nécessaire, les octets ont été réorganisés.

Get32

uint32_t Get32(
  const uint8_t *p
)

Effectuez une lecture dans la mémoire potentiellement non alignée de la valeur de 32 bits ordonnée sur l'octet 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
Une adresse de pointeur, potentiellement non alignée, à partir de laquelle lire la valeur ordonnée de l'octet Little endian de 32 bits.
Renvoie
La valeur 32 bits à l'adresse de pointeur spécifiée, si nécessaire, réorganisé les octets.

Get64

uint64_t Get64(
  const uint8_t *p
)

Effectuez une lecture dans la mémoire potentiellement non alignée de la valeur de 64 bits ordonnée par l'octet 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
Une adresse de pointeur, potentiellement non alignée, à partir de laquelle lire la valeur ordonnée de l'octet Little endian de 64 bits.
Renvoie
Valeur de 64 bits à l'adresse de pointeur spécifiée, si nécessaire, réorganisé les octets.

HostSwap16

uint16_t HostSwap16(
  uint16_t v
)

Cela effectue de manière conditionnelle, tel que nécessaire pour le système cible, un remplacement de l'ordre des octets selon la valeur de la valeur 16 bits spécifiée, supposée être dans un ordre d'octets Little endian vers le système cible (par exemple,

hôte) par ordre d'octets.

Par conséquent, sur les systèmes cibles Little endian, il s'agit d'un 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 à remplacer par l'ordre des octets.
Renvoie
Valeur d'entrée, si nécessaire, ordre des octets échangé.

HostSwap32

uint32_t HostSwap32(
  uint32_t v
)

Cela effectue de manière conditionnelle, selon les besoins pour le système cible, un remplacement de l'ordre des octets selon la valeur de la valeur 32 bits spécifiée, supposée être dans un ordre d'octets Little endian vers le système cible (par exemple,

hôte) par ordre d'octets.

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

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

HostSwap64

uint64_t HostSwap64(
  uint64_t v
)

Cela effectue de manière conditionnelle, si nécessaire pour le système cible, un remplacement de l'ordre des octets selon la valeur de la valeur de 64 bits spécifiée, supposée être dans un ordre d'octets Little endian vers le système cible (par exemple,

hôte) par ordre d'octets.

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

Détails
Paramètres
[in] v
Valeur de 64 bits à remplacer par 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
)

Effectuez une écriture dans la mémoire, potentiellement non alignée, de la valeur de 16 bits ordonnée par l'octet du système cible vers 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 Little Endian.

Détails
Paramètres
[in] p
Une adresse de pointeur, potentiellement non alignée, permettant d'écrire la valeur de 16 bits ordonnée par l'octet du système cible dans un ordre d'octets Little Endian.
[in] v
Valeur 16 bits à écrire, si nécessaire, ordonnée.

Put32

void Put32(
  uint8_t *p,
  uint32_t v
)

Effectuez une écriture dans la mémoire, potentiellement non alignée, de la valeur de 32 bits ordonnée par l'octet du système cible vers 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 Little Endian.

Détails
Paramètres
[in] p
Une adresse de pointeur, potentiellement non alignée, permettant d'écrire la valeur de 32 bits ordonnée par l'octet du système cible dans un ordre d'octets Little Endian.
[in] v
Valeur de 32 bits à écrire, si nécessaire, ordonnée.

Put64

void Put64(
  uint8_t *p,
  uint64_t v
)

Effectuez une écriture dans la mémoire, potentiellement non alignée, de la valeur de 64 bits ordonnée par l'octet du système cible vers 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 en mode Little Endian.

Détails
Paramètres
[in] p
Une adresse de pointeur, potentiellement non alignée, permettant d'écrire la valeur de 64 bits ordonnée par l'octet du système cible dans un ordre d'octets Little Endian.
[in] v
Valeur de 64 bits à écrire, si nécessaire, ordonnée.

Read16

uint16_t Read16(
  uint8_t *& p
)

Effectuez une lecture dans la mémoire potentiellement non alignée de la valeur de 16 bits ordonnée sur l'octet 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. Ensuite, incrémentez le pointeur de 16 bits (2 octets).

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

Read16

uint16_t Read16(
  const uint8_t *& p
)

Effectuez une lecture dans la mémoire potentiellement non alignée de la valeur de 16 bits ordonnée sur l'octet 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. Ensuite, incrémentez le pointeur de 16 bits (2 octets).

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

Read32

uint32_t Read32(
  uint8_t *& p
)

Lire la mémoire potentiellement non alignée de la valeur de 32 bits ordonnée par l'octet Little endian à partir de l'adresse de pointeur spécifiée, réagencer les octets, si nécessaire, pour que le système cible place la valeur dans l'ordre des octets du système cible et incrémenter le pointeur de 32 bits (4 octets).

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

Read32

uint32_t Read32(
  const uint8_t *& p
)

Lire la mémoire potentiellement non alignée de la valeur de 32 bits ordonnée par l'octet Little endian à partir de l'adresse de pointeur spécifiée, réagencer les octets, si nécessaire, pour que le système cible place la valeur dans l'ordre des octets du système cible et incrémenter le pointeur de 32 bits (4 octets).

Détails
Paramètres
[in,out] p
Une référence à une adresse de pointeur constant, potentiellement non alignée, permettant de lire la valeur ordonnée des octets Little Endian de 32 bits, puis de l'incrémenter de 32 bits (4 octets).
Renvoie
Valeur de 32 bits à l'adresse de pointeur spécifiée, si nécessaire, ordre des octets échangé.

Read64

uint64_t Read64(
  uint8_t *& p
)

Effectuez une lecture dans la mémoire potentiellement non alignée de la valeur de 64 bits ordonnée par l'octet 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 et incrémente le pointeur de 64 bits (8 octets).

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

Read64

uint64_t Read64(
  const uint8_t *& p
)

Effectuez une lecture dans la mémoire potentiellement non alignée de la valeur de 64 bits ordonnée par l'octet 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 et incrémente le pointeur de 64 bits (8 octets).

Détails
Paramètres
[in,out] p
Une référence à une adresse de pointeur constant, potentiellement non alignée, permettant de lire la valeur ordonnée des octets Little Endian de 64 bits, puis de l'incrémenter de 64 bits (8 octets).
Renvoie
Valeur de 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
)

Effectuez une écriture dans la mémoire, potentiellement non alignée, de la valeur de 16 bits ordonnée par l'octet du système cible vers 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 Little Endian.

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

Write32

void Write32(
  uint8_t *& p,
  uint32_t v
)

Effectuez une écriture dans la mémoire, potentiellement non alignée, de la valeur de 32 bits ordonnée par l'octet du système cible vers 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 Little Endian.

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

Write64

void Write64(
  uint8_t *& p,
  uint64_t v
)

Effectuez une écriture dans la mémoire, potentiellement non alignée, de la valeur de 64 bits ordonnée par l'octet du système cible vers 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 en mode Little Endian.

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