mac80211.h (db12847ca84b7a315a3ba77c939c9d08df17d54f) | mac80211.h (2b9a7e1bac24df8ddb0713ad1e5807a7243bcab0) |
---|---|
1/* 2 * mac80211 <-> driver interface 3 * 4 * Copyright 2002-2005, Devicescape Software, Inc. 5 * Copyright 2006-2007 Jiri Benc <jbenc@suse.cz> 6 * Copyright 2007-2010 Johannes Berg <johannes@sipsolutions.net> 7 * Copyright 2013-2014 Intel Mobile Communications GmbH 8 * --- 2694 unchanged lines hidden (view full) --- 2703 * in the station data. This callback should only be used when the driver 2704 * uses hardware rate control (%IEEE80211_HW_HAS_RATE_CONTROL) since 2705 * otherwise the rate control algorithm is notified directly. 2706 * Must be atomic. 2707 * @sta_rate_tbl_update: Notifies the driver that the rate table changed. This 2708 * is only used if the configured rate control algorithm actually uses 2709 * the new rate table API, and is therefore optional. Must be atomic. 2710 * | 1/* 2 * mac80211 <-> driver interface 3 * 4 * Copyright 2002-2005, Devicescape Software, Inc. 5 * Copyright 2006-2007 Jiri Benc <jbenc@suse.cz> 6 * Copyright 2007-2010 Johannes Berg <johannes@sipsolutions.net> 7 * Copyright 2013-2014 Intel Mobile Communications GmbH 8 * --- 2694 unchanged lines hidden (view full) --- 2703 * in the station data. This callback should only be used when the driver 2704 * uses hardware rate control (%IEEE80211_HW_HAS_RATE_CONTROL) since 2705 * otherwise the rate control algorithm is notified directly. 2706 * Must be atomic. 2707 * @sta_rate_tbl_update: Notifies the driver that the rate table changed. This 2708 * is only used if the configured rate control algorithm actually uses 2709 * the new rate table API, and is therefore optional. Must be atomic. 2710 * |
2711 * @sta_statistics: Get statistics for this station. For example with beacon 2712 * filtering, the statistics kept by mac80211 might not be accurate, so 2713 * let the driver pre-fill the statistics. The driver can fill most of 2714 * the values (indicating which by setting the filled bitmap), but not 2715 * all of them make sense - see the source for which ones are possible. 2716 * Statistics that the driver doesn't fill will be filled by mac80211. 2717 * The callback can sleep. 2718 * |
|
2711 * @conf_tx: Configure TX queue parameters (EDCF (aifs, cw_min, cw_max), 2712 * bursting) for a hardware TX queue. 2713 * Returns a negative error code on failure. 2714 * The callback can sleep. 2715 * 2716 * @get_tsf: Get the current TSF timer value from firmware/hardware. Currently, 2717 * this is only used for IBSS mode BSSID merging and debugging. Is not a 2718 * required function. --- 144 unchanged lines hidden (view full) --- 2863 * 2864 * @get_et_sset_count: Ethtool API to get string-set count. 2865 * 2866 * @get_et_stats: Ethtool API to get a set of u64 stats. 2867 * 2868 * @get_et_strings: Ethtool API to get a set of strings to describe stats 2869 * and perhaps other supported types of ethtool data-sets. 2870 * | 2719 * @conf_tx: Configure TX queue parameters (EDCF (aifs, cw_min, cw_max), 2720 * bursting) for a hardware TX queue. 2721 * Returns a negative error code on failure. 2722 * The callback can sleep. 2723 * 2724 * @get_tsf: Get the current TSF timer value from firmware/hardware. Currently, 2725 * this is only used for IBSS mode BSSID merging and debugging. Is not a 2726 * required function. --- 144 unchanged lines hidden (view full) --- 2871 * 2872 * @get_et_sset_count: Ethtool API to get string-set count. 2873 * 2874 * @get_et_stats: Ethtool API to get a set of u64 stats. 2875 * 2876 * @get_et_strings: Ethtool API to get a set of strings to describe stats 2877 * and perhaps other supported types of ethtool data-sets. 2878 * |
2871 * @get_rssi: Get current signal strength in dBm, the function is optional 2872 * and can sleep. 2873 * | |
2874 * @mgd_prepare_tx: Prepare for transmitting a management frame for association 2875 * before associated. In multi-channel scenarios, a virtual interface is 2876 * bound to a channel before it is associated, but as it isn't associated 2877 * yet it need not necessarily be given airtime, in particular since any 2878 * transmission to a P2P GO needs to be synchronized against the GO's 2879 * powersave state. mac80211 will call this function before transmitting a 2880 * management frame prior to having successfully associated to allow the 2881 * driver to give it channel time for the transmission, to get a response --- 184 unchanged lines hidden (view full) --- 3066 struct ieee80211_sta *sta); 3067 void (*sta_rc_update)(struct ieee80211_hw *hw, 3068 struct ieee80211_vif *vif, 3069 struct ieee80211_sta *sta, 3070 u32 changed); 3071 void (*sta_rate_tbl_update)(struct ieee80211_hw *hw, 3072 struct ieee80211_vif *vif, 3073 struct ieee80211_sta *sta); | 2879 * @mgd_prepare_tx: Prepare for transmitting a management frame for association 2880 * before associated. In multi-channel scenarios, a virtual interface is 2881 * bound to a channel before it is associated, but as it isn't associated 2882 * yet it need not necessarily be given airtime, in particular since any 2883 * transmission to a P2P GO needs to be synchronized against the GO's 2884 * powersave state. mac80211 will call this function before transmitting a 2885 * management frame prior to having successfully associated to allow the 2886 * driver to give it channel time for the transmission, to get a response --- 184 unchanged lines hidden (view full) --- 3071 struct ieee80211_sta *sta); 3072 void (*sta_rc_update)(struct ieee80211_hw *hw, 3073 struct ieee80211_vif *vif, 3074 struct ieee80211_sta *sta, 3075 u32 changed); 3076 void (*sta_rate_tbl_update)(struct ieee80211_hw *hw, 3077 struct ieee80211_vif *vif, 3078 struct ieee80211_sta *sta); |
3079 void (*sta_statistics)(struct ieee80211_hw *hw, 3080 struct ieee80211_vif *vif, 3081 struct ieee80211_sta *sta, 3082 struct station_info *sinfo); |
|
3074 int (*conf_tx)(struct ieee80211_hw *hw, 3075 struct ieee80211_vif *vif, u16 ac, 3076 const struct ieee80211_tx_queue_params *params); 3077 u64 (*get_tsf)(struct ieee80211_hw *hw, struct ieee80211_vif *vif); 3078 void (*set_tsf)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 3079 u64 tsf); 3080 void (*reset_tsf)(struct ieee80211_hw *hw, struct ieee80211_vif *vif); 3081 int (*tx_last_beacon)(struct ieee80211_hw *hw); --- 51 unchanged lines hidden (view full) --- 3133 int (*get_et_sset_count)(struct ieee80211_hw *hw, 3134 struct ieee80211_vif *vif, int sset); 3135 void (*get_et_stats)(struct ieee80211_hw *hw, 3136 struct ieee80211_vif *vif, 3137 struct ethtool_stats *stats, u64 *data); 3138 void (*get_et_strings)(struct ieee80211_hw *hw, 3139 struct ieee80211_vif *vif, 3140 u32 sset, u8 *data); | 3083 int (*conf_tx)(struct ieee80211_hw *hw, 3084 struct ieee80211_vif *vif, u16 ac, 3085 const struct ieee80211_tx_queue_params *params); 3086 u64 (*get_tsf)(struct ieee80211_hw *hw, struct ieee80211_vif *vif); 3087 void (*set_tsf)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 3088 u64 tsf); 3089 void (*reset_tsf)(struct ieee80211_hw *hw, struct ieee80211_vif *vif); 3090 int (*tx_last_beacon)(struct ieee80211_hw *hw); --- 51 unchanged lines hidden (view full) --- 3142 int (*get_et_sset_count)(struct ieee80211_hw *hw, 3143 struct ieee80211_vif *vif, int sset); 3144 void (*get_et_stats)(struct ieee80211_hw *hw, 3145 struct ieee80211_vif *vif, 3146 struct ethtool_stats *stats, u64 *data); 3147 void (*get_et_strings)(struct ieee80211_hw *hw, 3148 struct ieee80211_vif *vif, 3149 u32 sset, u8 *data); |
3141 int (*get_rssi)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 3142 struct ieee80211_sta *sta, s8 *rssi_dbm); | |
3143 3144 void (*mgd_prepare_tx)(struct ieee80211_hw *hw, 3145 struct ieee80211_vif *vif); 3146 3147 void (*mgd_protect_tdls_discover)(struct ieee80211_hw *hw, 3148 struct ieee80211_vif *vif); 3149 3150 int (*add_chanctx)(struct ieee80211_hw *hw, --- 2039 unchanged lines hidden --- | 3150 3151 void (*mgd_prepare_tx)(struct ieee80211_hw *hw, 3152 struct ieee80211_vif *vif); 3153 3154 void (*mgd_protect_tdls_discover)(struct ieee80211_hw *hw, 3155 struct ieee80211_vif *vif); 3156 3157 int (*add_chanctx)(struct ieee80211_hw *hw, --- 2039 unchanged lines hidden --- |