OLD | NEW |
1 //------------------------------------------------------------------------------ | 1 //------------------------------------------------------------------------------ |
2 // <copyright file="wlan_api.h" company="Atheros"> | 2 // Copyright (c) 2004-2010 Atheros Corporation. All rights reserved. |
3 // Copyright (c) 2004-2010 Atheros Corporation. All rights reserved. | |
4 // | 3 // |
5 // This program is free software; you can redistribute it and/or modify | |
6 // it under the terms of the GNU General Public License version 2 as | |
7 // published by the Free Software Foundation; | |
8 // | 4 // |
9 // Software distributed under the License is distributed on an "AS | 5 // Permission to use, copy, modify, and/or distribute this software for any |
10 // IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or | 6 // purpose with or without fee is hereby granted, provided that the above |
11 // implied. See the License for the specific language governing | 7 // copyright notice and this permission notice appear in all copies. |
12 // rights and limitations under the License. | 8 // |
| 9 // THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
| 10 // WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
| 11 // MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
| 12 // ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
| 13 // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
| 14 // ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
| 15 // OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
13 // | 16 // |
14 // | 17 // |
15 //------------------------------------------------------------------------------ | 18 //------------------------------------------------------------------------------ |
16 //============================================================================== | 19 //============================================================================== |
17 // This file contains the API for the host wlan module | 20 // This file contains the API for the host wlan module |
18 // | 21 // |
19 // Author(s): ="Atheros" | 22 // Author(s): ="Atheros" |
20 //============================================================================== | 23 //============================================================================== |
21 #ifndef _HOST_WLAN_API_H_ | 24 #ifndef _HOST_WLAN_API_H_ |
22 #define _HOST_WLAN_API_H_ | 25 #define _HOST_WLAN_API_H_ |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
64 struct bss *ni_hash_next; | 67 struct bss *ni_hash_next; |
65 struct bss *ni_hash_prev; | 68 struct bss *ni_hash_prev; |
66 struct ieee80211_common_ie ni_cie; | 69 struct ieee80211_common_ie ni_cie; |
67 A_UINT8 *ni_buf; | 70 A_UINT8 *ni_buf; |
68 A_UINT16 ni_framelen; | 71 A_UINT16 ni_framelen; |
69 struct ieee80211_node_table *ni_table; | 72 struct ieee80211_node_table *ni_table; |
70 A_UINT32 ni_refcnt; | 73 A_UINT32 ni_refcnt; |
71 int ni_scangen; | 74 int ni_scangen; |
72 | 75 |
73 A_UINT32 ni_tstamp; | 76 A_UINT32 ni_tstamp; |
| 77 A_UINT32 ni_actcnt; |
74 #ifdef OS_ROAM_MANAGEMENT | 78 #ifdef OS_ROAM_MANAGEMENT |
75 A_UINT32 ni_si_gen; | 79 A_UINT32 ni_si_gen; |
76 #endif | 80 #endif |
77 } bss_t; | 81 } bss_t; |
78 | 82 |
79 typedef void wlan_node_iter_func(void *arg, bss_t *); | 83 typedef void wlan_node_iter_func(void *arg, bss_t *); |
80 | 84 |
81 bss_t *wlan_node_alloc(struct ieee80211_node_table *nt, int wh_size); | 85 bss_t *wlan_node_alloc(struct ieee80211_node_table *nt, int wh_size); |
82 void wlan_node_free(bss_t *ni); | 86 void wlan_node_free(bss_t *ni); |
83 void wlan_setup_node(struct ieee80211_node_table *nt, bss_t *ni, | 87 void wlan_setup_node(struct ieee80211_node_table *nt, bss_t *ni, |
84 const A_UINT8 *macaddr); | 88 const A_UINT8 *macaddr); |
85 bss_t *wlan_find_node(struct ieee80211_node_table *nt, const A_UINT8 *macaddr); | 89 bss_t *wlan_find_node(struct ieee80211_node_table *nt, const A_UINT8 *macaddr); |
86 void wlan_node_reclaim(struct ieee80211_node_table *nt, bss_t *ni); | 90 void wlan_node_reclaim(struct ieee80211_node_table *nt, bss_t *ni); |
87 void wlan_free_allnodes(struct ieee80211_node_table *nt); | 91 void wlan_free_allnodes(struct ieee80211_node_table *nt); |
88 void wlan_iterate_nodes(struct ieee80211_node_table *nt, wlan_node_iter_func *f, | 92 void wlan_iterate_nodes(struct ieee80211_node_table *nt, wlan_node_iter_func *f, |
89 void *arg); | 93 void *arg); |
90 | 94 |
91 void wlan_node_table_init(void *wmip, struct ieee80211_node_table *nt); | 95 void wlan_node_table_init(void *wmip, struct ieee80211_node_table *nt); |
92 void wlan_node_table_reset(struct ieee80211_node_table *nt); | 96 void wlan_node_table_reset(struct ieee80211_node_table *nt); |
93 void wlan_node_table_cleanup(struct ieee80211_node_table *nt); | 97 void wlan_node_table_cleanup(struct ieee80211_node_table *nt); |
94 | 98 |
95 A_STATUS wlan_parse_beacon(A_UINT8 *buf, int framelen, | 99 A_STATUS wlan_parse_beacon(A_UINT8 *buf, int framelen, |
96 struct ieee80211_common_ie *cie); | 100 struct ieee80211_common_ie *cie); |
97 | 101 |
98 A_UINT16 wlan_ieee2freq(int chan); | 102 A_UINT16 wlan_ieee2freq(int chan); |
99 A_UINT32 wlan_freq2ieee(A_UINT16 freq); | 103 A_UINT32 wlan_freq2ieee(A_UINT16 freq); |
100 | 104 |
101 void wlan_set_nodeage(struct ieee80211_node_table *nt, A_UINT32 nodeAge); | 105 void wlan_set_nodeage(struct ieee80211_node_table *nt, A_UINT32 nodeAge); |
102 | 106 |
| 107 void |
| 108 wlan_refresh_inactive_nodes (struct ieee80211_node_table *nt); |
103 | 109 |
104 bss_t * | 110 bss_t * |
105 wlan_find_Ssidnode (struct ieee80211_node_table *nt, A_UCHAR *pSsid, | 111 wlan_find_Ssidnode (struct ieee80211_node_table *nt, A_UCHAR *pSsid, |
106 A_UINT32 ssidLength, A_BOOL bIsWPA2, A_BOOL bMatchSSID); | 112 A_UINT32 ssidLength, A_BOOL bIsWPA2, A_BOOL bMatchSSID); |
107 | 113 |
108 void | 114 void |
109 wlan_node_return (struct ieee80211_node_table *nt, bss_t *ni); | 115 wlan_node_return (struct ieee80211_node_table *nt, bss_t *ni); |
110 | 116 |
111 bss_t *wlan_node_remove(struct ieee80211_node_table *nt, A_UINT8 *bssid); | 117 bss_t *wlan_node_remove(struct ieee80211_node_table *nt, A_UINT8 *bssid); |
112 | 118 |
113 bss_t * | 119 bss_t * |
114 wlan_find_matching_Ssidnode (struct ieee80211_node_table *nt, A_UCHAR *pSsid, | 120 wlan_find_matching_Ssidnode (struct ieee80211_node_table *nt, A_UCHAR *pSsid, |
115 A_UINT32 ssidLength, A_UINT32 dot11AuthMode, A_UINT32 authMo
de, | 121 A_UINT32 ssidLength, A_UINT32 dot11AuthMode, A_UINT32 authMo
de, |
116 A_UINT32 pairwiseCryptoType, A_UINT32 grpwiseCryptoTyp); | 122 A_UINT32 pairwiseCryptoType, A_UINT32 grpwiseCryptoTyp); |
117 | 123 |
118 #ifdef __cplusplus | 124 #ifdef __cplusplus |
119 } | 125 } |
120 #endif | 126 #endif |
121 | 127 |
122 #endif /* _HOST_WLAN_API_H_ */ | 128 #endif /* _HOST_WLAN_API_H_ */ |
OLD | NEW |