diff options
| author | David S. Miller <davem@davemloft.net> | 2011-11-28 19:21:10 -0500 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2011-11-28 19:21:10 -0500 |
| commit | 8317e2047ef7d70dd76bf1d571fecaa8d4deb06f (patch) | |
| tree | c400a600a4eb00da224b4e59e76396655e853d07 /include | |
| parent | 2c55a3d08ade44a778c182c220a7907ec65d5fb8 (diff) | |
| parent | 39338b56382ac640614851a80e0bd71994cc664d (diff) | |
Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/nl80211.h | 35 | ||||
| -rw-r--r-- | include/net/cfg80211.h | 94 | ||||
| -rw-r--r-- | include/net/mac80211.h | 22 | ||||
| -rw-r--r-- | include/net/nfc/nci.h | 84 | ||||
| -rw-r--r-- | include/net/regulatory.h | 6 |
5 files changed, 131 insertions, 110 deletions
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h index f9261c253735..97bfebfcce90 100644 --- a/include/linux/nl80211.h +++ b/include/linux/nl80211.h | |||
| @@ -1169,6 +1169,21 @@ enum nl80211_commands { | |||
| 1169 | * @NL80211_ATTR_PROBE_RESP: Probe Response template data. Contains the entire | 1169 | * @NL80211_ATTR_PROBE_RESP: Probe Response template data. Contains the entire |
| 1170 | * probe-response frame. The DA field in the 802.11 header is zero-ed out, | 1170 | * probe-response frame. The DA field in the 802.11 header is zero-ed out, |
| 1171 | * to be filled by the FW. | 1171 | * to be filled by the FW. |
| 1172 | * @NL80211_ATTR_DISABLE_HT: Force HT capable interfaces to disable | ||
| 1173 | * this feature. Currently, only supported in mac80211 drivers. | ||
| 1174 | * @NL80211_ATTR_HT_CAPABILITY_MASK: Specify which bits of the | ||
| 1175 | * ATTR_HT_CAPABILITY to which attention should be paid. | ||
| 1176 | * Currently, only mac80211 NICs support this feature. | ||
| 1177 | * The values that may be configured are: | ||
| 1178 | * MCS rates, MAX-AMSDU, HT-20-40 and HT_CAP_SGI_40 | ||
| 1179 | * AMPDU density and AMPDU factor. | ||
| 1180 | * All values are treated as suggestions and may be ignored | ||
| 1181 | * by the driver as required. The actual values may be seen in | ||
| 1182 | * the station debugfs ht_caps file. | ||
| 1183 | * | ||
| 1184 | * @NL80211_ATTR_DFS_REGION: region for regulatory rules which this country | ||
| 1185 | * abides to when initiating radiation on DFS channels. A country maps | ||
| 1186 | * to one DFS region. | ||
| 1172 | * | 1187 | * |
| 1173 | * @NL80211_ATTR_MAX: highest attribute number currently defined | 1188 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
| 1174 | * @__NL80211_ATTR_AFTER_LAST: internal use | 1189 | * @__NL80211_ATTR_AFTER_LAST: internal use |
| @@ -1408,6 +1423,11 @@ enum nl80211_attrs { | |||
| 1408 | 1423 | ||
| 1409 | NL80211_ATTR_PROBE_RESP, | 1424 | NL80211_ATTR_PROBE_RESP, |
| 1410 | 1425 | ||
| 1426 | NL80211_ATTR_DFS_REGION, | ||
| 1427 | |||
| 1428 | NL80211_ATTR_DISABLE_HT, | ||
| 1429 | NL80211_ATTR_HT_CAPABILITY_MASK, | ||
| 1430 | |||
| 1411 | /* add attributes here, update the policy in nl80211.c */ | 1431 | /* add attributes here, update the policy in nl80211.c */ |
| 1412 | 1432 | ||
| 1413 | __NL80211_ATTR_AFTER_LAST, | 1433 | __NL80211_ATTR_AFTER_LAST, |
| @@ -1917,6 +1937,21 @@ enum nl80211_reg_rule_flags { | |||
| 1917 | }; | 1937 | }; |
| 1918 | 1938 | ||
| 1919 | /** | 1939 | /** |
| 1940 | * enum nl80211_dfs_regions - regulatory DFS regions | ||
| 1941 | * | ||
| 1942 | * @NL80211_DFS_UNSET: Country has no DFS master region specified | ||
| 1943 | * @NL80211_DFS_FCC_: Country follows DFS master rules from FCC | ||
| 1944 | * @NL80211_DFS_FCC_: Country follows DFS master rules from ETSI | ||
| 1945 | * @NL80211_DFS_JP_: Country follows DFS master rules from JP/MKK/Telec | ||
| 1946 | */ | ||
| 1947 | enum nl80211_dfs_regions { | ||
| 1948 | NL80211_DFS_UNSET = 0, | ||
| 1949 | NL80211_DFS_FCC = 1, | ||
| 1950 | NL80211_DFS_ETSI = 2, | ||
| 1951 | NL80211_DFS_JP = 3, | ||
| 1952 | }; | ||
| 1953 | |||
| 1954 | /** | ||
| 1920 | * enum nl80211_survey_info - survey information | 1955 | * enum nl80211_survey_info - survey information |
| 1921 | * | 1956 | * |
| 1922 | * These attribute types are used with %NL80211_ATTR_SURVEY_INFO | 1957 | * These attribute types are used with %NL80211_ATTR_SURVEY_INFO |
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index 8d7ba0961d3e..d5e18913f293 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h | |||
| @@ -1044,6 +1044,15 @@ struct cfg80211_auth_request { | |||
| 1044 | }; | 1044 | }; |
| 1045 | 1045 | ||
| 1046 | /** | 1046 | /** |
| 1047 | * enum cfg80211_assoc_req_flags - Over-ride default behaviour in association. | ||
| 1048 | * | ||
| 1049 | * @ASSOC_REQ_DISABLE_HT: Disable HT (802.11n) | ||
| 1050 | */ | ||
| 1051 | enum cfg80211_assoc_req_flags { | ||
| 1052 | ASSOC_REQ_DISABLE_HT = BIT(0), | ||
| 1053 | }; | ||
| 1054 | |||
| 1055 | /** | ||
| 1047 | * struct cfg80211_assoc_request - (Re)Association request data | 1056 | * struct cfg80211_assoc_request - (Re)Association request data |
| 1048 | * | 1057 | * |
| 1049 | * This structure provides information needed to complete IEEE 802.11 | 1058 | * This structure provides information needed to complete IEEE 802.11 |
| @@ -1054,6 +1063,10 @@ struct cfg80211_auth_request { | |||
| 1054 | * @use_mfp: Use management frame protection (IEEE 802.11w) in this association | 1063 | * @use_mfp: Use management frame protection (IEEE 802.11w) in this association |
| 1055 | * @crypto: crypto settings | 1064 | * @crypto: crypto settings |
| 1056 | * @prev_bssid: previous BSSID, if not %NULL use reassociate frame | 1065 | * @prev_bssid: previous BSSID, if not %NULL use reassociate frame |
| 1066 | * @flags: See &enum cfg80211_assoc_req_flags | ||
| 1067 | * @ht_capa: HT Capabilities over-rides. Values set in ht_capa_mask | ||
| 1068 | * will be used in ht_capa. Un-supported values will be ignored. | ||
| 1069 | * @ht_capa_mask: The bits of ht_capa which are to be used. | ||
| 1057 | */ | 1070 | */ |
| 1058 | struct cfg80211_assoc_request { | 1071 | struct cfg80211_assoc_request { |
| 1059 | struct cfg80211_bss *bss; | 1072 | struct cfg80211_bss *bss; |
| @@ -1061,6 +1074,9 @@ struct cfg80211_assoc_request { | |||
| 1061 | size_t ie_len; | 1074 | size_t ie_len; |
| 1062 | struct cfg80211_crypto_settings crypto; | 1075 | struct cfg80211_crypto_settings crypto; |
| 1063 | bool use_mfp; | 1076 | bool use_mfp; |
| 1077 | u32 flags; | ||
| 1078 | struct ieee80211_ht_cap ht_capa; | ||
| 1079 | struct ieee80211_ht_cap ht_capa_mask; | ||
| 1064 | }; | 1080 | }; |
| 1065 | 1081 | ||
| 1066 | /** | 1082 | /** |
| @@ -1159,6 +1175,10 @@ struct cfg80211_ibss_params { | |||
| 1159 | * @key_len: length of WEP key for shared key authentication | 1175 | * @key_len: length of WEP key for shared key authentication |
| 1160 | * @key_idx: index of WEP key for shared key authentication | 1176 | * @key_idx: index of WEP key for shared key authentication |
| 1161 | * @key: WEP key for shared key authentication | 1177 | * @key: WEP key for shared key authentication |
| 1178 | * @flags: See &enum cfg80211_assoc_req_flags | ||
| 1179 | * @ht_capa: HT Capabilities over-rides. Values set in ht_capa_mask | ||
| 1180 | * will be used in ht_capa. Un-supported values will be ignored. | ||
| 1181 | * @ht_capa_mask: The bits of ht_capa which are to be used. | ||
| 1162 | */ | 1182 | */ |
| 1163 | struct cfg80211_connect_params { | 1183 | struct cfg80211_connect_params { |
| 1164 | struct ieee80211_channel *channel; | 1184 | struct ieee80211_channel *channel; |
| @@ -1172,6 +1192,9 @@ struct cfg80211_connect_params { | |||
| 1172 | struct cfg80211_crypto_settings crypto; | 1192 | struct cfg80211_crypto_settings crypto; |
| 1173 | const u8 *key; | 1193 | const u8 *key; |
| 1174 | u8 key_len, key_idx; | 1194 | u8 key_len, key_idx; |
| 1195 | u32 flags; | ||
| 1196 | struct ieee80211_ht_cap ht_capa; | ||
| 1197 | struct ieee80211_ht_cap ht_capa_mask; | ||
| 1175 | }; | 1198 | }; |
| 1176 | 1199 | ||
| 1177 | /** | 1200 | /** |
| @@ -1700,6 +1723,8 @@ struct cfg80211_ops { | |||
| 1700 | * cfg80211_report_obss_beacon(). | 1723 | * cfg80211_report_obss_beacon(). |
| 1701 | * @WIPHY_FLAG_AP_PROBE_RESP_OFFLOAD: When operating as an AP, the device | 1724 | * @WIPHY_FLAG_AP_PROBE_RESP_OFFLOAD: When operating as an AP, the device |
| 1702 | * responds to probe-requests in hardware. | 1725 | * responds to probe-requests in hardware. |
| 1726 | * @WIPHY_FLAG_OFFCHAN_TX: Device supports direct off-channel TX. | ||
| 1727 | * @WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL: Device supports remain-on-channel call. | ||
| 1703 | */ | 1728 | */ |
| 1704 | enum wiphy_flags { | 1729 | enum wiphy_flags { |
| 1705 | WIPHY_FLAG_CUSTOM_REGULATORY = BIT(0), | 1730 | WIPHY_FLAG_CUSTOM_REGULATORY = BIT(0), |
| @@ -1721,6 +1746,8 @@ enum wiphy_flags { | |||
| 1721 | WIPHY_FLAG_HAVE_AP_SME = BIT(17), | 1746 | WIPHY_FLAG_HAVE_AP_SME = BIT(17), |
| 1722 | WIPHY_FLAG_REPORTS_OBSS = BIT(18), | 1747 | WIPHY_FLAG_REPORTS_OBSS = BIT(18), |
| 1723 | WIPHY_FLAG_AP_PROBE_RESP_OFFLOAD = BIT(19), | 1748 | WIPHY_FLAG_AP_PROBE_RESP_OFFLOAD = BIT(19), |
| 1749 | WIPHY_FLAG_OFFCHAN_TX = BIT(20), | ||
| 1750 | WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL = BIT(21), | ||
| 1724 | }; | 1751 | }; |
| 1725 | 1752 | ||
| 1726 | /** | 1753 | /** |
| @@ -1934,6 +1961,8 @@ struct wiphy_wowlan_support { | |||
| 1934 | * @wowlan: WoWLAN support information | 1961 | * @wowlan: WoWLAN support information |
| 1935 | * | 1962 | * |
| 1936 | * @ap_sme_capa: AP SME capabilities, flags from &enum nl80211_ap_sme_features. | 1963 | * @ap_sme_capa: AP SME capabilities, flags from &enum nl80211_ap_sme_features. |
| 1964 | * @ht_capa_mod_mask: Specify what ht_cap values can be over-ridden. | ||
| 1965 | * If null, then none can be over-ridden. | ||
| 1937 | */ | 1966 | */ |
| 1938 | struct wiphy { | 1967 | struct wiphy { |
| 1939 | /* assign these fields before you register the wiphy */ | 1968 | /* assign these fields before you register the wiphy */ |
| @@ -2023,6 +2052,8 @@ struct wiphy { | |||
| 2023 | /* dir in debugfs: ieee80211/<wiphyname> */ | 2052 | /* dir in debugfs: ieee80211/<wiphyname> */ |
| 2024 | struct dentry *debugfsdir; | 2053 | struct dentry *debugfsdir; |
| 2025 | 2054 | ||
| 2055 | const struct ieee80211_ht_cap *ht_capa_mod_mask; | ||
| 2056 | |||
| 2026 | #ifdef CONFIG_NET_NS | 2057 | #ifdef CONFIG_NET_NS |
| 2027 | /* the network namespace this phy lives in currently */ | 2058 | /* the network namespace this phy lives in currently */ |
| 2028 | struct net *_net; | 2059 | struct net *_net; |
| @@ -2387,69 +2418,6 @@ extern int ieee80211_radiotap_iterator_next( | |||
| 2387 | extern const unsigned char rfc1042_header[6]; | 2418 | extern const unsigned char rfc1042_header[6]; |
| 2388 | extern const unsigned char bridge_tunnel_header[6]; | 2419 | extern const unsigned char bridge_tunnel_header[6]; |
| 2389 | 2420 | ||
| 2390 | /* Parsed Information Elements */ | ||
| 2391 | struct ieee802_11_elems { | ||
| 2392 | u8 *ie_start; | ||
| 2393 | size_t total_len; | ||
| 2394 | |||
| 2395 | /* pointers to IEs */ | ||
| 2396 | u8 *ssid; | ||
| 2397 | u8 *supp_rates; | ||
| 2398 | u8 *fh_params; | ||
| 2399 | u8 *ds_params; | ||
| 2400 | u8 *cf_params; | ||
| 2401 | struct ieee80211_tim_ie *tim; | ||
| 2402 | u8 *ibss_params; | ||
| 2403 | u8 *challenge; | ||
| 2404 | u8 *wpa; | ||
| 2405 | u8 *rsn; | ||
| 2406 | u8 *erp_info; | ||
| 2407 | u8 *ext_supp_rates; | ||
| 2408 | u8 *wmm_info; | ||
| 2409 | u8 *wmm_param; | ||
| 2410 | struct ieee80211_ht_cap *ht_cap_elem; | ||
| 2411 | struct ieee80211_ht_info *ht_info_elem; | ||
| 2412 | struct ieee80211_meshconf_ie *mesh_config; | ||
| 2413 | u8 *mesh_id; | ||
| 2414 | u8 *peering; | ||
| 2415 | u8 *preq; | ||
| 2416 | u8 *prep; | ||
| 2417 | u8 *perr; | ||
| 2418 | struct ieee80211_rann_ie *rann; | ||
| 2419 | u8 *ch_switch_elem; | ||
| 2420 | u8 *country_elem; | ||
| 2421 | u8 *pwr_constr_elem; | ||
| 2422 | u8 *quiet_elem; /* first quite element */ | ||
| 2423 | u8 *timeout_int; | ||
| 2424 | |||
| 2425 | /* length of them, respectively */ | ||
| 2426 | u8 ssid_len; | ||
| 2427 | u8 supp_rates_len; | ||
| 2428 | u8 fh_params_len; | ||
| 2429 | u8 ds_params_len; | ||
| 2430 | u8 cf_params_len; | ||
| 2431 | u8 tim_len; | ||
| 2432 | u8 ibss_params_len; | ||
| 2433 | u8 challenge_len; | ||
| 2434 | u8 wpa_len; | ||
| 2435 | u8 rsn_len; | ||
| 2436 | u8 erp_info_len; | ||
| 2437 | u8 ext_supp_rates_len; | ||
| 2438 | u8 wmm_info_len; | ||
| 2439 | u8 wmm_param_len; | ||
| 2440 | u8 mesh_id_len; | ||
| 2441 | u8 peering_len; | ||
| 2442 | u8 preq_len; | ||
| 2443 | u8 prep_len; | ||
| 2444 | u8 perr_len; | ||
| 2445 | u8 ch_switch_elem_len; | ||
| 2446 | u8 country_elem_len; | ||
| 2447 | u8 pwr_constr_elem_len; | ||
| 2448 | u8 quiet_elem_len; | ||
| 2449 | u8 num_of_quiet_elem; /* can be more the one */ | ||
| 2450 | u8 timeout_int_len; | ||
| 2451 | }; | ||
| 2452 | |||
| 2453 | /** | 2421 | /** |
| 2454 | * ieee80211_get_hdrlen_from_skb - get header length from data | 2422 | * ieee80211_get_hdrlen_from_skb - get header length from data |
| 2455 | * | 2423 | * |
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 0756049ae76d..5b5c8a7e26d7 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
| @@ -1760,11 +1760,21 @@ enum ieee80211_frame_release_type { | |||
| 1760 | * skb contains the buffer starting from the IEEE 802.11 header. | 1760 | * skb contains the buffer starting from the IEEE 802.11 header. |
| 1761 | * The low-level driver should send the frame out based on | 1761 | * The low-level driver should send the frame out based on |
| 1762 | * configuration in the TX control data. This handler should, | 1762 | * configuration in the TX control data. This handler should, |
| 1763 | * preferably, never fail and stop queues appropriately, more | 1763 | * preferably, never fail and stop queues appropriately. |
| 1764 | * importantly, however, it must never fail for A-MPDU-queues. | 1764 | * This must be implemented if @tx_frags is not. |
| 1765 | * This function should return NETDEV_TX_OK except in very | 1765 | * Must be atomic. |
| 1766 | * limited cases. | 1766 | * |
| 1767 | * Must be implemented and atomic. | 1767 | * @tx_frags: Called to transmit multiple fragments of a single MSDU. |
| 1768 | * This handler must consume all fragments, sending out some of | ||
| 1769 | * them only is useless and it can't ask for some of them to be | ||
| 1770 | * queued again. If the frame is not fragmented the queue has a | ||
| 1771 | * single SKB only. To avoid issues with the networking stack | ||
| 1772 | * when TX status is reported the frames should be removed from | ||
| 1773 | * the skb queue. | ||
| 1774 | * If this is used, the tx_info @vif and @sta pointers will be | ||
| 1775 | * invalid -- you must not use them in that case. | ||
| 1776 | * This must be implemented if @tx isn't. | ||
| 1777 | * Must be atomic. | ||
| 1768 | * | 1778 | * |
| 1769 | * @start: Called before the first netdevice attached to the hardware | 1779 | * @start: Called before the first netdevice attached to the hardware |
| 1770 | * is enabled. This should turn on the hardware and must turn on | 1780 | * is enabled. This should turn on the hardware and must turn on |
| @@ -2101,6 +2111,8 @@ enum ieee80211_frame_release_type { | |||
| 2101 | */ | 2111 | */ |
| 2102 | struct ieee80211_ops { | 2112 | struct ieee80211_ops { |
| 2103 | void (*tx)(struct ieee80211_hw *hw, struct sk_buff *skb); | 2113 | void (*tx)(struct ieee80211_hw *hw, struct sk_buff *skb); |
| 2114 | void (*tx_frags)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, | ||
| 2115 | struct ieee80211_sta *sta, struct sk_buff_head *skbs); | ||
| 2104 | int (*start)(struct ieee80211_hw *hw); | 2116 | int (*start)(struct ieee80211_hw *hw); |
| 2105 | void (*stop)(struct ieee80211_hw *hw); | 2117 | void (*stop)(struct ieee80211_hw *hw); |
| 2106 | #ifdef CONFIG_PM | 2118 | #ifdef CONFIG_PM |
diff --git a/include/net/nfc/nci.h b/include/net/nfc/nci.h index cdbe67139343..b61eb6c9df14 100644 --- a/include/net/nfc/nci.h +++ b/include/net/nfc/nci.h | |||
| @@ -34,30 +34,30 @@ | |||
| 34 | #define NCI_MAX_NUM_CONN 10 | 34 | #define NCI_MAX_NUM_CONN 10 |
| 35 | 35 | ||
| 36 | /* NCI Status Codes */ | 36 | /* NCI Status Codes */ |
| 37 | #define NCI_STATUS_OK 0x00 | 37 | #define NCI_STATUS_OK 0x00 |
| 38 | #define NCI_STATUS_REJECTED 0x01 | 38 | #define NCI_STATUS_REJECTED 0x01 |
| 39 | #define NCI_STATUS_RF_FRAME_CORRUPTED 0x02 | 39 | #define NCI_STATUS_RF_FRAME_CORRUPTED 0x02 |
| 40 | #define NCI_STATUS_FAILED 0x03 | 40 | #define NCI_STATUS_FAILED 0x03 |
| 41 | #define NCI_STATUS_NOT_INITIALIZED 0x04 | 41 | #define NCI_STATUS_NOT_INITIALIZED 0x04 |
| 42 | #define NCI_STATUS_SYNTAX_ERROR 0x05 | 42 | #define NCI_STATUS_SYNTAX_ERROR 0x05 |
| 43 | #define NCI_STATUS_SEMANTIC_ERROR 0x06 | 43 | #define NCI_STATUS_SEMANTIC_ERROR 0x06 |
| 44 | #define NCI_STATUS_UNKNOWN_GID 0x07 | 44 | #define NCI_STATUS_UNKNOWN_GID 0x07 |
| 45 | #define NCI_STATUS_UNKNOWN_OID 0x08 | 45 | #define NCI_STATUS_UNKNOWN_OID 0x08 |
| 46 | #define NCI_STATUS_INVALID_PARAM 0x09 | 46 | #define NCI_STATUS_INVALID_PARAM 0x09 |
| 47 | #define NCI_STATUS_MESSAGE_SIZE_EXCEEDED 0x0a | 47 | #define NCI_STATUS_MESSAGE_SIZE_EXCEEDED 0x0a |
| 48 | /* Discovery Specific Status Codes */ | 48 | /* Discovery Specific Status Codes */ |
| 49 | #define NCI_STATUS_DISCOVERY_ALREADY_STARTED 0xa0 | 49 | #define NCI_STATUS_DISCOVERY_ALREADY_STARTED 0xa0 |
| 50 | #define NCI_STATUS_DISCOVERY_TARGET_ACTIVATION_FAILED 0xa1 | 50 | #define NCI_STATUS_DISCOVERY_TARGET_ACTIVATION_FAILED 0xa1 |
| 51 | #define NCI_STATUS_DISCOVERY_TEAR_DOWN 0xa2 | 51 | #define NCI_STATUS_DISCOVERY_TEAR_DOWN 0xa2 |
| 52 | /* RF Interface Specific Status Codes */ | 52 | /* RF Interface Specific Status Codes */ |
| 53 | #define NCI_STATUS_RF_TRANSMISSION_ERROR 0xb0 | 53 | #define NCI_STATUS_RF_TRANSMISSION_ERROR 0xb0 |
| 54 | #define NCI_STATUS_RF_PROTOCOL_ERROR 0xb1 | 54 | #define NCI_STATUS_RF_PROTOCOL_ERROR 0xb1 |
| 55 | #define NCI_STATUS_RF_TIMEOUT_ERROR 0xb2 | 55 | #define NCI_STATUS_RF_TIMEOUT_ERROR 0xb2 |
| 56 | /* NFCEE Interface Specific Status Codes */ | 56 | /* NFCEE Interface Specific Status Codes */ |
| 57 | #define NCI_STATUS_MAX_ACTIVE_NFCEE_INTERFACES_REACHED 0xc0 | 57 | #define NCI_STATUS_MAX_ACTIVE_NFCEE_INTERFACES_REACHED 0xc0 |
| 58 | #define NCI_STATUS_NFCEE_INTERFACE_ACTIVATION_FAILED 0xc1 | 58 | #define NCI_STATUS_NFCEE_INTERFACE_ACTIVATION_FAILED 0xc1 |
| 59 | #define NCI_STATUS_NFCEE_TRANSMISSION_ERROR 0xc2 | 59 | #define NCI_STATUS_NFCEE_TRANSMISSION_ERROR 0xc2 |
| 60 | #define NCI_STATUS_NFCEE_PROTOCOL_ERROR 0xc3 | 60 | #define NCI_STATUS_NFCEE_PROTOCOL_ERROR 0xc3 |
| 61 | #define NCI_STATUS_NFCEE_TIMEOUT_ERROR 0xc4 | 61 | #define NCI_STATUS_NFCEE_TIMEOUT_ERROR 0xc4 |
| 62 | 62 | ||
| 63 | /* NCI RF Technology and Mode */ | 63 | /* NCI RF Technology and Mode */ |
| @@ -97,9 +97,9 @@ | |||
| 97 | 97 | ||
| 98 | /* NCI RF Interfaces */ | 98 | /* NCI RF Interfaces */ |
| 99 | #define NCI_RF_INTERFACE_NFCEE_DIRECT 0x00 | 99 | #define NCI_RF_INTERFACE_NFCEE_DIRECT 0x00 |
| 100 | #define NCI_RF_INTERFACE_FRAME 0x01 | 100 | #define NCI_RF_INTERFACE_FRAME 0x01 |
| 101 | #define NCI_RF_INTERFACE_ISO_DEP 0x02 | 101 | #define NCI_RF_INTERFACE_ISO_DEP 0x02 |
| 102 | #define NCI_RF_INTERFACE_NFC_DEP 0x03 | 102 | #define NCI_RF_INTERFACE_NFC_DEP 0x03 |
| 103 | 103 | ||
| 104 | /* NCI Reset types */ | 104 | /* NCI Reset types */ |
| 105 | #define NCI_RESET_TYPE_KEEP_CONFIG 0x00 | 105 | #define NCI_RESET_TYPE_KEEP_CONFIG 0x00 |
| @@ -118,22 +118,22 @@ | |||
| 118 | 118 | ||
| 119 | /* NCI Discovery Types */ | 119 | /* NCI Discovery Types */ |
| 120 | #define NCI_DISCOVERY_TYPE_POLL_A_PASSIVE 0x00 | 120 | #define NCI_DISCOVERY_TYPE_POLL_A_PASSIVE 0x00 |
| 121 | #define NCI_DISCOVERY_TYPE_POLL_B_PASSIVE 0x01 | 121 | #define NCI_DISCOVERY_TYPE_POLL_B_PASSIVE 0x01 |
| 122 | #define NCI_DISCOVERY_TYPE_POLL_F_PASSIVE 0x02 | 122 | #define NCI_DISCOVERY_TYPE_POLL_F_PASSIVE 0x02 |
| 123 | #define NCI_DISCOVERY_TYPE_POLL_A_ACTIVE 0x03 | 123 | #define NCI_DISCOVERY_TYPE_POLL_A_ACTIVE 0x03 |
| 124 | #define NCI_DISCOVERY_TYPE_POLL_F_ACTIVE 0x05 | 124 | #define NCI_DISCOVERY_TYPE_POLL_F_ACTIVE 0x05 |
| 125 | #define NCI_DISCOVERY_TYPE_WAKEUP_A_ACTIVE 0x09 | 125 | #define NCI_DISCOVERY_TYPE_WAKEUP_A_ACTIVE 0x09 |
| 126 | #define NCI_DISCOVERY_TYPE_LISTEN_A_PASSIVE 0x80 | 126 | #define NCI_DISCOVERY_TYPE_LISTEN_A_PASSIVE 0x80 |
| 127 | #define NCI_DISCOVERY_TYPE_LISTEN_B_PASSIVE 0x81 | 127 | #define NCI_DISCOVERY_TYPE_LISTEN_B_PASSIVE 0x81 |
| 128 | #define NCI_DISCOVERY_TYPE_LISTEN_F_PASSIVE 0x82 | 128 | #define NCI_DISCOVERY_TYPE_LISTEN_F_PASSIVE 0x82 |
| 129 | #define NCI_DISCOVERY_TYPE_LISTEN_A_ACTIVE 0x83 | 129 | #define NCI_DISCOVERY_TYPE_LISTEN_A_ACTIVE 0x83 |
| 130 | #define NCI_DISCOVERY_TYPE_LISTEN_F_ACTIVE 0x85 | 130 | #define NCI_DISCOVERY_TYPE_LISTEN_F_ACTIVE 0x85 |
| 131 | 131 | ||
| 132 | /* NCI Deactivation Type */ | 132 | /* NCI Deactivation Type */ |
| 133 | #define NCI_DEACTIVATE_TYPE_IDLE_MODE 0x00 | 133 | #define NCI_DEACTIVATE_TYPE_IDLE_MODE 0x00 |
| 134 | #define NCI_DEACTIVATE_TYPE_SLEEP_MODE 0x01 | 134 | #define NCI_DEACTIVATE_TYPE_SLEEP_MODE 0x01 |
| 135 | #define NCI_DEACTIVATE_TYPE_SLEEP_AF_MODE 0x02 | 135 | #define NCI_DEACTIVATE_TYPE_SLEEP_AF_MODE 0x02 |
| 136 | #define NCI_DEACTIVATE_TYPE_DISCOVERY 0x03 | 136 | #define NCI_DEACTIVATE_TYPE_DISCOVERY 0x03 |
| 137 | 137 | ||
| 138 | /* Message Type (MT) */ | 138 | /* Message Type (MT) */ |
| 139 | #define NCI_MT_DATA_PKT 0x00 | 139 | #define NCI_MT_DATA_PKT 0x00 |
| @@ -165,10 +165,10 @@ | |||
| 165 | #define nci_conn_id(hdr) (__u8)(((hdr)[0])&0x0f) | 165 | #define nci_conn_id(hdr) (__u8)(((hdr)[0])&0x0f) |
| 166 | 166 | ||
| 167 | /* GID values */ | 167 | /* GID values */ |
| 168 | #define NCI_GID_CORE 0x0 | 168 | #define NCI_GID_CORE 0x0 |
| 169 | #define NCI_GID_RF_MGMT 0x1 | 169 | #define NCI_GID_RF_MGMT 0x1 |
| 170 | #define NCI_GID_NFCEE_MGMT 0x2 | 170 | #define NCI_GID_NFCEE_MGMT 0x2 |
| 171 | #define NCI_GID_PROPRIETARY 0xf | 171 | #define NCI_GID_PROPRIETARY 0xf |
| 172 | 172 | ||
| 173 | /* ---- NCI Packet structures ---- */ | 173 | /* ---- NCI Packet structures ---- */ |
| 174 | #define NCI_CTRL_HDR_SIZE 3 | 174 | #define NCI_CTRL_HDR_SIZE 3 |
diff --git a/include/net/regulatory.h b/include/net/regulatory.h index eb7d3c2d4274..a5f79933e211 100644 --- a/include/net/regulatory.h +++ b/include/net/regulatory.h | |||
| @@ -48,6 +48,10 @@ enum environment_cap { | |||
| 48 | * 99 - built by driver but a specific alpha2 cannot be determined | 48 | * 99 - built by driver but a specific alpha2 cannot be determined |
| 49 | * 98 - result of an intersection between two regulatory domains | 49 | * 98 - result of an intersection between two regulatory domains |
| 50 | * 97 - regulatory domain has not yet been configured | 50 | * 97 - regulatory domain has not yet been configured |
| 51 | * @dfs_region: If CRDA responded with a regulatory domain that requires | ||
| 52 | * DFS master operation on a known DFS region (NL80211_DFS_*), | ||
| 53 | * dfs_region represents that region. Drivers can use this and the | ||
| 54 | * @alpha2 to adjust their device's DFS parameters as required. | ||
| 51 | * @intersect: indicates whether the wireless core should intersect | 55 | * @intersect: indicates whether the wireless core should intersect |
| 52 | * the requested regulatory domain with the presently set regulatory | 56 | * the requested regulatory domain with the presently set regulatory |
| 53 | * domain. | 57 | * domain. |
| @@ -67,6 +71,7 @@ struct regulatory_request { | |||
| 67 | int wiphy_idx; | 71 | int wiphy_idx; |
| 68 | enum nl80211_reg_initiator initiator; | 72 | enum nl80211_reg_initiator initiator; |
| 69 | char alpha2[2]; | 73 | char alpha2[2]; |
| 74 | u8 dfs_region; | ||
| 70 | bool intersect; | 75 | bool intersect; |
| 71 | bool processed; | 76 | bool processed; |
| 72 | enum environment_cap country_ie_env; | 77 | enum environment_cap country_ie_env; |
| @@ -93,6 +98,7 @@ struct ieee80211_reg_rule { | |||
| 93 | struct ieee80211_regdomain { | 98 | struct ieee80211_regdomain { |
| 94 | u32 n_reg_rules; | 99 | u32 n_reg_rules; |
| 95 | char alpha2[2]; | 100 | char alpha2[2]; |
| 101 | u8 dfs_region; | ||
| 96 | struct ieee80211_reg_rule reg_rules[]; | 102 | struct ieee80211_reg_rule reg_rules[]; |
| 97 | }; | 103 | }; |
| 98 | 104 | ||
