p2p_ie.h 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #ifndef _P2P_IE_H
  2. #define _P2P_IE_H
  3. #if CFG_SUPPORT_WFD
  4. #define ELEM_MAX_LEN_WFD 62 /* TODO: Move to appropriate place */
  5. /*---------------- WFD Data Element Definitions ----------------*/
  6. /* WFD 4.1.1 - WFD IE format */
  7. #define WFD_OUI_TYPE_LEN 4
  8. #define WFD_IE_OUI_HDR (ELEM_HDR_LEN + WFD_OUI_TYPE_LEN) /* == OFFSET_OF(IE_P2P_T,
  9. *aucP2PAttributes[0]) */
  10. /* WFD 4.1.1 - General WFD Attribute */
  11. #define WFD_ATTRI_HDR_LEN 3 /* ID(1 octet) + Length(2 octets) */
  12. /* WFD Attribute Code */
  13. #define WFD_ATTRI_ID_DEV_INFO 0
  14. #define WFD_ATTRI_ID_ASSOC_BSSID 1
  15. #define WFD_ATTRI_ID_COUPLED_SINK_INFO 6
  16. #define WFD_ATTRI_ID_EXT_CAPABILITY 7
  17. #define WFD_ATTRI_ID_SESSION_INFO 9
  18. #define WFD_ATTRI_ID_ALTER_MAC_ADDRESS 10
  19. /* Maximum Length of WFD Attributes */
  20. #define WFD_ATTRI_MAX_LEN_DEV_INFO 6 /* 0 */
  21. #define WFD_ATTRI_MAX_LEN_ASSOC_BSSID 6 /* 1 */
  22. #define WFD_ATTRI_MAX_LEN_COUPLED_SINK_INFO 7 /* 6 */
  23. #define WFD_ATTRI_MAX_LEN_EXT_CAPABILITY 2 /* 7 */
  24. #define WFD_ATTRI_MAX_LEN_SESSION_INFO 0 /* 9 */ /* 24 * #Clients */
  25. #define WFD_ATTRI_MAX_LEN_ALTER_MAC_ADDRESS 6 /* 10 */
  26. typedef struct _WFD_DEVICE_INFORMATION_IE_T {
  27. UINT_8 ucElemID;
  28. UINT_16 u2Length;
  29. UINT_16 u2WfdDevInfo;
  30. UINT_16 u2SessionMgmtCtrlPort;
  31. UINT_16 u2WfdDevMaxSpeed;
  32. } __KAL_ATTRIB_PACKED__ WFD_DEVICE_INFORMATION_IE_T, *P_WFD_DEVICE_INFORMATION_IE_T;
  33. #endif
  34. UINT_32 p2pCalculate_IEForAssocReq(IN P_ADAPTER_T prAdapter, IN UINT_8 ucBssIndex, IN P_STA_RECORD_T prStaRec);
  35. VOID p2pGenerate_IEForAssocReq(IN P_ADAPTER_T prAdapter, IN P_MSDU_INFO_T prMsduInfo);
  36. #endif