diff options
| author | Johannes Berg <johannes.berg@intel.com> | 2016-10-11 08:56:53 -0400 |
|---|---|---|
| committer | Jonathan Corbet <corbet@lwn.net> | 2016-10-11 18:19:17 -0400 |
| commit | 819bf593767c0966f320c51c6ed3f3835062abc8 (patch) | |
| tree | a3167aa3ffc485f2ac232c1e1a5588ff2316a10d /include/net | |
| parent | 3c76ff4765fbd382c095acc37f87e136a8dfc73d (diff) | |
docs-rst: sphinxify 802.11 documentation
This is just a very basic conversion, I've split up the original
multi-book template, and also split up the multi-part mac80211
part in the original book; neither of those were handled by the
automatic pandoc conversion.
Fix errors that showed up, resulting in a much nicer rendering,
at least for the interface combinations documentation.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Diffstat (limited to 'include/net')
| -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 9c23f4d33e06..02b6690d7162 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h | |||
| @@ -775,9 +775,9 @@ enum station_parameters_apply_mask { | |||
| 775 | * (or NULL for no change) | 775 | * (or NULL for no change) |
| 776 | * @supported_rates_len: number of supported rates | 776 | * @supported_rates_len: number of supported rates |
| 777 | * @sta_flags_mask: station flags that changed | 777 | * @sta_flags_mask: station flags that changed |
| 778 | * (bitmask of BIT(NL80211_STA_FLAG_...)) | 778 | * (bitmask of BIT(%NL80211_STA_FLAG_...)) |
| 779 | * @sta_flags_set: station flags values | 779 | * @sta_flags_set: station flags values |
| 780 | * (bitmask of BIT(NL80211_STA_FLAG_...)) | 780 | * (bitmask of BIT(%NL80211_STA_FLAG_...)) |
| 781 | * @listen_interval: listen interval or -1 for no change | 781 | * @listen_interval: listen interval or -1 for no change |
| 782 | * @aid: AID or zero for no change | 782 | * @aid: AID or zero for no change |
| 783 | * @peer_aid: mesh peer AID or zero for no change | 783 | * @peer_aid: mesh peer AID or zero for no change |
| @@ -2947,47 +2947,54 @@ struct ieee80211_iface_limit { | |||
| 2947 | * | 2947 | * |
| 2948 | * 1. Allow #STA <= 1, #AP <= 1, matching BI, channels = 1, 2 total: | 2948 | * 1. Allow #STA <= 1, #AP <= 1, matching BI, channels = 1, 2 total: |
| 2949 | * | 2949 | * |
| 2950 | * struct ieee80211_iface_limit limits1[] = { | 2950 | * .. code-block:: c |
| 2951 | * { .max = 1, .types = BIT(NL80211_IFTYPE_STATION), }, | 2951 | * |
| 2952 | * { .max = 1, .types = BIT(NL80211_IFTYPE_AP}, }, | 2952 | * struct ieee80211_iface_limit limits1[] = { |
| 2953 | * }; | 2953 | * { .max = 1, .types = BIT(NL80211_IFTYPE_STATION), }, |
| 2954 | * struct ieee80211_iface_combination combination1 = { | 2954 | * { .max = 1, .types = BIT(NL80211_IFTYPE_AP}, }, |
| 2955 | * .limits = limits1, | 2955 | * }; |
| 2956 | * .n_limits = ARRAY_SIZE(limits1), | 2956 | * struct ieee80211_iface_combination combination1 = { |
| 2957 | * .max_interfaces = 2, | 2957 | * .limits = limits1, |
| 2958 | * .beacon_int_infra_match = true, | 2958 | * .n_limits = ARRAY_SIZE(limits1), |
| 2959 | * }; | 2959 | * .max_interfaces = 2, |
| 2960 | * .beacon_int_infra_match = true, | ||
| 2961 | * }; | ||
| 2960 | * | 2962 | * |
| 2961 | * | 2963 | * |
| 2962 | * 2. Allow #{AP, P2P-GO} <= 8, channels = 1, 8 total: | 2964 | * 2. Allow #{AP, P2P-GO} <= 8, channels = 1, 8 total: |
| 2963 | * | 2965 | * |
| 2964 | * struct ieee80211_iface_limit limits2[] = { | 2966 | * .. code-block:: c |
| 2965 | * { .max = 8, .types = BIT(NL80211_IFTYPE_AP) | | 2967 | * |
| 2966 | * BIT(NL80211_IFTYPE_P2P_GO), }, | 2968 | * struct ieee80211_iface_limit limits2[] = { |
| 2967 | * }; | 2969 | * { .max = 8, .types = BIT(NL80211_IFTYPE_AP) | |
| 2968 | * struct ieee80211_iface_combination combination2 = { | 2970 | * BIT(NL80211_IFTYPE_P2P_GO), }, |
| 2969 | * .limits = limits2, | 2971 | * }; |
| 2970 | * .n_limits = ARRAY_SIZE(limits2), | 2972 | * struct ieee80211_iface_combination combination2 = { |
| 2971 | * .max_interfaces = 8, | 2973 | * .limits = limits2, |
| 2972 | * .num_different_channels = 1, | 2974 | * .n_limits = ARRAY_SIZE(limits2), |
| 2973 | * }; | 2975 | * .max_interfaces = 8, |
| 2976 | * .num_different_channels = 1, | ||
| 2977 | * }; | ||
| 2974 | * | 2978 | * |
| 2975 | * | 2979 | * |
| 2976 | * 3. Allow #STA <= 1, #{P2P-client,P2P-GO} <= 3 on two channels, 4 total. | 2980 | * 3. Allow #STA <= 1, #{P2P-client,P2P-GO} <= 3 on two channels, 4 total. |
| 2977 | * | 2981 | * |
| 2978 | * This allows for an infrastructure connection and three P2P connections. | 2982 | * This allows for an infrastructure connection and three P2P connections. |
| 2979 | * | 2983 | * |
| 2980 | * struct ieee80211_iface_limit limits3[] = { | 2984 | * .. code-block:: c |
| 2981 | * { .max = 1, .types = BIT(NL80211_IFTYPE_STATION), }, | 2985 | * |
| 2982 | * { .max = 3, .types = BIT(NL80211_IFTYPE_P2P_GO) | | 2986 | * struct ieee80211_iface_limit limits3[] = { |
| 2983 | * BIT(NL80211_IFTYPE_P2P_CLIENT), }, | 2987 | * { .max = 1, .types = BIT(NL80211_IFTYPE_STATION), }, |
| 2984 | * }; | 2988 | * { .max = 3, .types = BIT(NL80211_IFTYPE_P2P_GO) | |
| 2985 | * struct ieee80211_iface_combination combination3 = { | 2989 | * BIT(NL80211_IFTYPE_P2P_CLIENT), }, |
| 2986 | * .limits = limits3, | 2990 | * }; |
| 2987 | * .n_limits = ARRAY_SIZE(limits3), | 2991 | * struct ieee80211_iface_combination combination3 = { |
| 2988 | * .max_interfaces = 4, | 2992 | * .limits = limits3, |
| 2989 | * .num_different_channels = 2, | 2993 | * .n_limits = ARRAY_SIZE(limits3), |
| 2990 | * }; | 2994 | * .max_interfaces = 4, |
| 2995 | * .num_different_channels = 2, | ||
| 2996 | * }; | ||
| 2997 | * | ||
| 2991 | */ | 2998 | */ |
| 2992 | struct ieee80211_iface_combination { | 2999 | struct ieee80211_iface_combination { |
| 2993 | const struct ieee80211_iface_limit *limits; | 3000 | const struct ieee80211_iface_limit *limits; |
