nl:: Weave:: Encoding:: LittleEndian
Không gian tên này cung cấp các hàm cho:
Tóm tắt
- Thực hiện sắp xếp lại byte, so với hệ thống máy chủ, theo giá trị của các giá trị được sắp xếp theo thứ tự byte cuối cùng cho các kiểu 16-, 32- và 64 bit.
- Thực hiện các lần truy cập ánh xạ bộ nhớ đơn giản, hiệu quả một cách an toàn, có khả năng đối với các vị trí bộ nhớ không được căn chỉnh, có hoặc không có sắp xếp lại byte, thành các số lượng có thứ tự byte endian nhỏ 8, 16, 32 và 64 bit, cả có và không quản lý con trỏ.
Trên các hệ thống lưu trữ endian nhỏ, không có sắp xếp lại byte thực tế nào sẽ xảy ra. Trên các hệ thống khác, việc sắp xếp lại byte được thực hiện khi thích hợp.
Hàm |
|
---|---|
Get16(const uint8_t *p)
|
uint16_t
Thực hiện một, có thể không khớp, đọc bộ nhớ của byte cuối nhỏ được sắp xếp theo giá trị 16 bit từ địa chỉ con trỏ được chỉ định, thực hiện sắp xếp lại byte, nếu cần, để hệ thống đích đặt giá trị theo thứ tự byte hệ thống mục tiêu.
|
Get32(const uint8_t *p)
|
uint32_t
Thực hiện một lần đọc bộ nhớ có thể không được căn chỉnh, của byte endian nhỏ được sắp xếp theo giá trị 32 bit từ địa chỉ con trỏ được chỉ định, thực hiện sắp xếp lại byte, nếu cần, để hệ thống đích đặt giá trị theo thứ tự byte hệ thống mục tiêu.
|
Get64(const uint8_t *p)
|
uint64_t
Thực hiện một lần đọc bộ nhớ có thể không được căn chỉnh, của byte cuối nhỏ được sắp xếp theo giá trị 64 bit từ địa chỉ con trỏ được chỉ định, thực hiện sắp xếp lại byte, nếu cần, để hệ thống đích đặt giá trị theo thứ tự byte hệ thống mục tiêu.
|
HostSwap16(uint16_t v)
|
uint16_t
Điều này thực hiện có điều kiện, khi cần thiết cho hệ thống mục tiêu, hoán đổi thứ tự byte theo giá trị của giá trị 16 bit được chỉ định, được giả định là có thứ tự byte cuối cùng nhỏ đến hệ thống mục tiêu (ví dụ:
|
HostSwap32(uint32_t v)
|
uint32_t
Thao tác này thực hiện có điều kiện, khi cần thiết cho hệ thống mục tiêu, hoán đổi thứ tự byte theo giá trị của giá trị 32 bit được chỉ định, được giả định là thứ tự byte cuối cùng nhỏ đến hệ thống mục tiêu (tức là
|
HostSwap64(uint64_t v)
|
uint64_t
Thao tác này thực hiện có điều kiện, khi cần thiết cho hệ thống mục tiêu, hoán đổi thứ tự byte theo giá trị của giá trị 64 bit được chỉ định, được coi là thứ tự byte cuối cùng nhỏ đến hệ thống mục tiêu (tức là
|
Put16(uint8_t *p, uint16_t v)
|
void
Thực hiện ghi bộ nhớ có thể không được căn chỉnh, bộ nhớ của byte hệ thống mục tiêu được sắp xếp theo giá trị 16 bit đến địa chỉ con trỏ được chỉ định, thực hiện sắp xếp lại byte, nếu cần, để hệ thống đích đặt giá trị theo thứ tự byte cuối.
|
Put32(uint8_t *p, uint32_t v)
|
void
Thực hiện ghi bộ nhớ có thể không được căn chỉnh, bộ nhớ của byte hệ thống mục tiêu được sắp xếp theo giá trị 32 bit đến địa chỉ con trỏ được chỉ định, thực hiện sắp xếp lại byte, nếu cần, để hệ thống đích đặt giá trị theo thứ tự byte cuối.
|
Put64(uint8_t *p, uint64_t v)
|
void
Thực hiện ghi bộ nhớ có thể không được căn chỉnh, bộ nhớ của byte hệ thống mục tiêu được sắp xếp theo giá trị 64 bit đến địa chỉ con trỏ được chỉ định, thực hiện sắp xếp lại byte, nếu cần, để hệ thống đích đặt giá trị theo thứ tự byte cuối.
|
Read16(uint8_t *& p)
|
uint16_t
Thực hiện một, có thể không được căn chỉnh, đọc bộ nhớ của byte endian nhỏ được sắp xếp giá trị 16 bit từ địa chỉ con trỏ được chỉ định, thực hiện sắp xếp lại byte, nếu cần, để hệ thống mục tiêu đặt giá trị theo thứ tự byte hệ thống mục tiêu và tăng con trỏ thêm 16 bit (2 byte).
|
Read16(const uint8_t *& p)
|
uint16_t
Thực hiện một, có thể không được căn chỉnh, đọc bộ nhớ của byte endian nhỏ được sắp xếp giá trị 16 bit từ địa chỉ con trỏ được chỉ định, thực hiện sắp xếp lại byte, nếu cần, để hệ thống mục tiêu đặt giá trị theo thứ tự byte hệ thống mục tiêu và tăng con trỏ thêm 16 bit (2 byte).
|
Read32(uint8_t *& p)
|
uint32_t
Thực hiện một, có thể không được căn chỉnh, đọc bộ nhớ của byte endian nhỏ được sắp xếp giá trị 32 bit từ địa chỉ con trỏ được chỉ định, thực hiện sắp xếp lại byte, nếu cần, để hệ thống mục tiêu đặt giá trị theo thứ tự byte hệ thống mục tiêu và tăng con trỏ 32 bit (4 byte).
|
Read32(const uint8_t *& p)
|
uint32_t
Thực hiện một, có thể không được căn chỉnh, đọc bộ nhớ của byte endian nhỏ được sắp xếp giá trị 32 bit từ địa chỉ con trỏ được chỉ định, thực hiện sắp xếp lại byte, nếu cần, để hệ thống mục tiêu đặt giá trị theo thứ tự byte hệ thống mục tiêu và tăng con trỏ 32 bit (4 byte).
|
Read64(uint8_t *& p)
|
uint64_t
Thực hiện một, có thể không được căn chỉnh, đọc bộ nhớ của byte endian nhỏ được sắp xếp theo giá trị 64 bit từ địa chỉ con trỏ được chỉ định, thực hiện sắp xếp lại byte, nếu cần, để hệ thống mục tiêu đặt giá trị theo thứ tự byte hệ thống mục tiêu và tăng con trỏ thêm 64 bit (8 byte).
|
Read64(const uint8_t *& p)
|
uint64_t
Thực hiện một, có thể không được căn chỉnh, đọc bộ nhớ của byte endian nhỏ được sắp xếp theo giá trị 64 bit từ địa chỉ con trỏ được chỉ định, thực hiện sắp xếp lại byte, nếu cần, để hệ thống mục tiêu đặt giá trị theo thứ tự byte hệ thống mục tiêu và tăng con trỏ thêm 64 bit (8 byte).
|
Write16(uint8_t *& p, uint16_t v)
|
void
Thực hiện ghi bộ nhớ có khả năng không được căn chỉnh, ghi bộ nhớ của byte hệ thống mục tiêu được sắp xếp giá trị 16 bit đến địa chỉ con trỏ được chỉ định, thực hiện sắp xếp lại byte, nếu cần, để hệ thống đích đặt giá trị theo thứ tự byte cuối.
|
Write32(uint8_t *& p, uint32_t v)
|
void
Thực hiện ghi bộ nhớ có thể không được căn chỉnh, bộ nhớ của byte hệ thống mục tiêu được sắp xếp theo giá trị 32 bit đến địa chỉ con trỏ được chỉ định, thực hiện sắp xếp lại byte, nếu cần, để hệ thống đích đặt giá trị theo thứ tự byte cuối.
|
Write64(uint8_t *& p, uint64_t v)
|
void
Thực hiện ghi bộ nhớ có khả năng không được căn chỉnh, ghi bộ nhớ của byte hệ thống mục tiêu được sắp xếp theo giá trị 64 bit đến địa chỉ con trỏ được chỉ định, thực hiện sắp xếp lại byte, nếu cần, để hệ thống đích đặt giá trị theo thứ tự byte cuối.
|
Hàm
Get16
uint16_t Get16( const uint8_t *p )
Thực hiện một, có thể không được căn chỉnh, đọc bộ nhớ của byte endian nhỏ được sắp xếp theo giá trị 16 bit từ địa chỉ con trỏ được chỉ định, thực hiện sắp xếp lại byte, nếu cần, để hệ thống đích đặt giá trị theo thứ tự byte hệ thống mục tiêu.
Thông tin chi tiết | |||
---|---|---|---|
Tham số |
|
||
Trả về |
Giá trị 16 bit tại địa chỉ con trỏ được chỉ định (nếu cần) sẽ được sắp xếp lại theo byte.
|
Get32
uint32_t Get32( const uint8_t *p )
Thực hiện một lần đọc bộ nhớ có thể không được căn chỉnh, của byte cuối nhỏ được sắp xếp theo giá trị 32 bit từ địa chỉ con trỏ được chỉ định, thực hiện sắp xếp lại byte, nếu cần, để hệ thống đích đặt giá trị theo thứ tự byte hệ thống mục tiêu.
Thông tin chi tiết | |||
---|---|---|---|
Tham số |
|
||
Trả về |
Giá trị 32 bit tại địa chỉ con trỏ được chỉ định (nếu cần) sẽ được sắp xếp lại theo byte.
|
Get64
uint64_t Get64( const uint8_t *p )
Thực hiện một lần đọc bộ nhớ có thể không được căn chỉnh, của byte endian nhỏ được sắp xếp theo giá trị 64 bit từ địa chỉ con trỏ được chỉ định, thực hiện sắp xếp lại byte, nếu cần, để hệ thống đích đặt giá trị theo thứ tự byte hệ thống mục tiêu.
Thông tin chi tiết | |||
---|---|---|---|
Tham số |
|
||
Trả về |
Giá trị 64 bit tại địa chỉ con trỏ được chỉ định (nếu cần) sẽ được sắp xếp lại theo byte.
|
HostSwap16
uint16_t HostSwap16( uint16_t v )
Điều này thực hiện có điều kiện, khi cần thiết cho hệ thống mục tiêu, hoán đổi thứ tự byte theo giá trị của giá trị 16 bit được chỉ định, được giả định là có thứ tự byte cuối cùng nhỏ đến hệ thống mục tiêu (tức là
máy chủ) theo thứ tự byte.
Do đó, trên các hệ thống nhắm mục tiêu endian nhỏ, đây là hoạt động không hoạt động và trên các hệ thống nhắm mục tiêu endian lớn, điều này thực hiện việc sắp xếp lại.
Thông tin chi tiết | |||
---|---|---|---|
Tham số |
|
||
Trả về |
Giá trị nhập vào (nếu cần) đã hoán đổi thứ tự byte.
|
HostSwap32
uint32_t HostSwap32( uint32_t v )
Thao tác này thực hiện có điều kiện, khi cần thiết cho hệ thống mục tiêu, hoán đổi thứ tự byte theo giá trị của giá trị 32 bit được chỉ định, được giả định là thứ tự byte cuối cùng nhỏ đến hệ thống mục tiêu (tức là
máy chủ) theo thứ tự byte.
Do đó, trên các hệ thống nhắm mục tiêu endian nhỏ, đây là hoạt động không hoạt động và trên các hệ thống nhắm mục tiêu endian lớn, điều này thực hiện việc sắp xếp lại.
Thông tin chi tiết | |||
---|---|---|---|
Tham số |
|
||
Trả về |
Giá trị nhập vào (nếu cần) đã hoán đổi thứ tự byte.
|
HostSwap64
uint64_t HostSwap64( uint64_t v )
Điều này thực hiện có điều kiện, khi cần thiết cho hệ thống mục tiêu, hoán đổi thứ tự byte theo giá trị của giá trị 64 bit được chỉ định, được giả định là có thứ tự byte cuối cùng nhỏ đến hệ thống mục tiêu (ví dụ:
máy chủ) theo thứ tự byte.
Do đó, trên các hệ thống nhắm mục tiêu endian nhỏ, đây là hoạt động không hoạt động và trên các hệ thống nhắm mục tiêu endian lớn, điều này thực hiện việc sắp xếp lại.
Thông tin chi tiết | |||
---|---|---|---|
Tham số |
|
||
Trả về |
Giá trị nhập vào (nếu cần) đã hoán đổi thứ tự byte.
|
Put16
void Put16( uint8_t *p, uint16_t v )
Thực hiện ghi bộ nhớ có thể không được căn chỉnh, bộ nhớ của byte hệ thống mục tiêu được sắp xếp theo giá trị 16 bit đến địa chỉ con trỏ được chỉ định, thực hiện sắp xếp lại byte, nếu cần, để hệ thống đích đặt giá trị theo thứ tự byte cuối.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Tham số |
|
Put32
void Put32( uint8_t *p, uint32_t v )
Thực hiện ghi bộ nhớ có thể không được căn chỉnh, bộ nhớ của byte hệ thống mục tiêu được sắp xếp theo giá trị 32 bit đến địa chỉ con trỏ được chỉ định, thực hiện sắp xếp lại byte, nếu cần, để hệ thống đích đặt giá trị theo thứ tự byte cuối.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Tham số |
|
Put64
void Put64( uint8_t *p, uint64_t v )
Thực hiện ghi bộ nhớ có thể không được căn chỉnh, bộ nhớ của byte hệ thống mục tiêu được sắp xếp theo giá trị 64 bit đến địa chỉ con trỏ được chỉ định, thực hiện sắp xếp lại byte, nếu cần, để hệ thống đích đặt giá trị theo thứ tự byte cuối.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Tham số |
|
Read16
uint16_t Read16( uint8_t *& p )
Thực hiện một, có thể không được căn chỉnh, đọc bộ nhớ của byte endian nhỏ được sắp xếp giá trị 16 bit từ địa chỉ con trỏ được chỉ định, thực hiện sắp xếp lại byte, nếu cần, để hệ thống mục tiêu đặt giá trị theo thứ tự byte hệ thống mục tiêu và tăng con trỏ thêm 16 bit (2 byte).
Thông tin chi tiết | |||
---|---|---|---|
Tham số |
|
||
Trả về |
Giá trị 16 bit tại địa chỉ con trỏ được chỉ định (nếu cần) được hoán đổi thứ tự byte.
|
Read16
uint16_t Read16( const uint8_t *& p )
Thực hiện một, có thể không được căn chỉnh, đọc bộ nhớ của byte endian nhỏ được sắp xếp giá trị 16 bit từ địa chỉ con trỏ được chỉ định, thực hiện sắp xếp lại byte, nếu cần, để hệ thống mục tiêu đặt giá trị theo thứ tự byte hệ thống mục tiêu và tăng con trỏ thêm 16 bit (2 byte).
Thông tin chi tiết | |||
---|---|---|---|
Tham số |
|
||
Trả về |
Giá trị 16 bit tại địa chỉ con trỏ được chỉ định (nếu cần) được hoán đổi thứ tự byte.
|
Read32
uint32_t Read32( uint8_t *& p )
Thực hiện một, có thể không được căn chỉnh, đọc bộ nhớ của byte endian nhỏ được sắp xếp giá trị 32 bit từ địa chỉ con trỏ được chỉ định, thực hiện sắp xếp lại byte, nếu cần, để hệ thống mục tiêu đặt giá trị theo thứ tự byte hệ thống mục tiêu và tăng con trỏ 32 bit (4 byte).
Thông tin chi tiết | |||
---|---|---|---|
Tham số |
|
||
Trả về |
Giá trị 32 bit tại địa chỉ con trỏ được chỉ định (nếu cần) được hoán đổi thứ tự byte.
|
Read32
uint32_t Read32( const uint8_t *& p )
Thực hiện một, có thể không được căn chỉnh, đọc bộ nhớ của byte endian nhỏ được sắp xếp giá trị 32 bit từ địa chỉ con trỏ được chỉ định, thực hiện sắp xếp lại byte, nếu cần, để hệ thống mục tiêu đặt giá trị theo thứ tự byte hệ thống mục tiêu và tăng con trỏ 32 bit (4 byte).
Thông tin chi tiết | |||
---|---|---|---|
Tham số |
|
||
Trả về |
Giá trị 32 bit tại địa chỉ con trỏ được chỉ định (nếu cần) được hoán đổi thứ tự byte.
|
Read64
uint64_t Read64( uint8_t *& p )
Thực hiện một, có thể không được căn chỉnh, đọc bộ nhớ của byte endian nhỏ được sắp xếp theo giá trị 64 bit từ địa chỉ con trỏ được chỉ định, thực hiện sắp xếp lại byte, nếu cần, để hệ thống mục tiêu đặt giá trị theo thứ tự byte hệ thống mục tiêu và tăng con trỏ thêm 64 bit (8 byte).
Thông tin chi tiết | |||
---|---|---|---|
Tham số |
|
||
Trả về |
Giá trị 64 bit tại địa chỉ con trỏ được chỉ định (nếu cần) được hoán đổi thứ tự byte.
|
Read64
uint64_t Read64( const uint8_t *& p )
Thực hiện một, có thể không được căn chỉnh, đọc bộ nhớ của byte endian nhỏ được sắp xếp theo giá trị 64 bit từ địa chỉ con trỏ được chỉ định, thực hiện sắp xếp lại byte, nếu cần, để hệ thống mục tiêu đặt giá trị theo thứ tự byte hệ thống mục tiêu và tăng con trỏ thêm 64 bit (8 byte).
Thông tin chi tiết | |||
---|---|---|---|
Tham số |
|
||
Trả về |
Giá trị 64 bit tại địa chỉ con trỏ được chỉ định (nếu cần) được hoán đổi thứ tự byte.
|
Write16
void Write16( uint8_t *& p, uint16_t v )
Thực hiện ghi bộ nhớ có khả năng không được căn chỉnh, ghi bộ nhớ của byte hệ thống mục tiêu được sắp xếp giá trị 16 bit đến địa chỉ con trỏ được chỉ định, thực hiện sắp xếp lại byte, nếu cần, để hệ thống đích đặt giá trị theo thứ tự byte cuối.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Tham số |
|
Write32
void Write32( uint8_t *& p, uint32_t v )
Thực hiện ghi bộ nhớ có thể không được căn chỉnh, bộ nhớ của byte hệ thống mục tiêu được sắp xếp theo giá trị 32 bit đến địa chỉ con trỏ được chỉ định, thực hiện sắp xếp lại byte, nếu cần, để hệ thống đích đặt giá trị theo thứ tự byte cuối.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Tham số |
|
Write64
void Write64( uint8_t *& p, uint64_t v )
Thực hiện ghi bộ nhớ có thể không được căn chỉnh, bộ nhớ của byte hệ thống mục tiêu được sắp xếp theo giá trị 64 bit đến địa chỉ con trỏ được chỉ định, thực hiện sắp xếp lại byte, nếu cần, để hệ thống đích đặt giá trị theo thứ tự byte cuối.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Tham số |
|