diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/net/cfg80211.h | 77 |
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 | */ |
3133 | struct ieee80211_iface_combination { | 3140 | struct ieee80211_iface_combination { |
3134 | const struct ieee80211_iface_limit *limits; | 3141 | const struct ieee80211_iface_limit *limits; |