nl:: Weave:: Encoding:: BigEndian
Este espacio de nombres proporciona funciones para lo siguiente:
Resumen
- Realizar el reordenamiento de bytes, en relación con el sistema host, por valor de valores ordenados de bytes big endian para tipos de 16, 32 y 64 bits.
- Realizar de forma segura accesos simples y eficientes con asignación de memoria, potencialmente a ubicaciones de memoria no alineadas, con o sin reordenamiento de bytes, a cantidades ordenadas de bytes big endian de 8, 16, 32 y 64 bits, con y sin administración de punteros.
En los sistemas host grandes de extremo, no se producirá un reordenamiento real de bytes. En otros sistemas, el reordenamiento de bytes se realiza según corresponda.
Funciones |
|
---|---|
Get16(const uint8_t *p)
|
uint16_t
Realiza una lectura de memoria posiblemente no alineada del valor de 16 bits ordenado de bytes big endian a partir de la dirección del puntero especificado y reordena los bytes, según sea necesario, para que el sistema de destino coloque el valor en el orden de bytes del sistema de destino.
|
Get32(const uint8_t *p)
|
uint32_t
Realiza una lectura en la memoria, posiblemente no alineada, del valor de 32 bits ordenado de bytes big endian a partir de la dirección del puntero especificado y reordena los bytes, según sea necesario, para que el sistema de destino coloque el valor en el orden de bytes del sistema de destino.
|
Get64(const uint8_t *p)
|
uint64_t
Realiza una lectura en la memoria, posiblemente no alineada, del valor de 64 bits ordenado de bytes big endian a partir de la dirección del puntero especificado y reordena los bytes, según sea necesario, para que el sistema de destino coloque el valor en el orden de bytes del sistema de destino.
|
HostSwap16(uint16_t v)
|
uint16_t
Esto realiza condicionalmente, según sea necesario para el sistema de destino, un intercambio de orden de bytes por valor del valor de 16 bits especificado, que se supone que está en orden de bytes big endian para el sistema de destino (es decir,
|
HostSwap32(uint32_t v)
|
uint32_t
Esto realiza condicionalmente, según sea necesario para el sistema de destino, un intercambio de orden de bytes por valor del valor de 32 bits especificado, que se supone que está en orden de bytes big endian para el sistema de destino (es decir,
|
HostSwap64(uint64_t v)
|
uint64_t
Esto realiza condicionalmente, según sea necesario para el sistema de destino, un intercambio de orden de bytes por valor del valor de 64 bits especificado, que se supone que está en orden de bytes big endian para el sistema de destino (es decir,
|
Put16(uint8_t *p, uint16_t v)
|
void
Realiza una escritura en la memoria, potencialmente no alineada, del valor de 16 bits ordenado por bytes del sistema de destino en la dirección del puntero especificado y reordena los bytes, según sea necesario, para que el sistema de destino coloque el valor en orden de bytes big endian.
|
Put32(uint8_t *p, uint32_t v)
|
void
Realiza una escritura en la memoria, posiblemente no alineada, del valor de 32 bits ordenado por bytes del sistema de destino en la dirección del puntero especificado y reordena los bytes, según sea necesario, para que el sistema de destino coloque el valor en orden de bytes big endian.
|
Put64(uint8_t *p, uint64_t v)
|
void
Realiza una escritura en la memoria, posiblemente no alineada, del valor de 64 bits ordenado por bytes del sistema de destino a la dirección del puntero especificado y reordena los bytes, según sea necesario, para que el sistema de destino coloque el valor en orden de bytes big endian.
|
Read16(uint8_t *& p)
|
uint16_t
Realiza una lectura de memoria posiblemente no alineada del valor de 16 bits ordenado de byte big endian a partir de la dirección del puntero especificado, reordena los bytes, según sea necesario, para que el sistema de destino coloque el valor en el orden de bytes del sistema de destino y aumenta el puntero en 16 bits (2 bytes).
|
Read16(const uint8_t *& p)
|
uint16_t
Realiza una lectura de memoria posiblemente no alineada del valor de 16 bits ordenado de byte big endian a partir de la dirección del puntero especificado, reordena los bytes, según sea necesario, para que el sistema de destino coloque el valor en el orden de bytes del sistema de destino y aumenta el puntero en 16 bits (2 bytes).
|
Read32(uint8_t *& p)
|
uint32_t
Realiza una lectura de memoria posiblemente no alineada del valor de 32 bits ordenado de byte big endian a partir de la dirección del puntero especificado, reordena los bytes, según sea necesario, para que el sistema de destino coloque el valor en el orden de bytes del sistema de destino y aumenta el puntero en 32 bits (4 bytes).
|
Read32(const uint8_t *& p)
|
uint32_t
Realiza una lectura de memoria posiblemente no alineada del valor de 32 bits ordenado de byte big endian a partir de la dirección del puntero especificado, reordena los bytes, según sea necesario, para que el sistema de destino coloque el valor en el orden de bytes del sistema de destino y aumenta el puntero en 32 bits (4 bytes).
|
Read64(uint8_t *& p)
|
uint64_t
Realiza una lectura de memoria potencialmente no alineada del valor de 64 bits ordenado de byte big endian a partir de la dirección del puntero especificado, reordena los bytes, según sea necesario, para que el sistema de destino coloque el valor en el orden de bytes del sistema de destino y aumenta el puntero en 64 bits (8 bytes).
|
Read64(const uint8_t *& p)
|
uint64_t
Realiza una lectura de memoria potencialmente no alineada del valor de 64 bits ordenado de byte big endian a partir de la dirección del puntero especificado, reordena los bytes, según sea necesario, para que el sistema de destino coloque el valor en el orden de bytes del sistema de destino y aumenta el puntero en 64 bits (8 bytes).
|
Write16(uint8_t *& p, uint16_t v)
|
void
Realiza una escritura en la memoria, potencialmente no alineada, del valor de 16 bits ordenado por bytes del sistema de destino en la dirección del puntero especificado y reordena los bytes, según sea necesario, para que el sistema de destino coloque el valor en orden de bytes big endian.
|
Write32(uint8_t *& p, uint32_t v)
|
void
Realiza una escritura en la memoria, posiblemente no alineada, del valor de 32 bits ordenado por bytes del sistema de destino en la dirección del puntero especificado y reordena los bytes, según sea necesario, para que el sistema de destino coloque el valor en orden de bytes big endian.
|
Write64(uint8_t *& p, uint64_t v)
|
void
Realiza una escritura en la memoria, posiblemente no alineada, del valor de 64 bits ordenado por bytes del sistema de destino en la dirección del puntero especificado y reordena los bytes, según sea necesario, para que el sistema de destino coloque el valor en orden de bytes big endian.
|
Funciones
Get16
uint16_t Get16( const uint8_t *p )
Realiza una lectura en la memoria, posiblemente no alineada, del valor de 16 bits ordenado de bytes big endian a partir de la dirección del puntero especificado y reordena los bytes, según sea necesario, para que el sistema de destino coloque el valor en el orden de bytes del sistema de destino.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Resultado que se muestra |
El valor de 16 bits en la dirección del puntero especificada, si es necesario, se reordenan los bytes.
|
Get32
uint32_t Get32( const uint8_t *p )
Realiza una lectura en la memoria, posiblemente no alineada, del valor de 32 bits ordenado de bytes big endian a partir de la dirección del puntero especificado y reordena los bytes, según sea necesario, para que el sistema de destino coloque el valor en el orden de bytes del sistema de destino.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Resultado que se muestra |
El valor de 32 bits en la dirección del puntero especificada, si es necesario, se reordena en bytes.
|
Get64
uint64_t Get64( const uint8_t *p )
Realiza una lectura en la memoria, posiblemente no alineada, del valor de 64 bits ordenado de bytes big endian a partir de la dirección del puntero especificado y reordena los bytes, según sea necesario, para que el sistema de destino coloque el valor en el orden de bytes del sistema de destino.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Resultado que se muestra |
El valor de 64 bits en la dirección del puntero especificada, si es necesario, se reordenan los bytes.
|
HostSwap16
uint16_t HostSwap16( uint16_t v )
Esto realiza condicionalmente, según sea necesario para el sistema de destino, un intercambio de orden de bytes por valor del valor de 16 bits especificado, que se supone que está en orden de bytes big endian para el sistema de destino (es decir,
host).
En consecuencia, en los sistemas de destino bit-endian, esto es una no-op y en los sistemas de destino big endian, esto realiza un reordenamiento.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Resultado que se muestra |
El valor de entrada, si es necesario, el orden de bytes cambiado.
|
HostSwap32
uint32_t HostSwap32( uint32_t v )
Esto realiza condicionalmente, según sea necesario para el sistema de destino, un intercambio de orden de bytes por valor del valor de 32 bits especificado, que se supone que está en orden de bytes big endian para el sistema de destino (es decir,
host).
En consecuencia, en los sistemas de destino bit-endian, esto es una no-op y en los sistemas de destino big endian, esto realiza un reordenamiento.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Resultado que se muestra |
El valor de entrada, si es necesario, el orden de bytes cambiado.
|
HostSwap64
uint64_t HostSwap64( uint64_t v )
Esto realiza condicionalmente, según sea necesario para el sistema de destino, un intercambio de orden de bytes por valor del valor de 64 bits especificado, que se supone que está en orden de bytes big endian para el sistema de destino (es decir,
host).
En consecuencia, en los sistemas de destino bit-endian, esto es una no-op y en los sistemas de destino big endian, esto realiza un reordenamiento.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Resultado que se muestra |
El valor de entrada, si es necesario, el orden de bytes cambiado.
|
Put16
void Put16( uint8_t *p, uint16_t v )
Realiza una escritura en la memoria, posiblemente no alineada, del valor de 16 bits ordenado por bytes del sistema de destino en la dirección del puntero especificado y reordena los bytes, según sea necesario, para que el sistema de destino coloque el valor en orden de bytes big endian.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
Put32
void Put32( uint8_t *p, uint32_t v )
Realiza una escritura en la memoria, posiblemente no alineada, del valor de 32 bits ordenado por bytes del sistema de destino en la dirección del puntero especificado y reordena los bytes, según sea necesario, para que el sistema de destino coloque el valor en orden de bytes big endian.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
Put64
void Put64( uint8_t *p, uint64_t v )
Realiza una escritura en la memoria, posiblemente no alineada, del valor de 64 bits ordenado por bytes del sistema de destino a la dirección del puntero especificado y reordena los bytes, según sea necesario, para que el sistema de destino coloque el valor en orden de bytes big endian.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
Read16
uint16_t Read16( uint8_t *& p )
Realiza una lectura de memoria posiblemente no alineada del valor de 16 bits ordenado de byte big endian a partir de la dirección del puntero especificado, reordena los bytes, según sea necesario, para que el sistema de destino coloque el valor en el orden de bytes del sistema de destino y aumenta el puntero en 16 bits (2 bytes).
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Resultado que se muestra |
El valor de 16 bits en la dirección del puntero especificada, si es necesario. Se cambió el orden de bytes.
|
Read16
uint16_t Read16( const uint8_t *& p )
Realiza una lectura de memoria posiblemente no alineada del valor de 16 bits ordenado de byte big endian a partir de la dirección del puntero especificado, reordena los bytes, según sea necesario, para que el sistema de destino coloque el valor en el orden de bytes del sistema de destino y aumenta el puntero en 16 bits (2 bytes).
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Resultado que se muestra |
El valor de 16 bits en la dirección del puntero especificada, si es necesario. Se cambió el orden de bytes.
|
Read32
uint32_t Read32( uint8_t *& p )
Realiza una lectura de memoria posiblemente no alineada del valor de 32 bits ordenado de byte big endian a partir de la dirección del puntero especificado, reordena los bytes, según sea necesario, para que el sistema de destino coloque el valor en el orden de bytes del sistema de destino y aumenta el puntero en 32 bits (4 bytes).
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Resultado que se muestra |
El valor de 32 bits en la dirección del puntero especificada, si es necesario. Se cambió el orden de bytes.
|
Read32
uint32_t Read32( const uint8_t *& p )
Realiza una lectura de memoria posiblemente no alineada del valor de 32 bits ordenado de byte big endian a partir de la dirección del puntero especificado, reordena los bytes, según sea necesario, para que el sistema de destino coloque el valor en el orden de bytes del sistema de destino y aumenta el puntero en 32 bits (4 bytes).
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Resultado que se muestra |
El valor de 32 bits en la dirección del puntero especificada, si es necesario. Se cambió el orden de bytes.
|
Read64
uint64_t Read64( uint8_t *& p )
Realiza una lectura de memoria potencialmente no alineada del valor de 64 bits ordenado de byte big endian a partir de la dirección del puntero especificado, reordena los bytes, según sea necesario, para que el sistema de destino coloque el valor en el orden de bytes del sistema de destino y aumenta el puntero en 64 bits (8 bytes).
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Resultado que se muestra |
El valor de 64 bits en la dirección del puntero especificada, si es necesario. Se cambió el orden de bytes.
|
Read64
uint64_t Read64( const uint8_t *& p )
Realiza una lectura de memoria potencialmente no alineada del valor de 64 bits ordenado de byte big endian a partir de la dirección del puntero especificado, reordena los bytes, según sea necesario, para que el sistema de destino coloque el valor en el orden de bytes del sistema de destino y aumenta el puntero en 64 bits (8 bytes).
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Resultado que se muestra |
El valor de 64 bits en la dirección del puntero especificada, si es necesario. Se cambió el orden de bytes.
|
Write16
void Write16( uint8_t *& p, uint16_t v )
Realiza una escritura en la memoria, potencialmente no alineada, del valor de 16 bits ordenado por bytes del sistema de destino en la dirección del puntero especificado y reordena los bytes, según sea necesario, para que el sistema de destino coloque el valor en orden de bytes big endian.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
Write32
void Write32( uint8_t *& p, uint32_t v )
Realiza una escritura en la memoria, posiblemente no alineada, del valor de 32 bits ordenado por bytes del sistema de destino en la dirección del puntero especificado y reordena los bytes, según sea necesario, para que el sistema de destino coloque el valor en orden de bytes big endian.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
Write64
void Write64( uint8_t *& p, uint64_t v )
Realiza una escritura en la memoria, posiblemente no alineada, del valor de 64 bits ordenado por bytes del sistema de destino a la dirección del puntero especificado y reordena los bytes, según sea necesario, para que el sistema de destino coloque el valor en orden de bytes big endian.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|