1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>struct ieee80211_iface_combination</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="The 802.11 subsystems – for kernel developers"><link rel="up" href="bk01ch01.html" title="Chapter 1. Device registration"><link rel="prev" href="API-struct-ieee80211-iface-limit.html" title="struct ieee80211_iface_limit"><link rel="next" href="API-cfg80211-check-combinations.html" title="cfg80211_check_combinations"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span class="phrase">struct ieee80211_iface_combination</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-struct-ieee80211-iface-limit.html">Prev</a> </td><th width="60%" align="center">Chapter 1. Device registration</th><td width="20%" align="right"> <a accesskey="n" href="API-cfg80211-check-combinations.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-struct-ieee80211-iface-combination"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>struct ieee80211_iface_combination — 2 possible interface combination 3 </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="programlisting"> 4struct ieee80211_iface_combination { 5 const struct ieee80211_iface_limit * limits; 6 u32 num_different_channels; 7 u16 max_interfaces; 8 u8 n_limits; 9 bool beacon_int_infra_match; 10 u8 radar_detect_widths; 11 u8 radar_detect_regions; 12}; </pre></div><div class="refsect1"><a name="idp1112332012"></a><h2>Members</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term">limits</span></dt><dd><p> 13limits for the given interface types 14 </p></dd><dt><span class="term">num_different_channels</span></dt><dd><p> 15can use up to this many different channels 16 </p></dd><dt><span class="term">max_interfaces</span></dt><dd><p> 17maximum number of interfaces in total allowed in this 18group 19 </p></dd><dt><span class="term">n_limits</span></dt><dd><p> 20number of limitations 21 </p></dd><dt><span class="term">beacon_int_infra_match</span></dt><dd><p> 22In this combination, the beacon intervals 23between infrastructure and AP types must match. This is required 24only in special cases. 25 </p></dd><dt><span class="term">radar_detect_widths</span></dt><dd><p> 26bitmap of channel widths supported for radar detection 27 </p></dd><dt><span class="term">radar_detect_regions</span></dt><dd><p> 28bitmap of regions supported for radar detection 29 </p></dd></dl></div></div><div class="refsect1"><a name="idp1112337572"></a><h2>Description</h2><p> 30 With this structure the driver can describe which interface 31 combinations it supports concurrently. 32</p></div><div class="refsect1"><a name="idp1112338260"></a><h2>Examples</h2><div class="informalexample"><pre class="programlisting"> 33 34 1. Allow #STA <= 1, #AP <= 1, matching BI, channels = 1, 2 total: 35 36 struct ieee80211_iface_limit limits1[] = { 37 { .max = 1, .types = BIT(NL80211_IFTYPE_STATION), }, 38 { .max = 1, .types = BIT(NL80211_IFTYPE_AP}, }, 39 }; 40 struct ieee80211_iface_combination combination1 = { 41 .limits = limits1, 42 .n_limits = ARRAY_SIZE(limits1), 43 .max_interfaces = 2, 44 .beacon_int_infra_match = true, 45 }; 46 47 48 2. Allow #{AP, P2P-GO} <= 8, channels = 1, 8 total: 49 50 struct ieee80211_iface_limit limits2[] = { 51 { .max = 8, .types = BIT(NL80211_IFTYPE_AP) | 52 BIT(NL80211_IFTYPE_P2P_GO), }, 53 }; 54 struct ieee80211_iface_combination combination2 = { 55 .limits = limits2, 56 .n_limits = ARRAY_SIZE(limits2), 57 .max_interfaces = 8, 58 .num_different_channels = 1, 59 }; 60 61 62 3. Allow #STA <= 1, #{P2P-client,P2P-GO} <= 3 on two channels, 4 total. 63 64 This allows for an infrastructure connection and three P2P connections. 65 66 struct ieee80211_iface_limit limits3[] = { 67 { .max = 1, .types = BIT(NL80211_IFTYPE_STATION), }, 68 { .max = 3, .types = BIT(NL80211_IFTYPE_P2P_GO) | 69 BIT(NL80211_IFTYPE_P2P_CLIENT), }, 70 }; 71 struct ieee80211_iface_combination combination3 = { 72 .limits = limits3, 73 .n_limits = ARRAY_SIZE(limits3), 74 .max_interfaces = 4, 75 .num_different_channels = 2, 76 }; 77</pre></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-struct-ieee80211-iface-limit.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk01ch01.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="API-cfg80211-check-combinations.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">struct ieee80211_iface_limit</span> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> <span class="phrase">cfg80211_check_combinations</span></td></tr></table></div></body></html> 78