linux/drivers/net/wireless/brcm80211/brcmfmac/fwil_types.h
<<
>>
Prefs
   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
  33enum 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
  40struct brcmf_fil_p2p_if_le {
  41        u8 addr[ETH_ALEN];
  42        __le16 type;
  43        __le16 chspec;
  44};
  45
  46struct brcmf_fil_chan_info_le {
  47        __le32 hw_channel;
  48        __le32 target_channel;
  49        __le32 scan_channel;
  50};
  51
  52struct 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
  59struct 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
  67struct 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 */
  80struct 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
  87enum 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_ */
  94