nl::Weave::Encoding::BigEndian

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 lớn 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 theo thứ tự byte lớn 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ữ lớn cuối hệ thống sẽ không xảy ra 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 thích hợp.

Hàm

Get16(const uint8_t *p)
uint16_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 lớn đượ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 mục tiêu đặ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 việc đọc bộ nhớ, có thể không được căn chỉnh, đọc bộ nhớ của byte cuối lớn đượ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 mục tiêu đặ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 việc đọc bộ nhớ, có thể không được căn chỉnh, đọc bộ nhớ của byte cuối lớn đượ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.
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à theo thứ tự byte endian lớn đến hệ thống mục tiêu (tức là
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à theo thứ tự byte endian lớn đế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 giả định là theo thứ tự byte endian lớn đế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 lớn.
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 lớn.
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 lớn.
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 lớn đượ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 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 lớn đượ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 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 lớn đượ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 lớn đượ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 lớn đượ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 lớn đượ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ó 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 lớn.
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 lớn.
Write64(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 lớn.

Hàm

Get16

uint16_t Get16(
  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 lớn đượ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 mục tiêu đặt giá trị theo thứ tự byte hệ thống mục tiêu.

Thông tin chi tiết
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 lớn cuối 16 bit.
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 việc đọc bộ nhớ, có thể không được căn chỉnh, đọc bộ nhớ của byte cuối lớn đượ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 mục tiêu đặt giá trị theo thứ tự byte hệ thống mục tiêu.

Thông tin chi tiết
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 lớn cuối 32 bit.
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 việc đọc bộ nhớ, có thể không được căn chỉnh, đọc bộ nhớ của byte cuối lớn đượ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.

Thông tin chi tiết
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 lớn cuối 64 bit.
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à theo thứ tự byte endian lớn đến hệ thống mục tiêu (tức là

máy chủ) theo thứ tự byte.

Do đó, trên hệ thống đích bit endian, đây là trạng thái không hoạt động và trên các hệ thống đích cuối cùng 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ố
[in] v
Giá trị 16 bit sẽ được hoán đổi thứ tự byte.
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à theo thứ tự byte endian lớn đến hệ thống mục tiêu (tức là

máy chủ) theo thứ tự byte.

Do đó, trên hệ thống đích bit endian, đây là trạng thái không hoạt động và trên các hệ thống đích cuối cùng 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ố
[in] v
Giá trị 32 bit sẽ được hoán đổi thứ tự byte.
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à theo thứ tự byte endian lớn đến hệ thống mục tiêu (tức là

máy chủ) sắp xếp theo thứ tự byte.

Do đó, trên hệ thống đích bit endian, đây là trạng thái không hoạt động và trên các hệ thống đích cuối cùng 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ố
[in] v
Giá trị 64 bit sẽ được hoán đổi thứ tự byte.
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 lớn.

Thông tin chi tiết
Tham số
[in] p
Địa chỉ con trỏ, có thể không được căn chỉnh, để ghi byte hệ thống mục tiêu được sắp xếp theo giá trị 16 bit vào theo thứ tự byte endian lớn.
[in] v
Giá trị 16 bit cần ghi (nếu cần) được hoán đổi thứ tự byte.

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 lớn.

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

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, 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 lớn.

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

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 lớn đượ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 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ố
[in,out] p
Tham chiếu đến một đị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 endian lớn 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) đượ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 lớn đượ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 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ố
[in,out] p
Tham chiếu đến một địa chỉ con trỏ không đổi, có khả năng không được căn chỉnh, để đọc giá trị được sắp xếp theo thứ tự byte endian lớn 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) đượ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 lớn đượ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ố
[in,out] p
Tham chiếu đến một đị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 endian lớn 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) đượ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 lớn đượ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ố
[in,out] p
Tham chiếu đến một địa chỉ con trỏ không đổi, có khả năng không được căn chỉnh, để đọc giá trị được sắp xếp theo thứ tự byte endian lớn 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) đượ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 lớn đượ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ố
[in,out] p
Một tham chiếu đến một đị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 endian lớn 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) đượ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 lớn đượ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ố
[in,out] p
Tham chiếu đến một địa chỉ con trỏ không đổi, có khả năng không được căn chỉnh, để đọc giá trị được sắp xếp theo thứ tự byte endian lớn 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) được hoán đổi thứ tự byte.

Write16

void Write16(
  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 mục tiêu đặt giá trị theo thứ tự byte cuối lớn.

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

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 lớn.

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

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, 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 lớn.

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