blob: 122f156b9d4200d4c5c9f861a4495a383bb6ae89 [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Jeff Johnson32d95a32012-09-10 13:15:23 -07002 * Copyright (c) 2012, The Linux Foundation. All rights reserved.
Jeff Johnson295189b2012-06-20 16:38:30 -07003 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21
22#if !defined( HDD_CFG80211_H__ )
23#define HDD_CFG80211_H__
24
25
26/**===========================================================================
27
28 \file wlan_hdd_cfg80211.h
29
30 \brief cfg80211 functions declarations
31
32 Copyright 2008 (c) Qualcomm, Incorporated.
33 All Rights Reserved.
34 Qualcomm Confidential and Proprietary.
35
36 ==========================================================================*/
37
38/* $HEADER$ */
39
40#ifdef CONFIG_CFG80211
41
42//value for initial part of frames and number of bytes to be compared
43#define GAS_INITIAL_REQ "\x04\x0a"
44#define GAS_INITIAL_REQ_SIZE 2
45
46#define GAS_INITIAL_RSP "\x04\x0b"
47#define GAS_INITIAL_RSP_SIZE 2
48
49#define GAS_COMEBACK_REQ "\x04\x0c"
50#define GAS_COMEBACK_REQ_SIZE 2
51
52#define GAS_COMEBACK_RSP "\x04\x0d"
53#define GAS_COMEBACK_RSP_SIZE 2
54
55#define P2P_PUBLIC_ACTION_FRAME "\x04\x09\x50\x6f\x9a\x09"
56#define P2P_PUBLIC_ACTION_FRAME_SIZE 6
57
58#define P2P_ACTION_FRAME "\x7f\x50\x6f\x9a\x09"
59#define P2P_ACTION_FRAME_SIZE 5
60
61#define HDD_P2P_WILDCARD_SSID "DIRECT-" //TODO Put it in proper place;
62#define HDD_P2P_WILDCARD_SSID_LEN 7
63
64#define WPA_OUI_TYPE "\x00\x50\xf2\x01"
65#define BLACKLIST_OUI_TYPE "\x00\x50\x00\x00"
66#define WHITELIST_OUI_TYPE "\x00\x50\x00\x01"
67#define WPA_OUI_TYPE_SIZE 4
68
69#define WLAN_BSS_MEMBERSHIP_SELECTOR_HT_PHY 127
70#define BASIC_RATE_MASK 0x80
71#define RATE_MASK 0x7f
72
73struct cfg80211_bss* wlan_hdd_cfg80211_update_bss_db( hdd_adapter_t *pAdapter,
74 tCsrRoamInfo *pRoamInfo
75 );
Jeff Johnson04dd8a82012-06-29 20:41:40 -070076
77#ifdef FEATURE_WLAN_LFR
78int wlan_hdd_cfg80211_pmksa_candidate_notify(
79 hdd_adapter_t *pAdapter, tCsrRoamInfo *pRoamInfo,
80 int index, bool preauth );
81#endif
82
Jeff Johnson295189b2012-06-20 16:38:30 -070083#ifdef FEATURE_WLAN_WAPI
84void wlan_hdd_cfg80211_set_key_wapi(hdd_adapter_t* pAdapter,
85 u8 key_index, const u8 *mac_addr, u8 *key , int key_Len);
86#endif
87struct wiphy *wlan_hdd_cfg80211_init(int priv_size);
88
89int wlan_hdd_cfg80211_register(struct device *dev,
90 struct wiphy *wiphy,
91 hdd_config_t *pCfg
92 );
93
94void wlan_hdd_cfg80211_post_voss_start(hdd_adapter_t* pAdapter);
95
96void wlan_hdd_cfg80211_pre_voss_stop(hdd_adapter_t* pAdapter);
97
Madan Mohan Koyyalamudic3a240c2012-09-28 15:34:08 -070098int wlan_hdd_crda_reg_notifier(struct wiphy *wiphy, struct regulatory_request *request);
99int wlan_hdd_get_crda_regd_entry(struct wiphy *wiphy, hdd_config_t *pCfg);
Jeff Johnson295189b2012-06-20 16:38:30 -0700100
101#endif // CONFIG_CFG80211
102
103#endif