nl:: Weave:: Encoding:: LittleEndian
Dieser Namespace bietet Funktionen für:
Zusammenfassung
- Neuanordnung von Byte relativ zum Hostsystem nach Wert von Werten in Little-Endian-Bytereihenfolgen für 16-, 32- und 64-Bit-Typen.
- Sichere Durchführung einfacher, effizienter, im Speicher zugeordneter Zugriffe, möglicherweise auf nicht abgestimmte Speicherbereiche, mit oder ohne Byte-Neuanordnung auf 8-, 16-, 32- und 64-Bit-Little-Endian-Byte-Reihenfolgen, mit und ohne Zeigerverwaltung.
Auf Little-Endian-Hostsystemen findet keine tatsächliche Byte-Neuordnung statt. In anderen Systemen wird die Byte-Neuordnung entsprechend vorgenommen.
Funktionen |
|
---|---|
Get16(const uint8_t *p)
|
uint16_t
Führt einen möglicherweise nicht ausgerichteten Speicherlesevorgang des Little-Endian-Byte-sortierten 16-Bit-Werts aus der angegebenen Zeigeradresse durch. Führen Sie bei Bedarf eine Byte-Reihenfolge durch, damit das Zielsystem den Wert in die Bytereihenfolge des Zielsystems einordnet.
|
Get32(const uint8_t *p)
|
uint32_t
Führt einen möglicherweise nicht ausgerichteten Speicherlesevorgang des Little-Endian-Byte-geordneten 32-Bit-Werts von der angegebenen Zeigeradresse durch und führt bei Bedarf eine Byte-Reihenfolge durch, damit das Zielsystem den Wert in die Bytereihenfolge des Zielsystems einordnet.
|
Get64(const uint8_t *p)
|
uint64_t
Führt einen möglicherweise nicht ausgerichteten Speicherlesevorgang des Little-Endian-Byte-geordneten 64-Bit-Werts von der angegebenen Zeigeradresse durch und führt bei Bedarf eine Byte-Reihenfolge durch, damit das Zielsystem den Wert in die Bytereihenfolge des Zielsystems einordnet.
|
HostSwap16(uint16_t v)
|
uint16_t
Dies führt, wie für das Zielsystem erforderlich, einen Bytereihenfolge-Austausch nach Wert des angegebenen 16-Bit-Werts durch, wobei angenommen wird, dass dies in Little-Endian-Byte-Reihenfolge zum Zielsystem erfolgt (d.h.
|
HostSwap32(uint32_t v)
|
uint32_t
Dies führt, wie für das Zielsystem erforderlich, einen Bytereihenfolge-Austausch nach Wert des angegebenen 32-Bit-Werts durch, wobei angenommen wird, dass er in Little-Endian-Byte-Reihenfolge zum Zielsystem vorliegt (d.h.
|
HostSwap64(uint64_t v)
|
uint64_t
Dies führt, wie für das Zielsystem erforderlich, einen Bytereihenfolge-Swap nach Wert des angegebenen 64-Bit-Werts durch, wobei angenommen wird, dass die Reihenfolge in Little-Endian-Byte-Reihenfolge im Zielsystem vorliegt (d.h.
|
Put16(uint8_t *p, uint16_t v)
|
void
Führt einen möglicherweise nicht ausgerichteten Speicherschreibvorgang des in Byte sortierten 16-Bit-Werts des Zielsystems an die angegebene Zeigeradresse durch. Führen Sie nach Bedarf eine Byte-Neuanordnung durch, damit das Zielsystem den Wert in Little-Endian-Byte-Reihenfolge verordnet.
|
Put32(uint8_t *p, uint32_t v)
|
void
Führen Sie einen möglicherweise nicht ausgerichteten Speicherschreibvorgang des in Byte sortierten 32-Bit-Werts des Zielsystems an die angegebene Zeigeradresse durch und führen Sie bei Bedarf eine Byte-Neuanordnung durch, damit das Zielsystem den Wert in Little-Endian-Byte-Reihenfolge verordnet.
|
Put64(uint8_t *p, uint64_t v)
|
void
Führt einen möglicherweise nicht ausgerichteten Speicherschreibvorgang des in Byte sortierten 64-Bit-Werts des Zielsystems an die angegebene Zeigeradresse durch. Führen Sie nach Bedarf eine Byte-Neuanordnung durch, damit das Zielsystem den Wert in eine Little-Endian-Byte-Reihenfolge einordnet.
|
Read16(uint8_t *& p)
|
uint16_t
Führt einen möglicherweise nicht ausgerichteten Speicherlesevorgang des Little-Endian-Byte-geordneten 16-Bit-Werts von der angegebenen Zeigeradresse aus, führt bei Bedarf eine Byte-Reihenfolge durch, damit das Zielsystem den Wert in die Bytereihenfolge des Zielsystems einordnet und den Zeiger um 16 Bit (2 Byte) erhöhen.
|
Read16(const uint8_t *& p)
|
uint16_t
Führt einen möglicherweise nicht ausgerichteten Speicherlesevorgang des Little-Endian-Byte-geordneten 16-Bit-Werts von der angegebenen Zeigeradresse aus, führt bei Bedarf eine Byte-Reihenfolge durch, damit das Zielsystem den Wert in die Bytereihenfolge des Zielsystems einordnet und den Zeiger um 16 Bit (2 Byte) erhöhen.
|
Read32(uint8_t *& p)
|
uint32_t
Führt einen möglicherweise nicht ausgerichteten Speicherlesevorgang des Little-Endian-Byte-geordneten 32-Bit-Werts von der angegebenen Zeigeradresse aus, führt bei Bedarf eine Byte-Reihenfolge durch, damit das Zielsystem den Wert in die Bytereihenfolge des Zielsystems einordnet und den Zeiger um 32 Bit (4 Byte) erhöhen.
|
Read32(const uint8_t *& p)
|
uint32_t
Führt einen möglicherweise nicht ausgerichteten Speicherlesevorgang des Little-Endian-Byte-geordneten 32-Bit-Werts von der angegebenen Zeigeradresse aus, führt bei Bedarf eine Byte-Reihenfolge durch, damit das Zielsystem den Wert in die Bytereihenfolge des Zielsystems einordnet und den Zeiger um 32 Bit (4 Byte) erhöhen.
|
Read64(uint8_t *& p)
|
uint64_t
Führt einen möglicherweise nicht ausgerichteten Speicherlesevorgang des Little-Endian-Byte-geordneten 64-Bit-Werts von der angegebenen Zeigeradresse aus, führt bei Bedarf eine Byte-Reihenfolge durch, damit das Zielsystem den Wert in die Bytereihenfolge des Zielsystems einordnet und den Zeiger um 64 Bit (8 Byte) erhöhen.
|
Read64(const uint8_t *& p)
|
uint64_t
Führt einen möglicherweise nicht ausgerichteten Speicherlesevorgang des Little-Endian-Byte-geordneten 64-Bit-Werts von der angegebenen Zeigeradresse aus, führt bei Bedarf eine Byte-Reihenfolge durch, damit das Zielsystem den Wert in die Bytereihenfolge des Zielsystems einordnet und den Zeiger um 64 Bit (8 Byte) erhöhen.
|
Write16(uint8_t *& p, uint16_t v)
|
void
Führt einen möglicherweise nicht ausgerichteten Speicherschreibvorgang des in Byte sortierten 16-Bit-Werts des Zielsystems an die angegebene Zeigeradresse durch. Führen Sie nach Bedarf eine Byte-Neuanordnung durch, damit das Zielsystem den Wert in Little-Endian-Byte-Reihenfolge verordnet.
|
Write32(uint8_t *& p, uint32_t v)
|
void
Führen Sie einen möglicherweise nicht ausgerichteten Speicherschreibvorgang des in Byte sortierten 32-Bit-Werts des Zielsystems an die angegebene Zeigeradresse durch und führen Sie bei Bedarf eine Byte-Neuanordnung durch, damit das Zielsystem den Wert in Little-Endian-Byte-Reihenfolge verordnet.
|
Write64(uint8_t *& p, uint64_t v)
|
void
Führt einen möglicherweise nicht ausgerichteten Speicherschreibvorgang des in Byte sortierten 64-Bit-Werts des Zielsystems an die angegebene Zeigeradresse durch. Führen Sie nach Bedarf eine Byte-Neuanordnung durch, damit das Zielsystem den Wert in eine Little-Endian-Byte-Reihenfolge einordnet.
|
Funktionen
Get16
uint16_t Get16( const uint8_t *p )
Führt einen möglicherweise nicht ausgerichteten Speicherlesevorgang des Little-Endian-Byte-sortierten 16-Bit-Werts aus der angegebenen Zeigeradresse durch. Führen Sie bei Bedarf eine Byte-Reihenfolge durch, damit das Zielsystem den Wert in die Bytereihenfolge des Zielsystems einordnet.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Der 16-Bit-Wert an der angegebenen Zeigeradresse, falls erforderlich, Byte neu angeordnet.
|
Get32
uint32_t Get32( const uint8_t *p )
Führt einen möglicherweise nicht ausgerichteten Speicherlesevorgang des Little-Endian-Byte-geordneten 32-Bit-Werts von der angegebenen Zeigeradresse durch und führt bei Bedarf eine Byte-Reihenfolge durch, damit das Zielsystem den Wert in die Bytereihenfolge des Zielsystems einordnet.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Der 32-Bit-Wert an der angegebenen Zeigeradresse, falls erforderlich, Byte neu angeordnet.
|
Get64
uint64_t Get64( const uint8_t *p )
Führt einen möglicherweise nicht ausgerichteten Speicherlesevorgang des Little-Endian-Byte-geordneten 64-Bit-Werts von der angegebenen Zeigeradresse durch und führt bei Bedarf eine Byte-Reihenfolge durch, damit das Zielsystem den Wert in die Bytereihenfolge des Zielsystems einordnet.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Der 64-Bit-Wert an der angegebenen Zeigeradresse, falls erforderlich, Byte neu angeordnet.
|
HostSwap16
uint16_t HostSwap16( uint16_t v )
Dies führt, wie für das Zielsystem erforderlich, einen Bytereihenfolge-Austausch nach Wert des angegebenen 16-Bit-Werts durch, wobei angenommen wird, dass dies in Little-Endian-Byte-Reihenfolge zum Zielsystem erfolgt (d.h.
Host) Bytesortierung.
Folglich ist dies bei Little-Endian-Zielsystemen ein managementfrei und bei Big-Endian-Zielsystemen erfolgt eine Neuanordnung.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Der Eingabewert, falls erforderlich, Bytereihenfolge vertauscht.
|
HostSwap32
uint32_t HostSwap32( uint32_t v )
Dies führt, wie für das Zielsystem erforderlich, einen Bytereihenfolge-Austausch nach Wert des angegebenen 32-Bit-Werts durch, wobei angenommen wird, dass er in Little-Endian-Byte-Reihenfolge zum Zielsystem vorliegt (d.h.
Host) Bytesortierung.
Folglich ist dies bei Little-Endian-Zielsystemen ein managementfrei und bei Big-Endian-Zielsystemen erfolgt eine Neuanordnung.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Der Eingabewert, falls erforderlich, Bytereihenfolge vertauscht.
|
HostSwap64
uint64_t HostSwap64( uint64_t v )
Dies führt, wie für das Zielsystem erforderlich, einen Bytereihenfolge-Swap nach Wert des angegebenen 64-Bit-Werts durch, wobei angenommen wird, dass die Reihenfolge in Little-Endian-Byte-Reihenfolge im Zielsystem vorliegt (d.h.
Host) Bytesortierung.
Folglich ist dies bei Little-Endian-Zielsystemen ein managementfrei und bei Big-Endian-Zielsystemen erfolgt eine Neuanordnung.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Der Eingabewert, falls erforderlich, Bytereihenfolge vertauscht.
|
Put16
void Put16( uint8_t *p, uint16_t v )
Führt einen möglicherweise nicht ausgerichteten Speicherschreibvorgang des in Byte sortierten 16-Bit-Werts des Zielsystems an die angegebene Zeigeradresse durch. Führen Sie nach Bedarf eine Byte-Neuanordnung durch, damit das Zielsystem den Wert in Little-Endian-Byte-Reihenfolge verordnet.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
Put32
void Put32( uint8_t *p, uint32_t v )
Führen Sie einen möglicherweise nicht ausgerichteten Speicherschreibvorgang des in Byte sortierten 32-Bit-Werts des Zielsystems an die angegebene Zeigeradresse durch und führen Sie bei Bedarf eine Byte-Neuanordnung durch, damit das Zielsystem den Wert in Little-Endian-Byte-Reihenfolge verordnet.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
Put64
void Put64( uint8_t *p, uint64_t v )
Führt einen möglicherweise nicht ausgerichteten Speicherschreibvorgang des in Byte sortierten 64-Bit-Werts des Zielsystems an die angegebene Zeigeradresse durch. Führen Sie nach Bedarf eine Byte-Neuanordnung durch, damit das Zielsystem den Wert in eine Little-Endian-Byte-Reihenfolge einordnet.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
Read16
uint16_t Read16( uint8_t *& p )
Führt einen möglicherweise nicht ausgerichteten Speicherlesevorgang des Little-Endian-Byte-geordneten 16-Bit-Werts von der angegebenen Zeigeradresse aus, führt bei Bedarf eine Byte-Reihenfolge durch, damit das Zielsystem den Wert in die Bytereihenfolge des Zielsystems einordnet und den Zeiger um 16 Bit (2 Byte) erhöhen.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Der 16-Bit-Wert an der angegebenen Zeigeradresse, falls erforderlich, Bytereihenfolge vertauscht.
|
Read16
uint16_t Read16( const uint8_t *& p )
Führt einen möglicherweise nicht ausgerichteten Speicherlesevorgang des Little-Endian-Byte-geordneten 16-Bit-Werts von der angegebenen Zeigeradresse aus, führt bei Bedarf eine Byte-Reihenfolge durch, damit das Zielsystem den Wert in die Bytereihenfolge des Zielsystems einordnet und den Zeiger um 16 Bit (2 Byte) erhöhen.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Der 16-Bit-Wert an der angegebenen Zeigeradresse, falls erforderlich, Bytereihenfolge vertauscht.
|
Read32
uint32_t Read32( uint8_t *& p )
Führt einen möglicherweise nicht ausgerichteten Speicherlesevorgang des Little-Endian-Byte-geordneten 32-Bit-Werts von der angegebenen Zeigeradresse aus, führt bei Bedarf eine Byte-Reihenfolge durch, damit das Zielsystem den Wert in die Bytereihenfolge des Zielsystems einordnet und den Zeiger um 32 Bit (4 Byte) erhöhen.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Der 32-Bit-Wert an der angegebenen Zeigeradresse, falls erforderlich, Bytereihenfolge vertauscht.
|
Read32
uint32_t Read32( const uint8_t *& p )
Führt einen möglicherweise nicht ausgerichteten Speicherlesevorgang des Little-Endian-Byte-geordneten 32-Bit-Werts von der angegebenen Zeigeradresse aus, führt bei Bedarf eine Byte-Reihenfolge durch, damit das Zielsystem den Wert in die Bytereihenfolge des Zielsystems einordnet und den Zeiger um 32 Bit (4 Byte) erhöhen.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Der 32-Bit-Wert an der angegebenen Zeigeradresse, falls erforderlich, Bytereihenfolge vertauscht.
|
Read64
uint64_t Read64( uint8_t *& p )
Führt einen möglicherweise nicht ausgerichteten Speicherlesevorgang des Little-Endian-Byte-geordneten 64-Bit-Werts von der angegebenen Zeigeradresse aus, führt bei Bedarf eine Byte-Reihenfolge durch, damit das Zielsystem den Wert in die Bytereihenfolge des Zielsystems einordnet und den Zeiger um 64 Bit (8 Byte) erhöhen.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Der 64-Bit-Wert an der angegebenen Zeigeradresse, falls erforderlich, Bytereihenfolge vertauscht.
|
Read64
uint64_t Read64( const uint8_t *& p )
Führt einen möglicherweise nicht ausgerichteten Speicherlesevorgang des Little-Endian-Byte-geordneten 64-Bit-Werts von der angegebenen Zeigeradresse aus, führt bei Bedarf eine Byte-Reihenfolge durch, damit das Zielsystem den Wert in die Bytereihenfolge des Zielsystems einordnet und den Zeiger um 64 Bit (8 Byte) erhöhen.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Der 64-Bit-Wert an der angegebenen Zeigeradresse, falls erforderlich, Bytereihenfolge vertauscht.
|
Write16
void Write16( uint8_t *& p, uint16_t v )
Führt einen möglicherweise nicht ausgerichteten Speicherschreibvorgang des in Byte sortierten 16-Bit-Werts des Zielsystems an die angegebene Zeigeradresse durch. Führen Sie nach Bedarf eine Byte-Neuanordnung durch, damit das Zielsystem den Wert in Little-Endian-Byte-Reihenfolge verordnet.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
Write32
void Write32( uint8_t *& p, uint32_t v )
Führen Sie einen möglicherweise nicht ausgerichteten Speicherschreibvorgang des in Byte sortierten 32-Bit-Werts des Zielsystems an die angegebene Zeigeradresse durch und führen Sie bei Bedarf eine Byte-Neuanordnung durch, damit das Zielsystem den Wert in Little-Endian-Byte-Reihenfolge verordnet.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
Write64
void Write64( uint8_t *& p, uint64_t v )
Führt einen möglicherweise nicht ausgerichteten Speicherschreibvorgang des in Byte sortierten 64-Bit-Werts des Zielsystems an die angegebene Zeigeradresse durch. Führen Sie nach Bedarf eine Byte-Neuanordnung durch, damit das Zielsystem den Wert in eine Little-Endian-Byte-Reihenfolge einordnet.
Details | |||||
---|---|---|---|---|---|
Parameter |
|