nl:: Weave:: Encoding:: BigEndian
Ta przestrzeń nazw zapewnia funkcje, które umożliwiają:
Podsumowanie
- Zmienianie kolejności bajtów w odniesieniu do systemu hosta przez wartości uporządkowanej liczby bajtów w typie 16-, 32- i 64-bitowym.
- Bezpieczne przeprowadzanie prostych i wydajnych operacji związanych z mapowaniem na pamięć, potencjalnie do nieustawionych lokalizacji pamięci, z możliwością zmiany kolejności bajtów lub bez niej. Dotyczy to 8-, 16-, 32- i 64-bitowych, uporządkowanych wielkości bajtów w formacie big endian, zarówno z zarządzaniem wskaźnikami, jak i bez nich.
W systemach hostów big endian nie zachodzi faktyczna zmiana kolejności bajtów. W innych systemach zmiana kolejności bajtów jest ustawiana odpowiednio.
Funkcje |
|
---|---|
Get16(const uint8_t *p)
|
uint16_t
Przeprowadź (potencjalnie niedopasowaną) wartość z pamięci uporządkowanej 16-bitowej wartości 16-bitowej uporządkowanej według określonego adresu wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość zgodnie z kolejnością bajtów w systemie docelowym.
|
Get32(const uint8_t *p)
|
uint32_t
Przeprowadź (potencjalnie niedopasowaną) wartość z pamięci uporządkowanej według 32-bitowej wartości 32-bitowej z określonego adresu wskaźnika w pamięci podręcznej. W razie potrzeby dokonaj zmiany kolejności bajtów, aby system docelowy umieścił wartość zgodnie z kolejnością bajtów w systemie docelowym.
|
Get64(const uint8_t *p)
|
uint64_t
Przeprowadź (potencjalnie niedopasowaną) wartość z pamięci podręcznej stanu 64-bitowej wartości 64-bitowej uporządkowanej według określonego adresu wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość zgodnie z kolejnością bajtów w systemie docelowym.
|
HostSwap16(uint16_t v)
|
uint16_t
W ramach tego warunku w ramach systemu docelowego przeprowadzana jest zamiana bajtów w kolejności bajtów na podstawie określonej 16-bitowej wartości, co ma zostać uznane za zachowanie kolejności bajtów w systemie docelowym (tzn.
|
HostSwap32(uint32_t v)
|
uint32_t
W ramach tego warunku w ramach systemu docelowego przeprowadzana jest zamiana bajtów w kolejności bajtów według wartości określonej 32-bitowej wartości, co ma zostać uznane za zachowanie kolejności bajtów w systemie docelowym (tzn.
|
HostSwap64(uint64_t v)
|
uint64_t
W ramach tego warunku w ramach systemu docelowego przeprowadzana jest zamiana bajtów w kolejności bajtów o wartość określonej 64-bitowej wartości, co ma zostać uznane za zachowanie kolejności bajtów w systemie docelowym (tzn.
|
Put16(uint8_t *p, uint16_t v)
|
void
Wykonaj (potencjalnie niedopasowany) zapis w pamięci systemu docelowego, uporządkowanej 16-bitowej wartości 16-bitowej na określony adres wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w porządku dużych liter.
|
Put32(uint8_t *p, uint32_t v)
|
void
Przeprowadź (potencjalnie niedopasowany) zapis w pamięci systemu docelowego w uporządkowanej 32-bitowej wartości w określonym adresie wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w odpowiednim porządkowaniu bajtów.
|
Put64(uint8_t *p, uint64_t v)
|
void
Przeprowadź (potencjalnie niedopasowany) zapis w pamięci systemu docelowego, uporządkowanej 64-bitowej wartości 64-bitowej na określony adres wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w odpowiednim porządkowaniu bajtów.
|
Read16(uint8_t *& p)
|
uint16_t
Przeprowadź (potencjalnie niedopasowaną) wartość z pamięci uporządkowanej 16-bitowej wartości 16-bitowej z określonego adresu wskaźnika, jeśli jest to konieczne, aby system docelowy umieścił wartość zgodnie z właściwą kolejnością bajtów w systemie docelowym i zwiększy wskaźnik o 16 bitów (2 bajty).
|
Read16(const uint8_t *& p)
|
uint16_t
Przeprowadź (potencjalnie niedopasowaną) wartość z pamięci uporządkowanej 16-bitowej wartości 16-bitowej z określonego adresu wskaźnika, jeśli jest to konieczne, aby system docelowy umieścił wartość zgodnie z właściwą kolejnością bajtów w systemie docelowym i zwiększy wskaźnik o 16 bitów (2 bajty).
|
Read32(uint8_t *& p)
|
uint32_t
Przeprowadź (potencjalnie niedopasowaną) wartość z pamięci uporządkowanej według 32-bitowej wartości z określonego adresu wskaźnika, a w razie potrzeby dokonaj zmiany kolejności bajtów, aby system docelowy umieścił wartość zgodnie z właściwą kolejnością bajtów w systemie docelowym, i zwiększ wskaźnik o 32 bity (4 bajty).
|
Read32(const uint8_t *& p)
|
uint32_t
Przeprowadź (potencjalnie niedopasowaną) wartość z pamięci uporządkowanej według 32-bitowej wartości z określonego adresu wskaźnika, a w razie potrzeby dokonaj zmiany kolejności bajtów, aby system docelowy umieścił wartość zgodnie z właściwą kolejnością bajtów w systemie docelowym, i zwiększ wskaźnik o 32 bity (4 bajty).
|
Read64(uint8_t *& p)
|
uint64_t
Przeprowadź (potencjalnie niedopasowaną) wartość z pamięci uporządkowanej według 64-bitowej wartości 64-bitowej z określonego adresu wskaźnika, w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość zgodnie z właściwą kolejnością bajtów w systemie docelowym, i zwiększ wskaźnik o 64 bity (8 bajtów).
|
Read64(const uint8_t *& p)
|
uint64_t
Przeprowadź (potencjalnie niedopasowaną) wartość z pamięci uporządkowanej według 64-bitowej wartości 64-bitowej z określonego adresu wskaźnika, w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość zgodnie z właściwą kolejnością bajtów w systemie docelowym, i zwiększ wskaźnik o 64 bity (8 bajtów).
|
Write16(uint8_t *& p, uint16_t v)
|
void
Wykonaj (potencjalnie niedopasowany) zapis w pamięci systemu docelowego, uporządkowanej 16-bitowej wartości 16-bitowej na określony adres wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w porządku dużych liter.
|
Write32(uint8_t *& p, uint32_t v)
|
void
Przeprowadź (potencjalnie niedopasowany) zapis w pamięci systemu docelowego w uporządkowanej 32-bitowej wartości w określonym adresie wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w odpowiednim porządkowaniu bajtów.
|
Write64(uint8_t *& p, uint64_t v)
|
void
Przeprowadź (potencjalnie niedopasowany) zapis w pamięci systemu docelowego, uporządkowanej 64-bitowej wartości 64-bitowej na określony adres wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w odpowiednim porządkowaniu bajtów.
|
Funkcje
Get16
uint16_t Get16( const uint8_t *p )
Przeprowadź (potencjalnie niedopasowaną) wartość z pamięci uporządkowanej 16-bitowej wartości 16-bitowej uporządkowanej według określonego adresu wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość zgodnie z kolejnością bajtów w systemie docelowym.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
16-bitowa wartość w podanym adresie wskaźnika (w razie potrzeby) została zmieniona ponownie w bajtach.
|
Get32
uint32_t Get32( const uint8_t *p )
Przeprowadź (potencjalnie niedopasowaną) wartość z pamięci uporządkowanej według 32-bitowej wartości 32-bitowej z określonego adresu wskaźnika w pamięci podręcznej. W razie potrzeby dokonaj zmiany kolejności bajtów, aby system docelowy umieścił wartość zgodnie z kolejnością bajtów w systemie docelowym.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Wartość 32-bitowa w podanym adresie wskaźnika (w razie potrzeby) została zmieniona ponownie w bajtach.
|
Get64
uint64_t Get64( const uint8_t *p )
Przeprowadź (potencjalnie niedopasowaną) wartość z pamięci podręcznej stanu 64-bitowej wartości 64-bitowej uporządkowanej według określonego adresu wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość zgodnie z kolejnością bajtów w systemie docelowym.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
64-bitowa wartość w podanym adresie wskaźnika (w razie potrzeby) została zmieniona ponownie w bajtach.
|
HostSwap16
uint16_t HostSwap16( uint16_t v )
W ramach tego warunku w ramach systemu docelowego przeprowadzana jest zamiana bajtów w kolejności bajtów na podstawie określonej 16-bitowej wartości, co ma zostać uznane za zachowanie kolejności bajtów w systemie docelowym (tzn.
hosta) w bajtach.
W rezultacie w bitowych systemach docelowych typu endian nie jest to operacja, a w systemach big endian – zmiana kolejności.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Wartość wejściowa (w razie potrzeby) z zamienną kolejnością bajtów.
|
HostSwap32
uint32_t HostSwap32( uint32_t v )
W ramach tego warunku w ramach systemu docelowego przeprowadzana jest zamiana bajtów w kolejności bajtów według wartości określonej 32-bitowej wartości, co ma zostać uznane za zachowanie kolejności bajtów w systemie docelowym (tzn.
hosta) w bajtach.
W rezultacie w bitowych systemach docelowych typu endian nie jest to operacja, a w systemach big endian – zmiana kolejności.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Wartość wejściowa (w razie potrzeby) z zamienną kolejnością bajtów.
|
HostSwap64
uint64_t HostSwap64( uint64_t v )
W ramach tego warunku w ramach systemu docelowego przeprowadzana jest zamiana bajtów w kolejności bajtów o wartość określonej 64-bitowej wartości, co ma zostać uznane za zachowanie kolejności bajtów w systemie docelowym (tzn.
hosta) w bajtach.
W rezultacie w bitowych systemach docelowych typu endian nie jest to operacja, a w systemach big endian – zmiana kolejności.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Wartość wejściowa (w razie potrzeby) z zamienną kolejnością bajtów.
|
Put16
void Put16( uint8_t *p, uint16_t v )
Wykonaj (potencjalnie niedopasowany) zapis w pamięci systemu docelowego, uporządkowanej 16-bitowej wartości 16-bitowej na określony adres wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w porządku dużych liter.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
Put32
void Put32( uint8_t *p, uint32_t v )
Przeprowadź (potencjalnie niedopasowany) zapis w pamięci systemu docelowego w uporządkowanej 32-bitowej wartości w określonym adresie wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w odpowiednim porządkowaniu bajtów.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
Put64
void Put64( uint8_t *p, uint64_t v )
Przeprowadź (potencjalnie niedopasowany) zapis w pamięci systemu docelowego, uporządkowanej 64-bitowej wartości 64-bitowej na określony adres wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w odpowiednim porządkowaniu bajtów.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
Read16
uint16_t Read16( uint8_t *& p )
Przeprowadź (potencjalnie niedopasowaną) wartość z pamięci uporządkowanej 16-bitowej wartości 16-bitowej z określonego adresu wskaźnika, jeśli jest to konieczne, aby system docelowy umieścił wartość zgodnie z właściwą kolejnością bajtów w systemie docelowym i zwiększy wskaźnik o 16 bitów (2 bajty).
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
16-bitowa wartość w podanym adresie wskaźnika (w razie potrzeby) z zamianą bajtów.
|
Read16
uint16_t Read16( const uint8_t *& p )
Przeprowadź (potencjalnie niedopasowaną) wartość z pamięci uporządkowanej 16-bitowej wartości 16-bitowej z określonego adresu wskaźnika, jeśli jest to konieczne, aby system docelowy umieścił wartość zgodnie z właściwą kolejnością bajtów w systemie docelowym i zwiększy wskaźnik o 16 bitów (2 bajty).
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
16-bitowa wartość w podanym adresie wskaźnika (w razie potrzeby) z zamianą bajtów.
|
Read32
uint32_t Read32( uint8_t *& p )
Przeprowadź (potencjalnie niedopasowaną) wartość z pamięci uporządkowanej według 32-bitowej wartości z określonego adresu wskaźnika, a w razie potrzeby dokonaj zmiany kolejności bajtów, aby system docelowy umieścił wartość zgodnie z właściwą kolejnością bajtów w systemie docelowym, i zwiększ wskaźnik o 32 bity (4 bajty).
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
32-bitowa wartość w określonym adresie wskaźnika (w razie potrzeby) z zamianą bajtów.
|
Read32
uint32_t Read32( const uint8_t *& p )
Przeprowadź (potencjalnie niedopasowaną) wartość z pamięci uporządkowanej według 32-bitowej wartości z określonego adresu wskaźnika, a w razie potrzeby dokonaj zmiany kolejności bajtów, aby system docelowy umieścił wartość zgodnie z właściwą kolejnością bajtów w systemie docelowym, i zwiększ wskaźnik o 32 bity (4 bajty).
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
32-bitowa wartość w określonym adresie wskaźnika (w razie potrzeby) z zamianą bajtów.
|
Read64
uint64_t Read64( uint8_t *& p )
Przeprowadź (potencjalnie niedopasowaną) wartość z pamięci uporządkowanej według 64-bitowej wartości 64-bitowej z określonego adresu wskaźnika, w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość zgodnie z właściwą kolejnością bajtów w systemie docelowym, i zwiększ wskaźnik o 64 bity (8 bajtów).
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
64-bitowa wartość w określonym adresie wskaźnika (w razie potrzeby) z zamienioną kolejnością bajtów.
|
Read64
uint64_t Read64( const uint8_t *& p )
Przeprowadź (potencjalnie niedopasowaną) wartość z pamięci uporządkowanej według 64-bitowej wartości 64-bitowej z określonego adresu wskaźnika, w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość zgodnie z właściwą kolejnością bajtów w systemie docelowym, i zwiększ wskaźnik o 64 bity (8 bajtów).
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
64-bitowa wartość w określonym adresie wskaźnika (w razie potrzeby) z zamienioną kolejnością bajtów.
|
Write16
void Write16( uint8_t *& p, uint16_t v )
Wykonaj (potencjalnie niedopasowany) zapis w pamięci systemu docelowego, uporządkowanej 16-bitowej wartości 16-bitowej na określony adres wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w porządku dużych liter.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
Write32
void Write32( uint8_t *& p, uint32_t v )
Przeprowadź (potencjalnie niedopasowany) zapis w pamięci systemu docelowego w uporządkowanej 32-bitowej wartości w określonym adresie wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w odpowiednim porządkowaniu bajtów.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
Write64
void Write64( uint8_t *& p, uint64_t v )
Przeprowadź (potencjalnie niedopasowany) zapis w pamięci systemu docelowego, uporządkowanej 64-bitowej wartości 64-bitowej na określony adres wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w odpowiednim porządkowaniu bajtów.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|