]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - drivers/net/wireless/brcm80211/brcmfmac/fwil_types.h
arm: imx6: defconfig: update tx6 defconfigs
[karo-tx-linux.git] / drivers / net / wireless / brcm80211 / brcmfmac / fwil_types.h
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
23
24 #define BRCMF_FIL_ACTION_FRAME_SIZE     1800
25
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
32
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];
42         __le16 type;
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
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
67 struct brcmf_fil_bss_enable_le {
68         __le32 bsscfg_idx;
69         __le32 enable;
70 };
71
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
93 #endif /* FWIL_TYPES_H_ */