nl::Weave::Encoding::LittleEndian

이 네임스페이스는 다음을 위한 함수를 제공합니다.

요약

  • 16비트, 32비트, 64비트 유형에 대해 호스트 시스템에 대해 리틀 엔디언 바이트 순서 지정 값 값에 따라 바이트 순서 변경 수행
  • 포인터 관리 유무에 관계없이 바이트 순서 변경 여부와 관계없이 8비트, 16비트, 32비트, 64비트 리틀 엔디언 바이트 순서 지정된 수량으로 잠재적으로 정렬되지 않은 메모리 위치에 대한 단순하고 효율적인 메모리 매핑 액세스를 안전하게 실행합니다.

리틀 엔디언 호스트 시스템에서는 실제 바이트 순서 변경이 발생하지 않습니다. 다른 시스템에서는 바이트 재정렬이 적절히 실행됩니다.

함수

Get16(const uint8_t *p)
uint16_t
지정된 포인터 주소로부터 순서가 지정된 리틀 엔디언 바이트의 잠재적 정렬되지 않은 메모리 읽기를 실행하고 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 대상 시스템 바이트 순서에 값을 배치합니다.
Get32(const uint8_t *p)
uint32_t
지정된 포인터 주소로부터 순서가 지정된 32비트 값에 관해 정렬되지 않은 리틀 엔디언 바이트의 메모리 읽기를 실행하고 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 값을 대상 시스템 바이트 순서에 배치하도록 합니다.
Get64(const uint8_t *p)
uint64_t
지정된 포인터 주소로부터 주문된 리틀 엔디언 바이트의 64비트 값에 관해 정렬되지 않을 가능성이 있는 메모리 읽기를 실행하고, 필요에 따라 바이트 재정렬을 실행하여 타겟 시스템이 값을 대상 시스템 바이트 순서에 배치하도록 합니다.
HostSwap16(uint16_t v)
uint16_t
이는 대상 시스템에 필요한 경우 대상 시스템에 대한 리틀 엔디언 바이트 정렬로 추정되는 지정된 16비트 값의 값으로 바이트 순서 스왑을 조건부로 수행합니다 (즉,
HostSwap32(uint32_t v)
uint32_t
이는 대상 시스템에 필요한 경우 대상 시스템에 대한 리틀 엔디언 바이트 정렬로 추정되는 지정된 32비트 값의 값으로 바이트 순서 스왑을 조건부로 수행합니다 (즉,
HostSwap64(uint64_t v)
uint64_t
이는 대상 시스템에 필요한 경우 대상 시스템에 대한 리틀 엔디언 바이트 정렬로 추정되는 지정된 64비트 값의 값으로 바이트 순서 스왑을 조건부로 수행합니다 (즉,
Put16(uint8_t *p, uint16_t v)
void
지정된 포인터 주소에 16비트 값이 지정된 대상 시스템 바이트의 정렬되지 않은 메모리 쓰기를 실행하고 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 값을 리틀 엔디언 바이트 정렬에 배치합니다.
Put32(uint8_t *p, uint32_t v)
void
지정된 포인터 주소에 32비트 값이 지정된 대상 시스템 바이트의 정렬되지 않은 메모리 쓰기를 실행하고 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 값을 리틀 엔디언 바이트 정렬로 배치합니다.
Put64(uint8_t *p, uint64_t v)
void
지정된 포인터 주소에 64비트 값이 정렬된 대상 시스템 바이트의 정렬되지 않은 메모리 쓰기를 실행하고 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 값을 리틀 엔디언 바이트 순서에 배치하도록 합니다.
Read16(uint8_t *& p)
uint16_t
지정된 포인터 주소로부터 순서가 지정된 16비트 값에 대해 정렬되지 않은 리틀 엔디언 바이트의 메모리 읽기를 실행하고, 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 대상 시스템 바이트 순서에 값을 배치하고 포인터를 16비트 (2바이트)씩 증분합니다.
Read16(const uint8_t *& p)
uint16_t
지정된 포인터 주소로부터 순서가 지정된 16비트 값에 대해 정렬되지 않은 리틀 엔디언 바이트의 메모리 읽기를 실행하고, 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 대상 시스템 바이트 순서에 값을 배치하고 포인터를 16비트 (2바이트)씩 증분합니다.
Read32(uint8_t *& p)
uint32_t
지정된 포인터 주소로부터 순서가 지정된 32비트 값에 대해 정렬되지 않은 리틀 엔디언 바이트의 메모리 읽기를 실행하고, 필요에 따라 바이트 재정렬을 실행하여 타겟 시스템이 값을 대상 시스템 바이트 순서에 배치하고 포인터를 32비트 (4바이트)씩 증분합니다.
Read32(const uint8_t *& p)
uint32_t
지정된 포인터 주소로부터 순서가 지정된 32비트 값에 대해 정렬되지 않은 리틀 엔디언 바이트의 메모리 읽기를 실행하고, 필요에 따라 바이트 재정렬을 실행하여 타겟 시스템이 값을 대상 시스템 바이트 순서에 배치하고 포인터를 32비트 (4바이트)씩 증분합니다.
Read64(uint8_t *& p)
uint64_t
지정된 포인터 주소로부터 순서가 지정된 64비트 값에 대해 정렬되지 않은 리틀 엔디언 바이트의 메모리 읽기를 실행하고, 필요에 따라 바이트 재정렬을 실행하여 타겟 시스템이 값을 대상 시스템 바이트 순서에 배치하고 포인터를 64비트 (8바이트)씩 증분합니다.
Read64(const uint8_t *& p)
uint64_t
지정된 포인터 주소로부터 순서가 지정된 64비트 값에 대해 정렬되지 않은 리틀 엔디언 바이트의 메모리 읽기를 실행하고, 필요에 따라 바이트 재정렬을 실행하여 타겟 시스템이 값을 대상 시스템 바이트 순서에 배치하고 포인터를 64비트 (8바이트)씩 증분합니다.
Write16(uint8_t *& p, uint16_t v)
void
지정된 포인터 주소에 16비트 값이 지정된 대상 시스템 바이트의 정렬되지 않은 메모리 쓰기를 실행하고 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 값을 리틀 엔디언 바이트 정렬에 배치합니다.
Write32(uint8_t *& p, uint32_t v)
void
지정된 포인터 주소에 32비트 값이 지정된 대상 시스템 바이트의 정렬되지 않은 메모리 쓰기를 실행하고 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 값을 리틀 엔디언 바이트 정렬로 배치합니다.
Write64(uint8_t *& p, uint64_t v)
void
지정된 포인터 주소에 64비트 값이 정렬된 대상 시스템 바이트의 정렬되지 않은 메모리 쓰기를 실행하고 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 값을 리틀 엔디언 바이트 순서에 배치하도록 합니다.

함수

Get16

uint16_t Get16(
  const uint8_t *p
)

지정된 포인터 주소로부터 순서가 지정된 리틀 엔디언 바이트의 잠재적 정렬되지 않은 메모리 읽기를 실행하고 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 대상 시스템 바이트 순서에 값을 배치합니다.

세부정보
매개변수
[in] p
16비트 리틀 엔디언 바이트 순서 값을 읽을 수 있는 잠재적으로 정렬되지 않은 포인터 주소입니다.
반환
지정된 포인터 주소의 16비트 값입니다(필요한 경우 순서 변경된 바이트).

Get32

uint32_t Get32(
  const uint8_t *p
)

지정된 포인터 주소로부터 순서가 지정된 32비트 값에 관해 정렬되지 않은 리틀 엔디언 바이트의 메모리 읽기를 실행하고 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 값을 대상 시스템 바이트 순서에 배치하도록 합니다.

세부정보
매개변수
[in] p
32비트 리틀 엔디언 바이트 순서 값을 읽을 수 있는 잠재적으로 정렬되지 않은 포인터 주소입니다.
반환
지정된 포인터 주소의 32비트 값으로, 필요한 경우 재정렬된 바이트입니다.

Get64

uint64_t Get64(
  const uint8_t *p
)

지정된 포인터 주소로부터 주문된 리틀 엔디언 바이트의 64비트 값에 관해 정렬되지 않을 가능성이 있는 메모리 읽기를 실행하고, 필요에 따라 바이트 재정렬을 실행하여 타겟 시스템이 값을 대상 시스템 바이트 순서에 배치하도록 합니다.

세부정보
매개변수
[in] p
64비트 리틀 엔디언 바이트 순서 값을 읽을 수 있는 잠재적으로 정렬되지 않은 포인터 주소입니다.
반환
지정된 포인터 주소의 64비트 값입니다(필요한 경우 재정렬된 바이트).

HostSwap16

uint16_t HostSwap16(
  uint16_t v
)

이는 대상 시스템에 필요한 경우 대상 시스템에 대한 리틀 엔디언 바이트 정렬로 추정되는 지정된 16비트 값의 값으로 바이트 순서 스왑을 조건부로 수행합니다 (즉,

바이트 정렬입니다.

결과적으로 리틀 엔디언 타겟 시스템에서는 노옵스(no-ops)이고 big endian 대상 시스템에서는 순서 변경을 수행합니다.

세부정보
매개변수
[in] v
바이트 순서 교체될 16비트 값입니다.
반환
필요한 경우 교체된 바이트 순서의 입력 값입니다.

HostSwap32

uint32_t HostSwap32(
  uint32_t v
)

이는 대상 시스템에 필요한 경우 대상 시스템에 대한 리틀 엔디언 바이트 정렬로 추정되는 지정된 32비트 값의 값으로 바이트 순서 스왑을 조건부로 수행합니다 (즉,

바이트 정렬입니다.

결과적으로 리틀 엔디언 타겟 시스템에서는 노옵스(no-ops)이고 big endian 대상 시스템에서는 순서 변경을 수행합니다.

세부정보
매개변수
[in] v
바이트 순서 교체될 32비트 값입니다.
반환
필요한 경우 교체된 바이트 순서의 입력 값입니다.

HostSwap64

uint64_t HostSwap64(
  uint64_t v
)

이는 대상 시스템에 필요한 경우 대상 시스템에 대한 리틀 엔디언 바이트 정렬로 추정되는 지정된 64비트 값의 값으로 바이트 순서 스왑을 조건부로 수행합니다 (즉,

바이트 정렬입니다.

결과적으로 리틀 엔디언 타겟 시스템에서는 노옵스(no-ops)이고 big endian 대상 시스템에서는 순서 변경을 수행합니다.

세부정보
매개변수
[in] v
바이트 순서 교체될 64비트 값입니다.
반환
필요한 경우 교체된 바이트 순서의 입력 값입니다.

Put16

void Put16(
  uint8_t *p,
  uint16_t v
)

지정된 포인터 주소에 16비트 값이 지정된 대상 시스템 바이트의 정렬되지 않은 메모리 쓰기를 실행하고 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 값을 리틀 엔디언 바이트 정렬에 배치합니다.

세부정보
매개변수
[in] p
16비트 순서의 대상 시스템 바이트 값을 리틀 엔디언 바이트 순서로 쓰기 위한 잠재적으로 정렬되지 않은 포인터 주소입니다.
[in] v
쓸 16비트 값입니다(필요한 경우 재정렬된 바이트).

Put32

void Put32(
  uint8_t *p,
  uint32_t v
)

지정된 포인터 주소에 32비트 값이 지정된 대상 시스템 바이트의 정렬되지 않은 메모리 쓰기를 실행하고 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 값을 리틀 엔디언 바이트 정렬로 배치합니다.

세부정보
매개변수
[in] p
대상 시스템 바이트의 순서가 지정된 32비트 값을 리틀 엔디언 바이트 순서로 쓰기 위한 잠재적으로 정렬되지 않은 포인터 주소입니다.
[in] v
쓸 32비트 값입니다(필요한 경우 재정렬된 바이트).

Put64

void Put64(
  uint8_t *p,
  uint64_t v
)

지정된 포인터 주소에 64비트 값이 정렬된 대상 시스템 바이트의 정렬되지 않은 메모리 쓰기를 실행하고 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 값을 리틀 엔디언 바이트 순서에 배치하도록 합니다.

세부정보
매개변수
[in] p
대상 시스템 바이트 순서가 지정된 64비트 값을 리틀 엔디언 바이트 순서로 쓰기 위한 잠재적으로 정렬되지 않은 포인터 주소입니다.
[in] v
쓸 64비트 값입니다(필요한 경우 재정렬된 바이트).

Read16

uint16_t Read16(
  uint8_t *& p
)

지정된 포인터 주소로부터 순서가 지정된 16비트 값에 대해 정렬되지 않은 리틀 엔디언 바이트의 메모리 읽기를 실행하고, 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 대상 시스템 바이트 순서에 값을 배치하고 포인터를 16비트 (2바이트)씩 증분합니다.

세부정보
매개변수
[in,out] p
정렬되지 않은 포인터 주소에 대한 참조로, 16비트 리틀 엔디언 바이트 순서 값을 읽은 다음 16비트 (2바이트)씩 증가합니다.
반환
지정된 포인터 주소의 16비트 값입니다(필요한 경우 교체된 바이트 순서).

Read16

uint16_t Read16(
  const uint8_t *& p
)

지정된 포인터 주소로부터 순서가 지정된 16비트 값에 대해 정렬되지 않은 리틀 엔디언 바이트의 메모리 읽기를 실행하고, 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 대상 시스템 바이트 순서에 값을 배치하고 포인터를 16비트 (2바이트)씩 증분합니다.

세부정보
매개변수
[in,out] p
정렬되지 않을 수 있는 상수 포인터 주소에 대한 참조로, 16비트 리틀 엔디언 바이트 순서 값을 읽은 후 16비트 (2바이트)씩 증분합니다.
반환
지정된 포인터 주소의 16비트 값입니다(필요한 경우 교체된 바이트 순서).

Read32

uint32_t Read32(
  uint8_t *& p
)

지정된 포인터 주소로부터 순서가 지정된 32비트 값에 대해 정렬되지 않은 리틀 엔디언 바이트의 메모리 읽기를 실행하고, 필요에 따라 바이트 재정렬을 실행하여 타겟 시스템이 값을 대상 시스템 바이트 순서에 배치하고 포인터를 32비트 (4바이트)씩 증분합니다.

세부정보
매개변수
[in,out] p
정렬되지 않은 포인터 주소에 대한 참조로, 32비트 리틀 엔디언 바이트 순서 값을 읽은 다음 32비트 (4바이트)씩 증가합니다.
반환
지정된 포인터 주소의 32비트 값입니다(필요한 경우 교체된 바이트 순서).

Read32

uint32_t Read32(
  const uint8_t *& p
)

지정된 포인터 주소로부터 순서가 지정된 32비트 값에 대해 정렬되지 않은 리틀 엔디언 바이트의 메모리 읽기를 실행하고, 필요에 따라 바이트 재정렬을 실행하여 타겟 시스템이 값을 대상 시스템 바이트 순서에 배치하고 포인터를 32비트 (4바이트)씩 증분합니다.

세부정보
매개변수
[in,out] p
정렬되지 않을 수 있는 상수 포인터 주소에 대한 참조로, 32비트 작은 엔디언 바이트 순서 값을 읽은 후 32비트 (4바이트)씩 증분합니다.
반환
지정된 포인터 주소의 32비트 값입니다(필요한 경우 교체된 바이트 순서).

Read64

uint64_t Read64(
  uint8_t *& p
)

지정된 포인터 주소로부터 순서가 지정된 64비트 값에 대해 정렬되지 않은 리틀 엔디언 바이트의 메모리 읽기를 실행하고, 필요에 따라 바이트 재정렬을 실행하여 타겟 시스템이 값을 대상 시스템 바이트 순서에 배치하고 포인터를 64비트 (8바이트)씩 증분합니다.

세부정보
매개변수
[in,out] p
정렬되지 않은 포인터 주소에 대한 참조로, 64비트 리틀 엔디언 바이트 순서 값을 읽은 다음 64비트 (8바이트)씩 증가합니다.
반환
지정된 포인터 주소의 64비트 값입니다(필요한 경우 교체된 바이트 순서).

Read64

uint64_t Read64(
  const uint8_t *& p
)

지정된 포인터 주소로부터 순서가 지정된 64비트 값에 대해 정렬되지 않은 리틀 엔디언 바이트의 메모리 읽기를 실행하고, 필요에 따라 바이트 재정렬을 실행하여 타겟 시스템이 값을 대상 시스템 바이트 순서에 배치하고 포인터를 64비트 (8바이트)씩 증분합니다.

세부정보
매개변수
[in,out] p
정렬되지 않을 수 있는 상수 포인터 주소에 대한 참조로, 64비트 작은 엔디언 바이트 순서 값을 읽은 후 64비트 (8바이트)씩 증분합니다.
반환
지정된 포인터 주소의 64비트 값입니다(필요한 경우 교체된 바이트 순서).

Write16

void Write16(
  uint8_t *& p,
  uint16_t v
)

지정된 포인터 주소에 16비트 값이 지정된 대상 시스템 바이트의 정렬되지 않은 메모리 쓰기를 실행하고 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 값을 리틀 엔디언 바이트 정렬에 배치합니다.

세부정보
매개변수
[in] p
정렬되지 않을 수 있는 포인터 주소에 대한 참조로, 대상 시스템 바이트의 순서가 지정된 16비트 값을 리틀 엔디언 바이트 순서에 기록한 다음 16비트 (2바이트)씩 증가합니다.
[in] v
필요한 경우 쓸 16비트 값(바이트 순서가 전환됨)입니다.

Write32

void Write32(
  uint8_t *& p,
  uint32_t v
)

지정된 포인터 주소에 32비트 값이 지정된 대상 시스템 바이트의 정렬되지 않은 메모리 쓰기를 실행하고 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 값을 리틀 엔디언 바이트 정렬로 배치합니다.

세부정보
매개변수
[in] p
정렬되지 않을 수 있는 포인터 주소에 대한 참조로, 대상 시스템 바이트의 순서가 지정된 32비트 값을 리틀 엔디언 바이트 순서에 기록한 다음 32비트 (4바이트)씩 증가합니다.
[in] v
필요한 경우 쓸 32비트 값(바이트 순서가 교체됨)입니다.

Write64

void Write64(
  uint8_t *& p,
  uint64_t v
)

지정된 포인터 주소에 64비트 값이 정렬된 대상 시스템 바이트의 정렬되지 않은 메모리 쓰기를 실행하고 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 값을 리틀 엔디언 바이트 순서에 배치하도록 합니다.

세부정보
매개변수
[in] p
정렬되지 않을 수 있는 포인터 주소에 대한 참조로, 대상 시스템 바이트의 순서가 지정된 64비트 값을 리틀 엔디언 바이트 순서에 기록한 다음 64비트 (8바이트)씩 증가합니다.
[in] v
필요한 경우 쓸 64비트 값(바이트 순서가 교체됨)입니다.