---
name: "struct_ieee80211_iface_combination"
section: "9"
platform: "linux"
package: "linux-manual-3.16"
version: "3.16.56-1+deb8u1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/struct_ieee80211_iface_combination"
---

# struct\_ieee80211\_iface\_combination(9)

possible interface combination

## NAME

struct\_ieee80211\_iface\_combination - possible interface combination

## SYNOPSIS

```
struct ieee80211_iface_combination {
  const struct ieee80211_iface_limit * limits;
  u32 num_different_channels;
  u16 max_interfaces;
  u8 n_limits;
  bool beacon_int_infra_match;
  u8 radar_detect_widths;
  u8 radar_detect_regions;
};
```

## MEMBERS

limits

limits for the given interface types

num\_different\_channels

can use up to this many different channels

max\_interfaces

maximum number of interfaces in total allowed in this group

n\_limits

number of limitations

beacon\_int\_infra\_match

In this combination, the beacon intervals between infrastructure and AP types must match. This is required only in special cases.

radar\_detect\_widths

bitmap of channel widths supported for radar detection

radar\_detect\_regions

bitmap of regions supported for radar detection

## DESCRIPTION

With this structure the driver can describe which interface combinations it supports concurrently.

## EXAMPLES

```
   1. Allow #STA <= 1, #AP <= 1, matching BI, channels = 1, 2 total:
    struct ieee80211_iface_limit limits1[] = {
   	{ .max = 1, .types = BIT(NL80211_IFTYPE_STATION), },
   	{ .max = 1, .types = BIT(NL80211_IFTYPE_AP}, },
    };
    struct ieee80211_iface_combination combination1 = {
   	.limits = limits1,
   	.n_limits = ARRAY_SIZE(limits1),
   	.max_interfaces = 2,
   	.beacon_int_infra_match = true,
    };
   2. Allow #{AP, P2P-GO} <= 8, channels = 1, 8 total:
    struct ieee80211_iface_limit limits2[] = {
   	{ .max = 8, .types = BIT(NL80211_IFTYPE_AP) |
   			     BIT(NL80211_IFTYPE_P2P_GO), },
    };
    struct ieee80211_iface_combination combination2 = {
   	.limits = limits2,
   	.n_limits = ARRAY_SIZE(limits2),
   	.max_interfaces = 8,
   	.num_different_channels = 1,
    };
   3. Allow #STA <= 1, #{P2P-client,P2P-GO} <= 3 on two channels, 4 total.
   This allows for an infrastructure connection and three P2P connections.
    struct ieee80211_iface_limit limits3[] = {
   	{ .max = 1, .types = BIT(NL80211_IFTYPE_STATION), },
   	{ .max = 3, .types = BIT(NL80211_IFTYPE_P2P_GO) |
   			     BIT(NL80211_IFTYPE_P2P_CLIENT), },
    };
    struct ieee80211_iface_combination combination3 = {
   	.limits = limits3,
   	.n_limits = ARRAY_SIZE(limits3),
   	.max_interfaces = 4,
   	.num_different_channels = 2,
    };
```

## AUTHOR

**Johannes Berg** \<johannes@sipsolutions.net\>

Author.

## COPYRIGHT
