nl:: Weave:: Encoding:: LittleEndian
이 네임스페이스는 다음과 같은 함수를 제공합니다.
요약
- 16비트, 32비트, 64비트 유형의 Little Endian 바이트 순서 값의 값을 기준으로 호스트 시스템을 기준으로 바이트 재정렬을 수행합니다.
- 포인터 관리 여부와 관계없이 바이트 순서 변경 여부와 관계없이 8비트, 16비트, 32비트, 64비트의 리틀 엔디언 바이트 순서 수량에 대해 잠재적으로 정렬되지 않은 메모리 위치에 대해 단순하고 효율적인 메모리 매핑 액세스를 안전하게 수행합니다.
리틀 엔디언 호스트 시스템에서는 실제 바이트 재정렬이 발생하지 않습니다. 다른 시스템에서는 적절하게 바이트 재정렬이 적용됩니다.
함수 |
|
---|---|
Get16(const uint8_t *p)
|
uint16_t
지정된 포인터 주소에서 16비트로 정렬된 리틀 엔디언 바이트의 정렬되지 않은 메모리 읽기를 수행하고, 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 값을 대상 시스템 바이트 순서에 배치합니다.
|
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비트 값을 대상으로 정렬되지 않은 메모리 쓰기를 수행하고, 필요에 따라 바이트 순서 변경을 수행하여 타겟 시스템이 이 값을 Little Endian 바이트 순서에 넣도록 합니다.
|
Put32(uint8_t *p, uint32_t v)
|
void
지정된 포인터 주소에 32비트로 정렬된 대상 시스템 바이트의 정렬되지 않은 메모리 쓰기를 수행하고, 필요에 따라 바이트 순서 변경을 수행하여 대상 시스템이 이 값을 Little Endian 바이트 순서에 넣도록 합니다.
|
Put64(uint8_t *p, uint64_t v)
|
void
지정된 포인터 주소에 64비트로 정렬된 대상 시스템 바이트의 정렬되지 않은 메모리 쓰기를 수행하고, 필요에 따라 바이트 순서 변경을 수행하여 대상 시스템이 이 값을 Little Endian 바이트 순서에 넣도록 합니다.
|
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비트 값을 대상으로 정렬되지 않은 메모리 쓰기를 수행하고, 필요에 따라 바이트 순서 변경을 수행하여 타겟 시스템이 이 값을 Little Endian 바이트 순서에 넣도록 합니다.
|
Write32(uint8_t *& p, uint32_t v)
|
void
지정된 포인터 주소에 32비트로 정렬된 대상 시스템 바이트의 정렬되지 않은 메모리 쓰기를 수행하고, 필요에 따라 바이트 순서 변경을 수행하여 대상 시스템이 이 값을 Little Endian 바이트 순서에 넣도록 합니다.
|
Write64(uint8_t *& p, uint64_t v)
|
void
지정된 포인터 주소에 64비트로 정렬된 대상 시스템 바이트의 정렬되지 않은 메모리 쓰기를 수행하고, 필요에 따라 바이트 순서 변경을 수행하여 대상 시스템이 이 값을 Little Endian 바이트 순서에 넣도록 합니다.
|
함수
Get16
uint16_t Get16( const uint8_t *p )
지정된 포인터 주소에서 16비트로 정렬된 리틀 엔디언 바이트의 정렬되지 않은 메모리 읽기를 수행하고, 필요에 따라 바이트 순서 변경을 수행하여 대상 시스템이 값을 대상 시스템 바이트 순서에 배치합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
지정된 포인터 주소의 16비트 값(필요한 경우 바이트 순서가 변경됨)
|
Get32
uint32_t Get32( const uint8_t *p )
지정된 포인터 주소에서 리틀 엔디언 바이트로 정렬된 32비트 값의 리틀 엔디언 바이트의 정렬되지 않은 메모리 읽기를 수행하고, 필요에 따라 바이트 순서 변경을 수행하여 타겟 시스템이 값을 대상 시스템 바이트 순서에 배치합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
지정된 포인터 주소의 32비트 값(필요한 경우 바이트 순서가 변경됨)
|
Get64
uint64_t Get64( const uint8_t *p )
지정된 포인터 주소에서 64비트로 정렬된 리틀 엔디언 바이트의 정렬되지 않은 메모리 읽기를 수행하고, 필요에 따라 바이트 순서 변경을 수행하여 대상 시스템이 값을 대상 시스템 바이트 순서에 배치합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
지정된 포인터 주소의 64비트 값(필요한 경우 바이트 순서가 변경됨)
|
HostSwap16
uint16_t HostSwap16( uint16_t v )
이는 대상 시스템에 필요한 경우 지정된 16비트 값별 바이트 순서 스왑을 조건부로 수행하고 대상 시스템에 대한 리틀 엔디언 바이트 순서 지정 (즉,
바이트 정렬을 지원합니다.
따라서 리틀 엔디언 대상 시스템에서는 이는 노옵스(no-ops)이고 빅 엔디언 대상 시스템에서는 순서 변경을 수행합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
필요한 경우 교체된 바이트 오더의 입력 값입니다.
|
HostSwap32
uint32_t HostSwap32( uint32_t v )
이는 대상 시스템에 필요한 경우 지정된 32비트 값의 값에 의한 바이트 순서 스왑을 조건부로 수행하고, 대상 시스템에 대한 리틀 엔디언 바이트 순서 지정에 있는 것으로 간주됩니다 (즉,
바이트 정렬을 지원합니다.
따라서 리틀 엔디언 대상 시스템에서는 이는 노옵스(no-ops)이고 빅 엔디언 대상 시스템에서는 순서 변경을 수행합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
필요한 경우 교체된 바이트 오더의 입력 값입니다.
|
HostSwap64
uint64_t HostSwap64( uint64_t v )
이는 대상 시스템에 필요한 경우 지정된 64비트 값의 값에 따른 바이트 순서 스왑을 조건부로 수행하고, 대상 시스템에 대한 리틀 엔디언 바이트 순서 지정에 있는 것으로 간주됩니다 (즉,
바이트 정렬을 지원합니다.
따라서 리틀 엔디언 대상 시스템에서는 이는 노옵스(no-ops)이고 빅 엔디언 대상 시스템에서는 순서 변경을 수행합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
필요한 경우 교체된 바이트 오더의 입력 값입니다.
|
Put16
void Put16( uint8_t *p, uint16_t v )
지정된 포인터 주소에 정렬된 타겟 시스템 바이트 순서의 16비트 값을 대상으로 정렬되지 않은 메모리 쓰기를 수행하고, 필요에 따라 바이트 순서 변경을 수행하여 타겟 시스템이 이 값을 Little Endian 바이트 순서에 넣도록 합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
Put32
void Put32( uint8_t *p, uint32_t v )
지정된 포인터 주소에 32비트로 정렬된 타겟 시스템 바이트의 정렬되지 않은 메모리 쓰기를 수행하고, 필요에 따라 바이트 순서 변경을 수행하여 타겟 시스템이 값을 리틀 엔디언 바이트 정렬에 넣도록 합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
Put64
void Put64( uint8_t *p, uint64_t v )
지정된 포인터 주소에 64비트로 정렬된 대상 시스템 바이트의 정렬되지 않은 메모리 쓰기를 수행하고, 필요에 따라 바이트 순서 변경을 수행하여 대상 시스템이 이 값을 Little Endian 바이트 순서에 넣도록 합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
Read16
uint16_t Read16( uint8_t *& p )
지정된 포인터 주소에서 16비트로 정렬된 리틀 엔디언 바이트의 리틀 엔디언 바이트의 메모리 읽기를 수행하고, 필요에 따라 타겟 시스템이 값을 대상 시스템 바이트 순서 지정에 넣고 포인터를 16비트 (2바이트) 증가시키도록 바이트 재정렬을 실행합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
지정된 포인터 주소의 16비트 값(필요한 경우 바이트 순서 스왑)
|
Read16
uint16_t Read16( const uint8_t *& p )
지정된 포인터 주소에서 16비트로 정렬된 리틀 엔디언 바이트의 리틀 엔디언 바이트의 메모리 읽기를 수행하고, 필요에 따라 타겟 시스템이 값을 대상 시스템 바이트 순서 지정에 넣고 포인터를 16비트 (2바이트) 증가시키도록 바이트 재정렬을 실행합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
지정된 포인터 주소의 16비트 값(필요한 경우 바이트 순서 스왑)
|
Read32
uint32_t Read32( uint8_t *& p )
지정된 포인터 주소에서 리틀 엔디언 바이트로 정렬된 32비트 값의 리틀 엔디언 바이트의 잠재적으로 정렬되지 않은 메모리 읽기를 수행하고, 필요에 따라 바이트 순서 변경을 수행하여 타겟 시스템이 값을 타겟 시스템 바이트 정렬에 넣고 포인터를 32비트 (4바이트)씩 증분합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
지정된 포인터 주소의 32비트 값(필요한 경우 바이트 순서 스왑)
|
Read32
uint32_t Read32( const uint8_t *& p )
지정된 포인터 주소에서 리틀 엔디언 바이트로 정렬된 32비트 값의 리틀 엔디언 바이트의 잠재적으로 정렬되지 않은 메모리 읽기를 수행하고, 필요에 따라 바이트 순서 변경을 수행하여 타겟 시스템이 값을 타겟 시스템 바이트 정렬에 넣고 포인터를 32비트 (4바이트)씩 증분합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
지정된 포인터 주소의 32비트 값(필요한 경우 바이트 순서 스왑)
|
Read64
uint64_t Read64( uint8_t *& p )
지정된 포인터 주소에서 64비트로 정렬된 리틀 엔디언 바이트의 리틀 엔디언 바이트의 메모리 읽기를 수행하고, 필요에 따라 바이트 순서 변경을 수행하여 타겟 시스템이 해당 값을 타겟 시스템 바이트 정렬에 넣고 포인터를 64비트 (8바이트) 증가시키도록 합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
지정된 포인터 주소의 64비트 값(필요한 경우 바이트 순서 스왑)
|
Read64
uint64_t Read64( const uint8_t *& p )
지정된 포인터 주소에서 64비트로 정렬된 리틀 엔디언 바이트의 리틀 엔디언 바이트의 메모리 읽기를 수행하고, 필요에 따라 바이트 순서 변경을 수행하여 타겟 시스템이 해당 값을 타겟 시스템 바이트 정렬에 넣고 포인터를 64비트 (8바이트) 증가시키도록 합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
지정된 포인터 주소의 64비트 값(필요한 경우 바이트 순서 스왑)
|
Write16
void Write16( uint8_t *& p, uint16_t v )
지정된 포인터 주소에 정렬된 타겟 시스템 바이트 순서의 16비트 값을 대상으로 정렬되지 않은 메모리 쓰기를 수행하고, 필요에 따라 바이트 순서 변경을 수행하여 타겟 시스템이 이 값을 Little Endian 바이트 순서에 넣도록 합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
Write32
void Write32( uint8_t *& p, uint32_t v )
지정된 포인터 주소에 32비트로 정렬된 타겟 시스템 바이트의 정렬되지 않은 메모리 쓰기를 수행하고, 필요에 따라 바이트 순서 변경을 수행하여 타겟 시스템이 값을 리틀 엔디언 바이트 정렬에 넣도록 합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
Write64
void Write64( uint8_t *& p, uint64_t v )
지정된 포인터 주소에 64비트로 정렬된 대상 시스템 바이트의 정렬되지 않은 메모리 쓰기를 수행하고, 필요에 따라 바이트 순서 변경을 수행하여 대상 시스템이 이 값을 Little Endian 바이트 순서에 넣도록 합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|