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ị byte nhỏ được sắp xếp theo thứ tự cho các loại 16, 32 và 64 bit.
  • Thực hiện các truy cập ánh xạ bộ nhớ đơn giản, hiệu quả một cách an toàn, có thể tới các vị trí bộ nhớ không căn chỉnh, có hoặc không cần sắp xếp lại byte, đến các số lượng byte cuối 8, 16, 32 và 64 bit, cả có và không có quản lý con trỏ.

Trên các hệ thống máy chủ lưu trữ nội bộ nhỏ, không có việc sắp xếp lại byte thực tế. Trên các hệ thống khác, việc sắp xếp lại byte được thực hiện khi phù hợp.

Hàm

Get16(const uint8_t *p)
uint16_t
Thực hiện việc đọc bộ nhớ có thể không được căn chỉnh của byte endian nhỏ có thứ tự 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 đích.
Get32(const uint8_t *p)
uint32_t
Thực hiện việc đọc bộ nhớ có thể không được căn chỉnh của byte endian nhỏ có thứ tự 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 đích.
Get64(const uint8_t *p)
uint64_t
Thực hiện việc đọc bộ nhớ có thể không được căn chỉnh của byte endian nhỏ có thứ tự 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 đích.
HostSwap16(uint16_t v)
uint16_t
Điều này thực hiện một cách có điều kiện, khi cần cho hệ thống đích, hoán đổi thứ tự byte theo giá trị của giá trị 16 bit được chỉ định, được giả định là theo thứ tự byte cuối nhỏ đối với hệ thống đích (nghĩa là
HostSwap32(uint32_t v)
uint32_t
Việc này sẽ thực hiện theo điều kiện, nếu cần cho hệ thống đích, hoán đổi thứ tự byte theo giá trị của giá trị 32 bit được chỉ định, được giả định là có thứ tự byte cuối nhỏ đối với hệ thống đích (nghĩa là
HostSwap64(uint64_t v)
uint64_t
Việc này sẽ thực hiện có điều kiện, khi cần cho hệ thống đích, 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 nhỏ đối với hệ thống đích (nghĩa là
Put16(uint8_t *p, uint16_t v)
void
Thực hiện việc ghi bộ nhớ có thể không được căn chỉnh của byte hệ thống đích có thứ tự giá trị 16 bit vào đị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 nhỏ.
Put32(uint8_t *p, uint32_t v)
void
Thực hiện việc ghi bộ nhớ có thể không được căn chỉnh của byte hệ thống đích có thứ tự giá trị 32 bit vào đị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 nhỏ.
Put64(uint8_t *p, uint64_t v)
void
Thực hiện việc ghi bộ nhớ có thể không được căn chỉnh của byte hệ thống đích có thứ tự giá trị 64 bit vào đị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 nhỏ.
Read16(uint8_t *& p)
uint16_t
Thực hiện việc đọc bộ nhớ có thể không được căn chỉnh của byte endian nhỏ có thứ tự 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 đích và tăng con trỏ 16 bit (2 byte).
Read16(const uint8_t *& p)
uint16_t
Thực hiện việc đọc bộ nhớ có thể không được căn chỉnh của byte endian nhỏ có thứ tự 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 đích và tăng con trỏ 16 bit (2 byte).
Read32(uint8_t *& p)
uint32_t
Thực hiện việc đọc bộ nhớ có thể không được căn chỉnh của byte endian nhỏ có thứ tự 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 đích và tăng con trỏ 32 bit (4 byte).
Read32(const uint8_t *& p)
uint32_t
Thực hiện việc đọc bộ nhớ có thể không được căn chỉnh của byte endian nhỏ có thứ tự 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 đích và tăng con trỏ 32 bit (4 byte).
Read64(uint8_t *& p)
uint64_t
Thực hiện việc đọc bộ nhớ có thể không được căn chỉnh của byte endian nhỏ có thứ tự 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 đích và tăng con trỏ 64 bit (8 byte).
Read64(const uint8_t *& p)
uint64_t
Thực hiện việc đọc bộ nhớ có thể không được căn chỉnh của byte endian nhỏ có thứ tự 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 đích và tăng con trỏ 64 bit (8 byte).
Write16(uint8_t *& p, uint16_t v)
void
Thực hiện việc ghi bộ nhớ có thể không được căn chỉnh của byte hệ thống đích có thứ tự giá trị 16 bit vào đị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 nhỏ.
Write32(uint8_t *& p, uint32_t v)
void
Thực hiện việc ghi bộ nhớ có thể không được căn chỉnh của byte hệ thống đích có thứ tự giá trị 32 bit vào đị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 nhỏ.
Write64(uint8_t *& p, uint64_t v)
void
Thực hiện việc ghi bộ nhớ có thể không được căn chỉnh của byte hệ thống đích có thứ tự giá trị 64 bit vào đị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 nhỏ.

Hàm

Get16

uint16_t Get16(
  const uint8_t *p
)

Thực hiện việc đọc bộ nhớ có thể không được căn chỉnh của byte endian nhỏ có thứ tự 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 đích.

Thông tin chi tiết
Các tham số
[in] p
Địa chỉ con trỏ, có thể không được căn chỉnh, để đọc giá trị được sắp xếp theo thứ tự byte nhỏ 16 bit.
Trả về
Giá trị 16 bit tại địa chỉ con trỏ được chỉ định, nếu cần, byte được sắp xếp lại.

Get32

uint32_t Get32(
  const uint8_t *p
)

Thực hiện việc đọc bộ nhớ có thể không được căn chỉnh của byte endian nhỏ có thứ tự 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 đích.

Thông tin chi tiết
Các tham số
[in] p
Địa chỉ con trỏ, có thể không được căn chỉnh, để đọc giá trị được sắp xếp theo thứ tự byte nhỏ 32 bit.
Trả về
Giá trị 32 bit tại địa chỉ con trỏ được chỉ định, nếu cần, byte được sắp xếp lại.

Get64

uint64_t Get64(
  const uint8_t *p
)

Thực hiện việc đọc bộ nhớ có thể không được căn chỉnh của byte endian nhỏ có thứ tự 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 đích.

Thông tin chi tiết
Các tham số
[in] p
Địa chỉ con trỏ, có thể không được căn chỉnh, để đọc giá trị được sắp xếp theo thứ tự byte nhỏ 64 bit.
Trả về
Giá trị 64 bit tại địa chỉ con trỏ được chỉ định, nếu cần, byte được sắp xếp lại.

HostSwap16

uint16_t HostSwap16(
  uint16_t v
)

Điều này thực hiện một cách có điều kiện, khi cần cho hệ thống đích, hoán đổi thứ tự byte theo giá trị của giá trị 16 bit được chỉ định, được giả định là theo thứ tự byte cuối nhỏ đối với hệ thống đích (nghĩa là

thứ tự byte).

Do đó, trên các hệ thống mục tiêu Endian nhỏ, đây là giá trị không hoạt động và đối với các hệ thống mục tiêu endian lớn, thao tác này sẽ thực hiện việc sắp xếp lại thứ tự.

Thông tin chi tiết
Các tham số
[in] v
Giá trị 16 bit được hoán đổi thứ tự byte.
Trả về
Giá trị đầu vào (nếu cần) đã hoán đổi thứ tự byte.

HostSwap32

uint32_t HostSwap32(
  uint32_t v
)

Việc này sẽ thực hiện theo điều kiện, nếu cần cho hệ thống đích, hoán đổi thứ tự byte theo giá trị của giá trị 32 bit được chỉ định, được giả định là có thứ tự byte cuối nhỏ đối với hệ thống đích (nghĩa là

thứ tự byte).

Do đó, trên các hệ thống mục tiêu Endian nhỏ, đây là giá trị không hoạt động và đối với các hệ thống mục tiêu endian lớn, thao tác này sẽ thực hiện việc sắp xếp lại thứ tự.

Thông tin chi tiết
Các tham số
[in] v
Giá trị 32 bit được hoán đổi thứ tự byte.
Trả về
Giá trị đầu vào (nếu cần) đã hoán đổi thứ tự byte.

HostSwap64

uint64_t HostSwap64(
  uint64_t v
)

Việc này sẽ thực hiện có điều kiện, khi cần cho hệ thống đích, 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 nhỏ đối với hệ thống đích (nghĩa là

thứ tự byte).

Do đó, trên các hệ thống mục tiêu Endian nhỏ, đây là giá trị không hoạt động và đối với các hệ thống mục tiêu endian lớn, thao tác này sẽ thực hiện việc sắp xếp lại thứ tự.

Thông tin chi tiết
Các tham số
[in] v
Giá trị 64 bit được hoán đổi thứ tự byte.
Trả về
Giá trị đầu 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 việc ghi bộ nhớ có thể không được căn chỉnh của byte hệ thống đích có thứ tự giá trị 16 bit vào đị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 nhỏ.

Thông tin chi tiết
Các tham số
[in] p
Địa chỉ con trỏ, có thể không được căn chỉnh, để ghi giá trị 16 bit của hệ thống đích có thứ tự 16 bit theo thứ tự byte endian nhỏ.
[in] v
Giá trị 16 bit cần ghi, nếu cần, sắp xếp lại byte.

Put32

void Put32(
  uint8_t *p,
  uint32_t v
)

Thực hiện việc ghi bộ nhớ có thể không được căn chỉnh của byte hệ thống đích có thứ tự giá trị 32 bit vào đị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 nhỏ.

Thông tin chi tiết
Các tham số
[in] p
Địa chỉ con trỏ, có thể không được căn chỉnh, để ghi giá trị 32 bit của hệ thống đích theo thứ tự byte cuối nhỏ.
[in] v
Giá trị 32 bit cần ghi, nếu cần, sắp xếp lại byte.

Put64

void Put64(
  uint8_t *p,
  uint64_t v
)

Thực hiện việc ghi bộ nhớ có thể không được căn chỉnh của byte hệ thống đích có thứ tự giá trị 64 bit vào đị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 nhỏ.

Thông tin chi tiết
Các tham số
[in] p
Địa chỉ con trỏ, có thể không được căn chỉnh, để ghi giá trị 64 bit của hệ thống đích có thứ tự 64 bit theo thứ tự byte nhỏ.
[in] v
Giá trị 64 bit cần ghi, nếu cần, sắp xếp lại byte.

Read16

uint16_t Read16(
  uint8_t *& p
)

Thực hiện việc đọc bộ nhớ có thể không được căn chỉnh của byte endian nhỏ có thứ tự 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 đích và tăng con trỏ 16 bit (2 byte).

Thông tin chi tiết
Các tham số
[in,out] p
Một tham chiếu đến địa chỉ con trỏ, có thể không được căn chỉnh, để đọc giá trị được sắp xếp theo byte endian nhỏ 16 bit từ và sau đó tăng thêm 16 bit (2 byte).
Trả về
Giá trị 16 bit tại địa chỉ con trỏ được chỉ định, nếu cần, sẽ hoán đổi thứ tự byte.

Read16

uint16_t Read16(
  const uint8_t *& p
)

Thực hiện việc đọc bộ nhớ có thể không được căn chỉnh của byte endian nhỏ có thứ tự 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 đích và tăng con trỏ 16 bit (2 byte).

Thông tin chi tiết
Các tham số
[in,out] p
Một tham chiếu đến địa chỉ con trỏ không đổi, có thể không được căn chỉnh, để đọc giá trị được sắp xếp theo byte cuối 16 bit từ và sau đó tăng thêm 16 bit (2 byte).
Trả về
Giá trị 16 bit tại địa chỉ con trỏ được chỉ định, nếu cần, sẽ hoán đổi thứ tự byte.

Read32

uint32_t Read32(
  uint8_t *& p
)

Thực hiện việc đọc bộ nhớ có thể không được căn chỉnh của byte endian nhỏ có thứ tự 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 đích và tăng con trỏ 32 bit (4 byte).

Thông tin chi tiết
Các tham số
[in,out] p
Một tham chiếu đến địa chỉ con trỏ, có thể không được căn chỉnh, để đọc giá trị được sắp xếp theo thứ tự byte nhỏ 32 bit từ và sau đó tăng thêm 32 bit (4 byte).
Trả về
Giá trị 32 bit tại địa chỉ con trỏ được chỉ định, nếu cần, sẽ hoán đổi thứ tự byte.

Read32

uint32_t Read32(
  const uint8_t *& p
)

Thực hiện việc đọc bộ nhớ có thể không được căn chỉnh của byte endian nhỏ có thứ tự 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 đích và tăng con trỏ 32 bit (4 byte).

Thông tin chi tiết
Các tham số
[in,out] p
Một tham chiếu đến địa chỉ con trỏ không đổi, có thể không được căn chỉnh, để đọc giá trị được sắp xếp theo byte endian nhỏ 32 bit từ và sau đó tăng thêm 32 bit (4 byte).
Trả về
Giá trị 32 bit tại địa chỉ con trỏ được chỉ định, nếu cần, sẽ hoán đổi thứ tự byte.

Read64

uint64_t Read64(
  uint8_t *& p
)

Thực hiện việc đọc bộ nhớ có thể không được căn chỉnh của byte endian nhỏ có thứ tự 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 đích và tăng con trỏ 64 bit (8 byte).

Thông tin chi tiết
Các tham số
[in,out] p
Một tham chiếu đến địa chỉ con trỏ, có thể không được căn chỉnh, để đọc giá trị được sắp xếp theo byte endian nhỏ 64 bit từ và sau đó tăng thêm 64 bit (8 byte).
Trả về
Giá trị 64 bit tại địa chỉ con trỏ được chỉ định, nếu cần, sẽ hoán đổi thứ tự byte.

Read64

uint64_t Read64(
  const uint8_t *& p
)

Thực hiện việc đọc bộ nhớ có thể không được căn chỉnh của byte endian nhỏ có thứ tự 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 đích và tăng con trỏ 64 bit (8 byte).

Thông tin chi tiết
Các tham số
[in,out] p
Một tham chiếu đến địa chỉ con trỏ không đổi, có thể không được căn chỉnh, để đọc giá trị được sắp xếp theo byte cuối 64 bit từ và sau đó tăng thêm 64 bit (8 byte).
Trả về
Giá trị 64 bit tại địa chỉ con trỏ được chỉ định, nếu cần, sẽ hoán đổi thứ tự byte.

Write16

void Write16(
  uint8_t *& p,
  uint16_t v
)

Thực hiện việc ghi bộ nhớ có thể không được căn chỉnh của byte hệ thống đích có thứ tự giá trị 16 bit vào đị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 nhỏ.

Thông tin chi tiết
Các tham số
[in] p
Tham chiếu đến địa chỉ con trỏ, có thể không được căn chỉnh, để ghi giá trị 16 bit của hệ thống đích theo thứ tự byte cuối nhỏ và sau đó tăng thêm 16 bit (2 byte).
[in] v
Giá trị 16 bit để ghi, nếu cần, hoán đổi thứ tự byte.

Write32

void Write32(
  uint8_t *& p,
  uint32_t v
)

Thực hiện việc ghi bộ nhớ có thể không được căn chỉnh của byte hệ thống đích có thứ tự giá trị 32 bit vào đị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 nhỏ.

Thông tin chi tiết
Các tham số
[in] p
Tham chiếu đến địa chỉ con trỏ, có thể không được căn chỉnh, để ghi giá trị 32 bit của hệ thống đích theo thứ tự byte endian nhỏ và sau đó tăng thêm 32 bit (4 byte).
[in] v
Giá trị 32 bit để ghi, nếu cần, hoán đổi thứ tự byte.

Write64

void Write64(
  uint8_t *& p,
  uint64_t v
)

Thực hiện việc ghi bộ nhớ có thể không được căn chỉnh của byte hệ thống đích có thứ tự giá trị 64 bit vào đị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 nhỏ.

Thông tin chi tiết
Các tham số
[in] p
Tham chiếu đến địa chỉ con trỏ, có thể không được căn chỉnh, để ghi giá trị 64 bit của hệ thống đích theo thứ tự byte endian nhỏ và sau đó tăng thêm 64 bit (8 byte).
[in] v
Giá trị 64 bit để ghi, nếu cần, hoán đổi thứ tự byte.