nl:: Weave:: Encoding:: BigEndian
Ta przestrzeń nazw oferuje funkcje:
Podsumowanie
- Zmienianie kolejności bajtów w odniesieniu do systemu hosta według wartości uporządkowanych bajtów 16-, 32- i 64-bitowych Big Endian.
- Bezpieczne wykonywanie prostych i wydajnych operacji dostępu z mapowaniem pamięci, potencjalnie do niedopasowanych lokalizacji pamięci, z możliwością zmiany kolejności bajtów lub bez niej, na 8-, 16-, 32- i 64-bitowe ilości uporządkowanych bajtów typu big endian, zarówno z zarządzaniem wskaźnikami, jak i bez nich.
W dużych systemach hostów nie następuje faktyczna zmiana kolejności bajtów. W innych systemach kolejność bajtów jest obsługiwana odpowiednio do potrzeb.
Funkcje |
|
---|---|
Get16(const uint8_t *p)
|
uint16_t
Przeprowadź, potencjalnie niedopasowaną, odczyt z pamięci 16-bitowej wartości 16-bitowej bajta big endowego uporządkowanego pod określonym adresem wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w docelowej kolejności bajtów w systemie.
|
Get32(const uint8_t *p)
|
uint32_t
Przeprowadź, potencjalnie niedopasowaną, odczyt z pamięci 32-bitowej wartości 32-bitowej bajtów big end_endia z podanego adresu wskaźnika. W razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w docelowej kolejności bajtów w systemie.
|
Get64(const uint8_t *p)
|
uint64_t
Przeprowadź, potencjalnie niedopasowaną, odczyt z pamięci 64-bitowej wartości Big Endian uporządkowanej w obecnym adresie wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w docelowej kolejności bajtów w systemie.
|
HostSwap16(uint16_t v)
|
uint16_t
To warunkowo wykonuje, zgodnie z potrzebami systemu docelowego, zamianę bajtów według wartości o określonej 16-bitowej wartości, przy założeniu, że jest ona zgodna z wielkim porządkowaniem bajtów w systemie docelowym (tzn.
|
HostSwap32(uint32_t v)
|
uint32_t
To warunkowo wykonuje, zgodnie z potrzebami systemu docelowego, zamianę kolejności bajtów według wartości określonej 32-bitowej wartości, przy założeniu, że jest ona w dużej kolejności bajtów w systemie docelowym (tzn.
|
HostSwap64(uint64_t v)
|
uint64_t
To warunkowo wykonuje, zgodnie z potrzebami systemu docelowego, zamianę bajtów według wartości o określonej 64-bitowej wartości, przy założeniu, że jest ona w dużej kolejności bajtów w systemie docelowym (tzn.
|
Put16(uint8_t *p, uint16_t v)
|
void
Wykonaj (potencjalnie niedopasowany) zapis w pamięci uporządkowanego 16-bitowego bajta systemowego docelowego pod określonym adresem wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy mógł zapisać wartość w kolejności wielkich bajtów.
|
Put32(uint8_t *p, uint32_t v)
|
void
Wykonaj (potencjalnie niedopasowany) zapis w pamięci uporządkowanego 32-bitowego bajta systemowego docelowego pod określonym adresem wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy mógł zapisać wartość w kolejności wielkich bajtów.
|
Put64(uint8_t *p, uint64_t v)
|
void
Wykonaj (potencjalnie niedopasowany) zapis w pamięci uporządkowanego 64-bitowego bajta systemowego docelowego pod określonym adresem wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy mógł zapisać wartość w kolejności wielkich bajtów.
|
Read16(uint8_t *& p)
|
uint16_t
Wykonaj potencjalnie niedopasowany odczyt z pamięci 16-bitowej wartości 16-bitowej bajta big endowego uporządkowanego pod określonym adresem wskaźnika, w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w kolejności bajtów w systemie docelowym, i zwiększ wskaźnik o 16 bitów (2 bajty).
|
Read16(const uint8_t *& p)
|
uint16_t
Wykonaj potencjalnie niedopasowany odczyt z pamięci 16-bitowej wartości 16-bitowej bajta big endowego uporządkowanego pod określonym adresem wskaźnika, w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w kolejności bajtów w systemie docelowym, i zwiększ wskaźnik o 16 bitów (2 bajty).
|
Read32(uint8_t *& p)
|
uint32_t
Wykonaj potencjalnie niedopasowany odczyt z pamięci 32-bitowej wartości 32-bitowej bajta big endowego uporządkowanego pod określonym adresem wskaźnika, w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w kolejności bajtów w systemie docelowym, i zwiększ wskaźnik o 32 bity (4 bajty).
|
Read32(const uint8_t *& p)
|
uint32_t
Wykonaj potencjalnie niedopasowany odczyt z pamięci 32-bitowej wartości 32-bitowej bajta big endowego uporządkowanego pod określonym adresem wskaźnika, w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w 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 niedopasowany odczyt pamięci 64-bitowej wartości 64-bitowej bajta big endowego uporządkowanego pod określonym adresem wskaźnika, w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w 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 niedopasowany odczyt pamięci 64-bitowej wartości 64-bitowej bajta big endowego uporządkowanego pod określonym adresem wskaźnika, w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w 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 uporządkowanego 16-bitowego bajta systemowego docelowego pod określonym adresem wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy mógł zapisać wartość w kolejności wielkich bajtów.
|
Write32(uint8_t *& p, uint32_t v)
|
void
Wykonaj (potencjalnie niedopasowany) zapis w pamięci uporządkowanego 32-bitowego bajta systemowego docelowego pod określonym adresem wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy mógł zapisać wartość w kolejności wielkich bajtów.
|
Write64(uint8_t *& p, uint64_t v)
|
void
Wykonaj (potencjalnie niedopasowany) zapis w pamięci uporządkowanego 64-bitowego bajta systemowego docelowego pod określonym adresem wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy mógł zapisać wartość w kolejności wielkich bajtów.
|
Funkcje
Get16
uint16_t Get16( const uint8_t *p )
Przeprowadź, potencjalnie niedopasowaną, odczyt z pamięci 16-bitowej wartości 16-bitowej bajta big endowego uporządkowanego pod określonym adresem wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w docelowej kolejności bajtów w systemie.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
16-bitowa wartość pod określonym adresem wskaźnika (w razie potrzeby) o zmianie kolejności bajtów.
|
Get32
uint32_t Get32( const uint8_t *p )
Przeprowadź, potencjalnie niedopasowaną, odczyt z pamięci 32-bitowej wartości 32-bitowej bajtów big end_endia z podanego adresu wskaźnika. W razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w docelowej kolejności bajtów w systemie.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Wartość 32-bitowa pod określonym adresem wskaźnika, w razie potrzeby, o zmianie kolejności bajtów.
|
Get64
uint64_t Get64( const uint8_t *p )
Przeprowadź, potencjalnie niedopasowaną, odczyt z pamięci 64-bitowej wartości Big Endian uporządkowanej w obecnym adresie wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w docelowej kolejności bajtów w systemie.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Wartość 64-bitowa pod określonym adresem wskaźnika, w razie potrzeby, o zmianie kolejności bajtów.
|
HostSwap16
uint16_t HostSwap16( uint16_t v )
To warunkowo wykonuje, zgodnie z potrzebami systemu docelowego, zamianę bajtów według wartości o określonej 16-bitowej wartości, przy założeniu, że jest ona zgodna z wielkim porządkowaniem bajtów w systemie docelowym (tzn.
hosta).
Dlatego w bitowych systemach docelowych jest to niemożliwe, a w wielkich systemach docelowych wymaga to zmiany kolejności.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
W razie potrzeby nadana wartość została zamieniona na wartość wejściową.
|
HostSwap32
uint32_t HostSwap32( uint32_t v )
To warunkowo wykonuje, zgodnie z potrzebami systemu docelowego, zamianę kolejności bajtów według wartości określonej 32-bitowej wartości, przy założeniu, że jest ona w dużej kolejności bajtów w systemie docelowym (tzn.
hosta).
Dlatego w bitowych systemach docelowych jest to niemożliwe, a w wielkich systemach docelowych wymaga to zmiany kolejności.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
W razie potrzeby nadana wartość została zamieniona na wartość wejściową.
|
HostSwap64
uint64_t HostSwap64( uint64_t v )
To warunkowo wykonuje, zgodnie z potrzebami systemu docelowego, zamianę bajtów według wartości o określonej 64-bitowej wartości, przy założeniu, że jest ona w dużej kolejności bajtów w systemie docelowym (tzn.
hosta).
Dlatego w bitowych systemach docelowych jest to niemożliwe, a w wielkich systemach docelowych wymaga to zmiany kolejności.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
W razie potrzeby nadana wartość została zamieniona na wartość wejściową.
|
Put16
void Put16( uint8_t *p, uint16_t v )
Wykonaj (potencjalnie niedopasowany) zapis w pamięci uporządkowanego 16-bitowego bajta systemowego docelowego pod określonym adresem wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy mógł zapisać wartość w kolejności wielkich bajtów.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
Put32
void Put32( uint8_t *p, uint32_t v )
Wykonaj (potencjalnie niedopasowany) zapis w pamięci uporządkowanego 32-bitowego bajta systemowego docelowego pod określonym adresem wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy mógł zapisać wartość w kolejności wielkich bajtów.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
Put64
void Put64( uint8_t *p, uint64_t v )
Wykonaj (potencjalnie niedopasowany) zapis w pamięci uporządkowanego 64-bitowego bajta systemowego docelowego pod określonym adresem wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy mógł zapisać wartość w kolejności wielkich bajtów.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
Read16
uint16_t Read16( uint8_t *& p )
Wykonaj potencjalnie niedopasowany odczyt z pamięci 16-bitowej wartości 16-bitowej bajta big endowego uporządkowanego pod określonym adresem wskaźnika, w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w kolejności bajtów w systemie docelowym, i zwiększ wskaźnik o 16 bitów (2 bajty).
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
16-bitowa wartość pod określonym adresem wskaźnika, w razie potrzeby zamieniana na kolejne bajty.
|
Read16
uint16_t Read16( const uint8_t *& p )
Wykonaj potencjalnie niedopasowany odczyt z pamięci 16-bitowej wartości 16-bitowej bajta big endowego uporządkowanego pod określonym adresem wskaźnika, w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w kolejności bajtów w systemie docelowym, i zwiększ wskaźnik o 16 bitów (2 bajty).
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
16-bitowa wartość pod określonym adresem wskaźnika, w razie potrzeby zamieniana na kolejne bajty.
|
Read32
uint32_t Read32( uint8_t *& p )
Wykonaj potencjalnie niedopasowany odczyt z pamięci 32-bitowej wartości 32-bitowej bajta big endowego uporządkowanego pod określonym adresem wskaźnika, w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w kolejności bajtów w systemie docelowym, i zwiększ wskaźnik o 32 bity (4 bajty).
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
W razie potrzeby 32-bitowa wartość pod określonym adresem wskaźnika została zamieniona.
|
Read32
uint32_t Read32( const uint8_t *& p )
Wykonaj potencjalnie niedopasowany odczyt z pamięci 32-bitowej wartości 32-bitowej bajta big endowego uporządkowanego pod określonym adresem wskaźnika, w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w kolejności bajtów w systemie docelowym, i zwiększ wskaźnik o 32 bity (4 bajty).
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
W razie potrzeby 32-bitowa wartość pod określonym adresem wskaźnika została zamieniona.
|
Read64
uint64_t Read64( uint8_t *& p )
Przeprowadź, potencjalnie niedopasowany odczyt pamięci 64-bitowej wartości 64-bitowej bajta big endowego uporządkowanego pod określonym adresem wskaźnika, w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w 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ść pod określonym adresem wskaźnika, w razie potrzeby zamieniana na kolejne bajty.
|
Read64
uint64_t Read64( const uint8_t *& p )
Przeprowadź, potencjalnie niedopasowany odczyt pamięci 64-bitowej wartości 64-bitowej bajta big endowego uporządkowanego pod określonym adresem wskaźnika, w razie potrzeby zmień kolejność bajtów, aby system docelowy umieścił wartość w 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ść pod określonym adresem wskaźnika, w razie potrzeby zamieniana na kolejne bajty.
|
Write16
void Write16( uint8_t *& p, uint16_t v )
Wykonaj (potencjalnie niedopasowany) zapis w pamięci uporządkowanego 16-bitowego bajta systemowego docelowego pod określonym adresem wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy mógł zapisać wartość w kolejności wielkich bajtów.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
Write32
void Write32( uint8_t *& p, uint32_t v )
Wykonaj (potencjalnie niedopasowany) zapis w pamięci uporządkowanego 32-bitowego bajta systemowego docelowego pod określonym adresem wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy mógł zapisać wartość w kolejności wielkich bajtów.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
Write64
void Write64( uint8_t *& p, uint64_t v )
Wykonaj (potencjalnie niedopasowany) zapis w pamięci uporządkowanego 64-bitowego bajta systemowego docelowego pod określonym adresem wskaźnika i w razie potrzeby zmień kolejność bajtów, aby system docelowy mógł zapisać wartość w kolejności wielkich bajtów.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|