WiFiCx 메시지 구조

WiFiCx 명령 메시지는 이전 WDI 모델 명령을 기반으로 합니다.

모든 Wi-Fi 명령 메시지는 WDI_MESSAGE_HEADER 구조로 시작해야 합니다. 명령 헤더 뒤에 0개 이상의 TLV(type-length-value) 구조체가 옵니다.

호스트에서 Wi-Fi 디바이스로 보낸 메시지에 대해 정의된 명령 메시지 ID는 WiFiCx 작업 ID, WiFiCx 속성 OID 및 WiFiCx상태 표시에 설명되어 있습니다.

TLLV

TV의 구조는 다음 표에 정의되어 있습니다. TV의 데이터는 little-endian 바이트 순서입니다.

필드 형식 Description
형식 UINT16 TLV 구조체의 형식입니다. 인식할 수 없는 TLV 형식은 오류를 트리거하지 않고 건너뛰어야 합니다.
값 버퍼의 길이 UINT16 값 버퍼의 크기(바이트)입니다.
BYTE[*] 구조체, 구조 목록 또는 기타 TV를 포함할 수 있는 페이로드 버퍼입니다. TLV에 예상보다 많은 데이터가 있는 경우 오류를 트리거하지 않고 추가 데이터를 건너뛰어야 합니다.

TLV 그룹화에는 정적으로 크기가 조정된 TLV 목록과 다중 TLV 그룹의 두 가지 유형이 있습니다.

정적으로 크기가 조정된 TLV 목록

정적으로 크기가 조정된 TLV 목록에는 정적으로 크기가 조정된 여러 멤버가 포함됩니다. 표준 C 스타일 배열과 유사합니다.

이 예제에서 WDI_TLV_UNICAST_ALGORITHM_LIST WDI_ALGO_PAIRS 목록으로 정의됩니다.

형식: WDI_TLV_UNICAST_ALGORITHM_LIST

길이: N * sizeof(WDI_ALGO_PAIRS)

: WDI_ALGO_PAIRS[N]

이 사용법은 배열 표기법이 있는 TLV 참조 topics 지정됩니다.

다중 TLV 그룹

지정된 개체의 크기를 미리 알 수 없는 경우 다중 TLV 그룹이 사용됩니다. 이 사용 패턴은 지정된 버퍼 내에서 N개의 서로 다른 고정 크기 TLL이 예상되도록 지정합니다. 항목 수(N)는 미리 알 수 없으며 지정된 버퍼에서 일치하는 TLL 수로 유추됩니다.

이 예제에서 부모 버퍼는 TLV 버퍼의 끝을 정의하는 WDI_MESSAGE_HEADER. WDI_TLV_BSS_ENTRY 부모 버퍼의 다른 다른 TLV 형식 사이에 섞일 수 있습니다.

Offset 필드 Type
0 WDI_MESSAGE_HEADER 메시지 헤더
sizeof(WDI_MESSAGE_HEADER) TLV(WDI_TLV_BSS_ENTRY) WDI_BSS_ENTRY
TLV + L + sizeof(TLV 헤더) TLV(WDI_TLV_BSS_ENTRY) WDI_BSS_ENTRY
TLV + L + sizeof(TLV 헤더) TLV( WDI_TLV_BSS_ENTRY) WDI_BSS_ENTRY
TLV의 + L 스트림 + sizeof(TLV 헤더) TLV(OTHER_TLV_TYPE) 다른 TLV 유형
TLV + L + sizeof(TLV 헤더) TLV(WDI_TLV_BSS_ENTRY) WDI_BSS_ENTRY

다른 LLV를 포함하는 TLV의 경우 TLV 참조 topics 여러 TLV 인스턴스가 허용된 열이 있습니다. 이 열을 선택하면 지정된 TLV가 여러 번 표시될 수 있습니다. 이에 대한 예제는 WDI_TLV_CONNECT_PARAMETERS 참조하세요.