OLD | NEW |
(Empty) | |
| 1 //------------------------------------------------------------------------------ |
| 2 // <copyright file="wmi_host.h" company="Atheros"> |
| 3 // Copyright (c) 2004-2008 Atheros Corporation. All rights reserved. |
| 4 // |
| 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 // |
| 9 // Software distributed under the License is distributed on an "AS |
| 10 // IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or |
| 11 // implied. See the License for the specific language governing |
| 12 // rights and limitations under the License. |
| 13 // |
| 14 // |
| 15 //------------------------------------------------------------------------------ |
| 16 //============================================================================== |
| 17 // This file contains local definitios for the wmi host module. |
| 18 // |
| 19 // Author(s): ="Atheros" |
| 20 //============================================================================== |
| 21 #ifndef _WMI_HOST_H_ |
| 22 #define _WMI_HOST_H_ |
| 23 |
| 24 #include "roaming.h" |
| 25 #ifdef __cplusplus |
| 26 extern "C" { |
| 27 #endif |
| 28 |
| 29 struct wmi_stats { |
| 30 A_UINT32 cmd_len_err; |
| 31 A_UINT32 cmd_id_err; |
| 32 }; |
| 33 |
| 34 #define SSID_IE_LEN_INDEX 13 |
| 35 |
| 36 /* Host side link management data structures */ |
| 37 #define SIGNAL_QUALITY_THRESHOLD_LEVELS 6 |
| 38 #define SIGNAL_QUALITY_UPPER_THRESHOLD_LEVELS SIGNAL_QUALITY_THRESHOLD_LEVELS |
| 39 #define SIGNAL_QUALITY_LOWER_THRESHOLD_LEVELS SIGNAL_QUALITY_THRESHOLD_LEVELS |
| 40 typedef struct sq_threshold_params_s { |
| 41 A_INT16 upper_threshold[SIGNAL_QUALITY_UPPER_THRESHOLD_LEVELS]; |
| 42 A_INT16 lower_threshold[SIGNAL_QUALITY_LOWER_THRESHOLD_LEVELS]; |
| 43 A_UINT32 upper_threshold_valid_count; |
| 44 A_UINT32 lower_threshold_valid_count; |
| 45 A_UINT32 polling_interval; |
| 46 A_UINT8 weight; |
| 47 A_UINT8 last_rssi; //normally you would expect this to be bss specific but
we keep only one instance because its only valid when the device is in a connect
ed state. Not sure if it belongs to host or target. |
| 48 A_UINT8 last_rssi_poll_event; //Not sure if it belongs to host or target |
| 49 } SQ_THRESHOLD_PARAMS; |
| 50 struct wmi_t { |
| 51 A_BOOL wmi_ready; |
| 52 A_BOOL wmi_numQoSStream; |
| 53 A_UINT16 wmi_streamExistsForAC[WMM_NUM_AC]; |
| 54 A_UINT8 wmi_fatPipeExists; |
| 55 void *wmi_devt; |
| 56 struct wmi_stats wmi_stats; |
| 57 struct ieee80211_node_table wmi_scan_table; |
| 58 A_UINT8 wmi_bssid[ATH_MAC_LEN]; |
| 59 A_UINT8 wmi_powerMode; |
| 60 A_UINT8 wmi_phyMode; |
| 61 A_UINT8 wmi_keepaliveInterval; |
| 62 A_MUTEX_T wmi_lock; |
| 63 HTC_ENDPOINT_ID wmi_endpoint_id; |
| 64 SQ_THRESHOLD_PARAMS wmi_SqThresholdParams[SIGNAL_QUALITY_METRICS_
NUM_MAX]; |
| 65 CRYPTO_TYPE wmi_pair_crypto_type; |
| 66 CRYPTO_TYPE wmi_grp_crypto_type; |
| 67 A_BOOL wmi_is_wmm_enabled; |
| 68 }; |
| 69 |
| 70 |
| 71 #define LOCK_WMI(w) A_MUTEX_LOCK(&(w)->wmi_lock); |
| 72 #define UNLOCK_WMI(w) A_MUTEX_UNLOCK(&(w)->wmi_lock); |
| 73 |
| 74 #ifdef __cplusplus |
| 75 } |
| 76 #endif |
| 77 |
| 78 #endif /* _WMI_HOST_H_ */ |
OLD | NEW |