Commit | Line | Data |
---|---|---|
d3c0b633 AS |
1 | /* |
2 | * Copyright (c) 2012 Broadcom Corporation | |
3 | * | |
4 | * Permission to use, copy, modify, and/or distribute this software for any | |
5 | * purpose with or without fee is hereby granted, provided that the above | |
6 | * copyright notice and this permission notice appear in all copies. | |
7 | * | |
8 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
9 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
10 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY | |
11 | * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
12 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION | |
13 | * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN | |
14 | * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
15 | */ | |
16 | ||
17 | ||
18 | #ifndef FWIL_TYPES_H_ | |
19 | #define FWIL_TYPES_H_ | |
20 | ||
21 | #include <linux/if_ether.h> | |
22 | ||
18e2f61d HM |
23 | |
24 | #define BRCMF_FIL_ACTION_FRAME_SIZE 1800 | |
25 | ||
b3657453 HM |
26 | /* ARP Offload feature flags for arp_ol iovar */ |
27 | #define BRCMF_ARP_OL_AGENT 0x00000001 | |
28 | #define BRCMF_ARP_OL_SNOOP 0x00000002 | |
29 | #define BRCMF_ARP_OL_HOST_AUTO_REPLY 0x00000004 | |
30 | #define BRCMF_ARP_OL_PEER_AUTO_REPLY 0x00000008 | |
31 | ||
18e2f61d | 32 | |
d3c0b633 AS |
33 | enum brcmf_fil_p2p_if_types { |
34 | BRCMF_FIL_P2P_IF_CLIENT, | |
35 | BRCMF_FIL_P2P_IF_GO, | |
36 | BRCMF_FIL_P2P_IF_DYNBCN_GO, | |
37 | BRCMF_FIL_P2P_IF_DEV, | |
38 | }; | |
39 | ||
40 | struct brcmf_fil_p2p_if_le { | |
41 | u8 addr[ETH_ALEN]; | |
7ee2d926 | 42 | __le16 type; |
d3c0b633 AS |
43 | __le16 chspec; |
44 | }; | |
45 | ||
46 | struct brcmf_fil_chan_info_le { | |
47 | __le32 hw_channel; | |
48 | __le32 target_channel; | |
49 | __le32 scan_channel; | |
50 | }; | |
51 | ||
18e2f61d HM |
52 | struct brcmf_fil_action_frame_le { |
53 | u8 da[ETH_ALEN]; | |
54 | __le16 len; | |
55 | __le32 packet_id; | |
56 | u8 data[BRCMF_FIL_ACTION_FRAME_SIZE]; | |
57 | }; | |
58 | ||
59 | struct brcmf_fil_af_params_le { | |
60 | __le32 channel; | |
61 | __le32 dwell_time; | |
62 | u8 bssid[ETH_ALEN]; | |
63 | u8 pad[2]; | |
64 | struct brcmf_fil_action_frame_le action_frame; | |
65 | }; | |
66 | ||
a0f07959 HM |
67 | struct brcmf_fil_bss_enable_le { |
68 | __le32 bsscfg_idx; | |
69 | __le32 enable; | |
70 | }; | |
71 | ||
89c2f382 AS |
72 | /** |
73 | * struct tdls_iovar - common structure for tdls iovars. | |
74 | * | |
75 | * @ea: ether address of peer station. | |
76 | * @mode: mode value depending on specific tdls iovar. | |
77 | * @chanspec: channel specification. | |
78 | * @pad: unused (for future use). | |
79 | */ | |
80 | struct brcmf_tdls_iovar_le { | |
81 | u8 ea[ETH_ALEN]; /* Station address */ | |
82 | u8 mode; /* mode: depends on iovar */ | |
83 | __le16 chanspec; | |
84 | __le32 pad; /* future */ | |
85 | }; | |
86 | ||
87 | enum brcmf_tdls_manual_ep_ops { | |
88 | BRCMF_TDLS_MANUAL_EP_CREATE = 1, | |
89 | BRCMF_TDLS_MANUAL_EP_DELETE = 3, | |
90 | BRCMF_TDLS_MANUAL_EP_DISCOVERY = 6 | |
91 | }; | |
92 | ||
d3c0b633 | 93 | #endif /* FWIL_TYPES_H_ */ |