net:wireless:Support eswin usb wifi ECR6600U
[platform/kernel/linux-starfive.git] / drivers / net / wireless / eswin / fullmac / ecrnx_tdls.h
1 /**
2  ******************************************************************************
3  *
4  * @file ecrnx_tdls.h
5  *
6  * @brief TDLS function declarations
7  *
8  * Copyright (C) ESWIN 2015-2020
9  *
10  ******************************************************************************
11  */
12
13 #ifndef ECRNX_TDLS_H_
14 #define ECRNX_TDLS_H_
15
16 #include "ecrnx_defs.h"
17
18 struct ieee_types_header {
19     u8 element_id;
20     u8 len;
21 } __packed;
22
23 struct ieee_types_bss_co_2040 {
24     struct ieee_types_header ieee_hdr;
25     u8 bss_2040co;
26 } __packed;
27
28 struct ieee_types_extcap {
29     struct ieee_types_header ieee_hdr;
30     u8 ext_capab[8];
31 } __packed;
32
33 struct ieee_types_vht_cap {
34     struct ieee_types_header ieee_hdr;
35     struct ieee80211_vht_cap vhtcap;
36 } __packed;
37
38 struct ieee_types_vht_oper {
39     struct ieee_types_header ieee_hdr;
40     struct ieee80211_vht_operation vhtoper;
41 } __packed;
42
43 struct ieee_types_aid {
44     struct ieee_types_header ieee_hdr;
45     u16 aid;
46 } __packed;
47
48 int ecrnx_tdls_send_mgmt_packet_data(struct ecrnx_hw *ecrnx_hw, struct ecrnx_vif *ecrnx_vif,
49                          const u8 *peer, u8 action_code, u8 dialog_token,
50                          u16 status_code, u32 peer_capability, bool initiator,
51                          const u8 *extra_ies, size_t extra_ies_len, u8 oper_class,
52                          struct cfg80211_chan_def *chandef);
53
54 #endif /* ECRNX_TDLS_H_ */