summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/net/cfg80211.h77
1 files changed, 42 insertions, 35 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index fe78f02a242e..bd19faad0d96 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -796,9 +796,9 @@ enum station_parameters_apply_mask {
796 * (or NULL for no change) 796 * (or NULL for no change)
797 * @supported_rates_len: number of supported rates 797 * @supported_rates_len: number of supported rates
798 * @sta_flags_mask: station flags that changed 798 * @sta_flags_mask: station flags that changed
799 * (bitmask of BIT(NL80211_STA_FLAG_...)) 799 * (bitmask of BIT(%NL80211_STA_FLAG_...))
800 * @sta_flags_set: station flags values 800 * @sta_flags_set: station flags values
801 * (bitmask of BIT(NL80211_STA_FLAG_...)) 801 * (bitmask of BIT(%NL80211_STA_FLAG_...))
802 * @listen_interval: listen interval or -1 for no change 802 * @listen_interval: listen interval or -1 for no change
803 * @aid: AID or zero for no change 803 * @aid: AID or zero for no change
804 * @peer_aid: mesh peer AID or zero for no change 804 * @peer_aid: mesh peer AID or zero for no change
@@ -3088,47 +3088,54 @@ struct ieee80211_iface_limit {
3088 * 3088 *
3089 * 1. Allow #STA <= 1, #AP <= 1, matching BI, channels = 1, 2 total: 3089 * 1. Allow #STA <= 1, #AP <= 1, matching BI, channels = 1, 2 total:
3090 * 3090 *
3091 * struct ieee80211_iface_limit limits1[] = { 3091 * .. code-block:: c
3092 * { .max = 1, .types = BIT(NL80211_IFTYPE_STATION), }, 3092 *
3093 * { .max = 1, .types = BIT(NL80211_IFTYPE_AP}, }, 3093 * struct ieee80211_iface_limit limits1[] = {
3094 * }; 3094 * { .max = 1, .types = BIT(NL80211_IFTYPE_STATION), },
3095 * struct ieee80211_iface_combination combination1 = { 3095 * { .max = 1, .types = BIT(NL80211_IFTYPE_AP}, },
3096 * .limits = limits1, 3096 * };
3097 * .n_limits = ARRAY_SIZE(limits1), 3097 * struct ieee80211_iface_combination combination1 = {
3098 * .max_interfaces = 2, 3098 * .limits = limits1,
3099 * .beacon_int_infra_match = true, 3099 * .n_limits = ARRAY_SIZE(limits1),
3100 * }; 3100 * .max_interfaces = 2,
3101 * .beacon_int_infra_match = true,
3102 * };
3101 * 3103 *
3102 * 3104 *
3103 * 2. Allow #{AP, P2P-GO} <= 8, channels = 1, 8 total: 3105 * 2. Allow #{AP, P2P-GO} <= 8, channels = 1, 8 total:
3104 * 3106 *
3105 * struct ieee80211_iface_limit limits2[] = { 3107 * .. code-block:: c
3106 * { .max = 8, .types = BIT(NL80211_IFTYPE_AP) | 3108 *
3107 * BIT(NL80211_IFTYPE_P2P_GO), }, 3109 * struct ieee80211_iface_limit limits2[] = {
3108 * }; 3110 * { .max = 8, .types = BIT(NL80211_IFTYPE_AP) |
3109 * struct ieee80211_iface_combination combination2 = { 3111 * BIT(NL80211_IFTYPE_P2P_GO), },
3110 * .limits = limits2, 3112 * };
3111 * .n_limits = ARRAY_SIZE(limits2), 3113 * struct ieee80211_iface_combination combination2 = {
3112 * .max_interfaces = 8, 3114 * .limits = limits2,
3113 * .num_different_channels = 1, 3115 * .n_limits = ARRAY_SIZE(limits2),
3114 * }; 3116 * .max_interfaces = 8,
3117 * .num_different_channels = 1,
3118 * };
3115 * 3119 *
3116 * 3120 *
3117 * 3. Allow #STA <= 1, #{P2P-client,P2P-GO} <= 3 on two channels, 4 total. 3121 * 3. Allow #STA <= 1, #{P2P-client,P2P-GO} <= 3 on two channels, 4 total.
3118 * 3122 *
3119 * This allows for an infrastructure connection and three P2P connections. 3123 * This allows for an infrastructure connection and three P2P connections.
3120 * 3124 *
3121 * struct ieee80211_iface_limit limits3[] = { 3125 * .. code-block:: c
3122 * { .max = 1, .types = BIT(NL80211_IFTYPE_STATION), }, 3126 *
3123 * { .max = 3, .types = BIT(NL80211_IFTYPE_P2P_GO) | 3127 * struct ieee80211_iface_limit limits3[] = {
3124 * BIT(NL80211_IFTYPE_P2P_CLIENT), }, 3128 * { .max = 1, .types = BIT(NL80211_IFTYPE_STATION), },
3125 * }; 3129 * { .max = 3, .types = BIT(NL80211_IFTYPE_P2P_GO) |
3126 * struct ieee80211_iface_combination combination3 = { 3130 * BIT(NL80211_IFTYPE_P2P_CLIENT), },
3127 * .limits = limits3, 3131 * };
3128 * .n_limits = ARRAY_SIZE(limits3), 3132 * struct ieee80211_iface_combination combination3 = {
3129 * .max_interfaces = 4, 3133 * .limits = limits3,
3130 * .num_different_channels = 2, 3134 * .n_limits = ARRAY_SIZE(limits3),
3131 * }; 3135 * .max_interfaces = 4,
3136 * .num_different_channels = 2,
3137 * };
3138 *
3132 */ 3139 */
3133struct ieee80211_iface_combination { 3140struct ieee80211_iface_combination {
3134 const struct ieee80211_iface_limit *limits; 3141 const struct ieee80211_iface_limit *limits;