diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/nl80211.h | 32 | ||||
-rw-r--r-- | include/net/regulatory.h | 5 |
2 files changed, 37 insertions, 0 deletions
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h index d6cfacc3ce4..2f387880640 100644 --- a/include/linux/nl80211.h +++ b/include/linux/nl80211.h | |||
@@ -1245,6 +1245,12 @@ enum nl80211_commands { | |||
1245 | * @NL80211_ATTR_BG_SCAN_PERIOD: Background scan period in seconds | 1245 | * @NL80211_ATTR_BG_SCAN_PERIOD: Background scan period in seconds |
1246 | * or 0 to disable background scan. | 1246 | * or 0 to disable background scan. |
1247 | * | 1247 | * |
1248 | * @NL80211_ATTR_USER_REG_HINT_TYPE: type of regulatory hint passed from | ||
1249 | * userspace. If unset it is assumed the hint comes directly from | ||
1250 | * a user. If set code could specify exactly what type of source | ||
1251 | * was used to provide the hint. For the different types of | ||
1252 | * allowed user regulatory hints see nl80211_user_reg_hint_type. | ||
1253 | * | ||
1248 | * @NL80211_ATTR_MAX: highest attribute number currently defined | 1254 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
1249 | * @__NL80211_ATTR_AFTER_LAST: internal use | 1255 | * @__NL80211_ATTR_AFTER_LAST: internal use |
1250 | */ | 1256 | */ |
@@ -1498,6 +1504,8 @@ enum nl80211_attrs { | |||
1498 | 1504 | ||
1499 | NL80211_ATTR_WDEV, | 1505 | NL80211_ATTR_WDEV, |
1500 | 1506 | ||
1507 | NL80211_ATTR_USER_REG_HINT_TYPE, | ||
1508 | |||
1501 | /* add attributes here, update the policy in nl80211.c */ | 1509 | /* add attributes here, update the policy in nl80211.c */ |
1502 | 1510 | ||
1503 | __NL80211_ATTR_AFTER_LAST, | 1511 | __NL80211_ATTR_AFTER_LAST, |
@@ -2061,6 +2069,26 @@ enum nl80211_dfs_regions { | |||
2061 | }; | 2069 | }; |
2062 | 2070 | ||
2063 | /** | 2071 | /** |
2072 | * enum nl80211_user_reg_hint_type - type of user regulatory hint | ||
2073 | * | ||
2074 | * @NL80211_USER_REG_HINT_USER: a user sent the hint. This is always | ||
2075 | * assumed if the attribute is not set. | ||
2076 | * @NL80211_USER_REG_HINT_CELL_BASE: the hint comes from a cellular | ||
2077 | * base station. Device drivers that have been tested to work | ||
2078 | * properly to support this type of hint can enable these hints | ||
2079 | * by setting the NL80211_FEATURE_CELL_BASE_REG_HINTS feature | ||
2080 | * capability on the struct wiphy. The wireless core will | ||
2081 | * ignore all cell base station hints until at least one device | ||
2082 | * present has been registered with the wireless core that | ||
2083 | * has listed NL80211_FEATURE_CELL_BASE_REG_HINTS as a | ||
2084 | * supported feature. | ||
2085 | */ | ||
2086 | enum nl80211_user_reg_hint_type { | ||
2087 | NL80211_USER_REG_HINT_USER = 0, | ||
2088 | NL80211_USER_REG_HINT_CELL_BASE = 1, | ||
2089 | }; | ||
2090 | |||
2091 | /** | ||
2064 | * enum nl80211_survey_info - survey information | 2092 | * enum nl80211_survey_info - survey information |
2065 | * | 2093 | * |
2066 | * These attribute types are used with %NL80211_ATTR_SURVEY_INFO | 2094 | * These attribute types are used with %NL80211_ATTR_SURVEY_INFO |
@@ -2963,11 +2991,15 @@ enum nl80211_ap_sme_features { | |||
2963 | * @NL80211_FEATURE_HT_IBSS: This driver supports IBSS with HT datarates. | 2991 | * @NL80211_FEATURE_HT_IBSS: This driver supports IBSS with HT datarates. |
2964 | * @NL80211_FEATURE_INACTIVITY_TIMER: This driver takes care of freeing up | 2992 | * @NL80211_FEATURE_INACTIVITY_TIMER: This driver takes care of freeing up |
2965 | * the connected inactive stations in AP mode. | 2993 | * the connected inactive stations in AP mode. |
2994 | * @NL80211_FEATURE_CELL_BASE_REG_HINTS: This driver has been tested | ||
2995 | * to work properly to suppport receiving regulatory hints from | ||
2996 | * cellular base stations. | ||
2966 | */ | 2997 | */ |
2967 | enum nl80211_feature_flags { | 2998 | enum nl80211_feature_flags { |
2968 | NL80211_FEATURE_SK_TX_STATUS = 1 << 0, | 2999 | NL80211_FEATURE_SK_TX_STATUS = 1 << 0, |
2969 | NL80211_FEATURE_HT_IBSS = 1 << 1, | 3000 | NL80211_FEATURE_HT_IBSS = 1 << 1, |
2970 | NL80211_FEATURE_INACTIVITY_TIMER = 1 << 2, | 3001 | NL80211_FEATURE_INACTIVITY_TIMER = 1 << 2, |
3002 | NL80211_FEATURE_CELL_BASE_REG_HINTS = 1 << 3, | ||
2971 | }; | 3003 | }; |
2972 | 3004 | ||
2973 | /** | 3005 | /** |
diff --git a/include/net/regulatory.h b/include/net/regulatory.h index a5f79933e21..7dcaa2794fd 100644 --- a/include/net/regulatory.h +++ b/include/net/regulatory.h | |||
@@ -52,6 +52,10 @@ enum environment_cap { | |||
52 | * DFS master operation on a known DFS region (NL80211_DFS_*), | 52 | * DFS master operation on a known DFS region (NL80211_DFS_*), |
53 | * dfs_region represents that region. Drivers can use this and the | 53 | * dfs_region represents that region. Drivers can use this and the |
54 | * @alpha2 to adjust their device's DFS parameters as required. | 54 | * @alpha2 to adjust their device's DFS parameters as required. |
55 | * @user_reg_hint_type: if the @initiator was of type | ||
56 | * %NL80211_REGDOM_SET_BY_USER, this classifies the type | ||
57 | * of hint passed. This could be any of the %NL80211_USER_REG_HINT_* | ||
58 | * types. | ||
55 | * @intersect: indicates whether the wireless core should intersect | 59 | * @intersect: indicates whether the wireless core should intersect |
56 | * the requested regulatory domain with the presently set regulatory | 60 | * the requested regulatory domain with the presently set regulatory |
57 | * domain. | 61 | * domain. |
@@ -70,6 +74,7 @@ enum environment_cap { | |||
70 | struct regulatory_request { | 74 | struct regulatory_request { |
71 | int wiphy_idx; | 75 | int wiphy_idx; |
72 | enum nl80211_reg_initiator initiator; | 76 | enum nl80211_reg_initiator initiator; |
77 | enum nl80211_user_reg_hint_type user_reg_hint_type; | ||
73 | char alpha2[2]; | 78 | char alpha2[2]; |
74 | u8 dfs_region; | 79 | u8 dfs_region; |
75 | bool intersect; | 80 | bool intersect; |