nl:: Weave:: Encoding:: BigEndian
Cet espace de noms fournit des fonctions pour:
Résumé
- Réorganisation des octets, par rapport au système hôte, par valeur de valeurs ordonnées en mode big-endian 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 8, 16, 32 et 64 bits en big endian, avec et sans gestion des pointeurs.
Sur les systèmes hôtes big endian, 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 triée par des octets big-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
Effectuer une lecture dans la mémoire, potentiellement non alignée, de la valeur 32 bits triée par des octets big-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.
|
Get64(const uint8_t *p)
|
uint64_t
Effectue une lecture de mémoire, potentiellement non alignée, de la valeur de 64 bits triée par des octets big-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
Si nécessaire pour le système cible, cette commande 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 en mode big-endian vers le système cible (par exemple,
|
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 en mode big-endian vers le système cible (par exemple,
|
HostSwap64(uint64_t v)
|
uint64_t
Si nécessaire pour le système cible, cette commande 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 en mode big-endian vers le système cible (par exemple,
|
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 triée par les octets du système cible dans l'adresse de pointeur spécifiée, réarranger les octets, si nécessaire, pour que le système cible place la valeur dans un ordre d'octets en mode big-endian.
|
Put32(uint8_t *p, uint32_t v)
|
void
Effectue une écriture dans la mémoire, potentiellement non alignée, de la valeur de 32 bits ordonnée par les octets du système cible dans l'adresse de pointeur spécifiée. Réorganisez les octets, si nécessaire, pour que le système cible place la valeur dans un ordre d'octets en mode big-endian.
|
Put64(uint8_t *p, uint64_t v)
|
void
Effectue 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 dans l'adresse de pointeur spécifiée. Réorganisez les octets, si nécessaire, pour que le système cible place la valeur dans un ordre d'octets en mode big-endian.
|
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 big-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 big-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 32 bits triée par octets big-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, puis incrémentez 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 32 bits triée par octets big-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, puis incrémentez 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 triée par des octets big-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 triée par des octets big-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 triée par les octets du système cible dans l'adresse de pointeur spécifiée, réarranger les octets, si nécessaire, pour que le système cible place la valeur dans un ordre d'octets en mode big-endian.
|
Write32(uint8_t *& p, uint32_t v)
|
void
Effectue une écriture dans la mémoire, potentiellement non alignée, de la valeur de 32 bits ordonnée par les octets du système cible dans l'adresse de pointeur spécifiée. Réorganisez les octets, si nécessaire, pour que le système cible place la valeur dans un ordre d'octets en mode big-endian.
|
Write64(uint8_t *& p, uint64_t v)
|
void
Effectue 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 dans l'adresse de pointeur spécifiée. Réorganisez les octets, si nécessaire, pour que le système cible place la valeur dans un ordre d'octets en mode big-endian.
|
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 triée par des octets big-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 |
|
||
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 dans la mémoire, potentiellement non alignée, de la valeur 32 bits triée en octets big-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 |
|
||
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 )
Effectue une lecture de mémoire, potentiellement non alignée, de la valeur de 64 bits ordonnée par des octets big-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 |
|
||
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 commande 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 en mode big-endian vers le système cible (par exemple,
l'ordre des octets).
Par conséquent, sur les systèmes cibles Bit-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 |
|
||
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 en mode big-endian vers le système cible (par exemple,
l'ordre des octets).
Par conséquent, sur les systèmes cibles Bit-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 |
|
||
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 commande 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 en mode big-endian vers le système cible (par exemple,
l'ordre des octets).
Par conséquent, sur les systèmes cibles Bit-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 |
|
||
Renvoie |
Valeur d'entrée, si nécessaire, ordre des octets échangé.
|
Put16
void Put16( uint8_t *p, uint16_t v )
Effectue 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. Réorganisez les octets, si nécessaire, pour que le système cible place la valeur dans un ordre d'octets en mode big-endian.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
Put32
void Put32( uint8_t *p, uint32_t v )
Effectue une écriture dans la mémoire, potentiellement non alignée, de la valeur de 32 bits ordonnée par les octets du système cible dans l'adresse de pointeur spécifiée. Réorganisez les octets, si nécessaire, pour que le système cible place la valeur dans un ordre d'octets en mode big-endian.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
Put64
void Put64( uint8_t *p, uint64_t v )
Effectue 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 dans l'adresse de pointeur spécifiée. Réorganisez les octets, si nécessaire, pour que le système cible place la valeur dans un ordre d'octets en mode big-endian.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
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 big-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 |
|
||
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 big-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 |
|
||
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 big-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 |
|
||
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 big-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 |
|
||
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 triée par des octets big-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 |
|
||
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 triée par des octets big-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 |
|
||
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 triée par les octets du système cible dans l'adresse de pointeur spécifiée, réarranger les octets, si nécessaire, pour que le système cible place la valeur dans un ordre d'octets en mode big-endian.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
Write32
void Write32( uint8_t *& p, uint32_t v )
Effectue une écriture dans la mémoire, potentiellement non alignée, de la valeur de 32 bits ordonnée par les octets du système cible dans l'adresse de pointeur spécifiée. Réorganisez les octets, si nécessaire, pour que le système cible place la valeur dans un ordre d'octets en mode big-endian.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
Write64
void Write64( uint8_t *& p, uint64_t v )
Effectue 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 dans l'adresse de pointeur spécifiée. Réorganisez les octets, si nécessaire, pour que le système cible place la valeur dans un ordre d'octets en mode big-endian.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|