1 /***************************************************************************** 2 3 (c) Cambridge Silicon Radio Limited 2012 4 All rights reserved and confidential information of CSR 5 6 Refer to LICENSE.txt included with this source for details 7 on the license terms. 8 9 *****************************************************************************/ 10 11 /* Note: this is an auto-generated file. */ 12 13 #ifndef CSR_WIFI_SME_PRIM_H__ 14 #define CSR_WIFI_SME_PRIM_H__ 15 16 #include <linux/types.h> 17 #include "csr_prim_defs.h" 18 #include "csr_sched.h" 19 #include "csr_wifi_common.h" 20 #include "csr_result.h" 21 #include "csr_wifi_fsm_event.h" 22 23 #define CSR_WIFI_SME_PRIM (0x0404) 24 25 typedef CsrPrim CsrWifiSmePrim; 26 27 28 /******************************************************************************* 29 30 NAME 31 CsrWifiSme80211NetworkType 32 33 DESCRIPTION 34 Indicates the physical layer of the network 35 36 VALUES 37 CSR_WIFI_SME_80211_NETWORK_TYPE_DS 38 - Direct-sequence spread spectrum 39 CSR_WIFI_SME_80211_NETWORK_TYPE_OFDM24 40 - Orthogonal Frequency Division Multiplexing at 2.4 GHz 41 CSR_WIFI_SME_80211_NETWORK_TYPE_OFDM5 42 - Orthogonal Frequency Division Multiplexing at 5 GHz 43 CSR_WIFI_SME_80211_NETWORK_TYPE_AUTO 44 - Automatic 45 46 *******************************************************************************/ 47 typedef u8 CsrWifiSme80211NetworkType; 48 #define CSR_WIFI_SME_80211_NETWORK_TYPE_DS ((CsrWifiSme80211NetworkType) 0x00) 49 #define CSR_WIFI_SME_80211_NETWORK_TYPE_OFDM24 ((CsrWifiSme80211NetworkType) 0x01) 50 #define CSR_WIFI_SME_80211_NETWORK_TYPE_OFDM5 ((CsrWifiSme80211NetworkType) 0x02) 51 #define CSR_WIFI_SME_80211_NETWORK_TYPE_AUTO ((CsrWifiSme80211NetworkType) 0x03) 52 53 /******************************************************************************* 54 55 NAME 56 CsrWifiSme80211PrivacyMode 57 58 DESCRIPTION 59 Bits to enable or disable the privacy mode 60 61 VALUES 62 CSR_WIFI_SME_80211_PRIVACY_MODE_DISABLED 63 - Privacy mode is enabled: use of WEP for confidentiality is 64 required. 65 CSR_WIFI_SME_80211_PRIVACY_MODE_ENABLED 66 - Privacy mode is disabled 67 68 *******************************************************************************/ 69 typedef u8 CsrWifiSme80211PrivacyMode; 70 #define CSR_WIFI_SME_80211_PRIVACY_MODE_DISABLED ((CsrWifiSme80211PrivacyMode) 0x00) 71 #define CSR_WIFI_SME_80211_PRIVACY_MODE_ENABLED ((CsrWifiSme80211PrivacyMode) 0x01) 72 73 /******************************************************************************* 74 75 NAME 76 CsrWifiSme80211dTrustLevel 77 78 DESCRIPTION 79 Level of trust for the information coming from the network 80 81 VALUES 82 CSR_WIFI_SME_80211D_TRUST_LEVEL_STRICT 83 - Start with passive scanning and only accept country IE for 84 updating channel lists 85 CSR_WIFI_SME_80211D_TRUST_LEVEL_ADJUNCT 86 - As above plus accept adjunct technology location 87 information 88 CSR_WIFI_SME_80211D_TRUST_LEVEL_BSS 89 - As above accept plus receiving channel from infrastructure 90 networks 91 CSR_WIFI_SME_80211D_TRUST_LEVEL_IBSS 92 - As above accept plus receiving channel from the ad hoc 93 networks 94 CSR_WIFI_SME_80211D_TRUST_LEVEL_MIB 95 - Start with active scanning with list of active channels 96 from the MIB and accept as above 97 CSR_WIFI_SME_80211D_TRUST_LEVEL_DISABLED 98 - Start with active scanning with list of active channels 99 from the MIB and ignore any channel information from the 100 network 101 102 *******************************************************************************/ 103 typedef u8 CsrWifiSme80211dTrustLevel; 104 #define CSR_WIFI_SME_80211D_TRUST_LEVEL_STRICT ((CsrWifiSme80211dTrustLevel) 0x01) 105 #define CSR_WIFI_SME_80211D_TRUST_LEVEL_ADJUNCT ((CsrWifiSme80211dTrustLevel) 0x02) 106 #define CSR_WIFI_SME_80211D_TRUST_LEVEL_BSS ((CsrWifiSme80211dTrustLevel) 0x03) 107 #define CSR_WIFI_SME_80211D_TRUST_LEVEL_IBSS ((CsrWifiSme80211dTrustLevel) 0x04) 108 #define CSR_WIFI_SME_80211D_TRUST_LEVEL_MIB ((CsrWifiSme80211dTrustLevel) 0x05) 109 #define CSR_WIFI_SME_80211D_TRUST_LEVEL_DISABLED ((CsrWifiSme80211dTrustLevel) 0x06) 110 111 /******************************************************************************* 112 113 NAME 114 CsrWifiSmeAmpStatus 115 116 DESCRIPTION 117 AMP Current Status 118 119 VALUES 120 CSR_WIFI_SME_AMP_ACTIVE - AMP ACTIVE. 121 CSR_WIFI_SME_AMP_INACTIVE - AMP INACTIVE 122 123 *******************************************************************************/ 124 typedef u8 CsrWifiSmeAmpStatus; 125 #define CSR_WIFI_SME_AMP_ACTIVE ((CsrWifiSmeAmpStatus) 0x00) 126 #define CSR_WIFI_SME_AMP_INACTIVE ((CsrWifiSmeAmpStatus) 0x01) 127 128 /******************************************************************************* 129 130 NAME 131 CsrWifiSmeAuthMode 132 133 DESCRIPTION 134 Define bits for CsrWifiSmeAuthMode 135 136 VALUES 137 CSR_WIFI_SME_AUTH_MODE_80211_OPEN 138 - Connects to an open system network (i.e. no authentication, 139 no encryption) or to a WEP enabled network. 140 CSR_WIFI_SME_AUTH_MODE_80211_SHARED 141 - Connect to a WEP enabled network. 142 CSR_WIFI_SME_AUTH_MODE_8021X_WPA 143 - Connects to a WPA Enterprise enabled network. 144 CSR_WIFI_SME_AUTH_MODE_8021X_WPAPSK 145 - Connects to a WPA with Pre-Shared Key enabled network. 146 CSR_WIFI_SME_AUTH_MODE_8021X_WPA2 147 - Connects to a WPA2 Enterprise enabled network. 148 CSR_WIFI_SME_AUTH_MODE_8021X_WPA2PSK 149 - Connects to a WPA2 with Pre-Shared Key enabled network. 150 CSR_WIFI_SME_AUTH_MODE_8021X_CCKM 151 - Connects to a CCKM enabled network. 152 CSR_WIFI_SME_AUTH_MODE_WAPI_WAI 153 - Connects to a WAPI Enterprise enabled network. 154 CSR_WIFI_SME_AUTH_MODE_WAPI_WAIPSK 155 - Connects to a WAPI with Pre-Shared Key enabled network. 156 CSR_WIFI_SME_AUTH_MODE_8021X_OTHER1X 157 - For future use. 158 159 *******************************************************************************/ 160 typedef u16 CsrWifiSmeAuthMode; 161 #define CSR_WIFI_SME_AUTH_MODE_80211_OPEN ((CsrWifiSmeAuthMode) 0x0001) 162 #define CSR_WIFI_SME_AUTH_MODE_80211_SHARED ((CsrWifiSmeAuthMode) 0x0002) 163 #define CSR_WIFI_SME_AUTH_MODE_8021X_WPA ((CsrWifiSmeAuthMode) 0x0004) 164 #define CSR_WIFI_SME_AUTH_MODE_8021X_WPAPSK ((CsrWifiSmeAuthMode) 0x0008) 165 #define CSR_WIFI_SME_AUTH_MODE_8021X_WPA2 ((CsrWifiSmeAuthMode) 0x0010) 166 #define CSR_WIFI_SME_AUTH_MODE_8021X_WPA2PSK ((CsrWifiSmeAuthMode) 0x0020) 167 #define CSR_WIFI_SME_AUTH_MODE_8021X_CCKM ((CsrWifiSmeAuthMode) 0x0040) 168 #define CSR_WIFI_SME_AUTH_MODE_WAPI_WAI ((CsrWifiSmeAuthMode) 0x0080) 169 #define CSR_WIFI_SME_AUTH_MODE_WAPI_WAIPSK ((CsrWifiSmeAuthMode) 0x0100) 170 #define CSR_WIFI_SME_AUTH_MODE_8021X_OTHER1X ((CsrWifiSmeAuthMode) 0x0200) 171 172 /******************************************************************************* 173 174 NAME 175 CsrWifiSmeBasicUsability 176 177 DESCRIPTION 178 Indicates the usability level of a channel 179 180 VALUES 181 CSR_WIFI_SME_BASIC_USABILITY_UNUSABLE 182 - Not usable; connection not recommended 183 CSR_WIFI_SME_BASIC_USABILITY_POOR 184 - Poor quality; connect only if nothing better is available 185 CSR_WIFI_SME_BASIC_USABILITY_SATISFACTORY 186 - Quality is satisfactory 187 CSR_WIFI_SME_BASIC_USABILITY_NOT_CONNECTED 188 - Not connected 189 190 *******************************************************************************/ 191 typedef u8 CsrWifiSmeBasicUsability; 192 #define CSR_WIFI_SME_BASIC_USABILITY_UNUSABLE ((CsrWifiSmeBasicUsability) 0x00) 193 #define CSR_WIFI_SME_BASIC_USABILITY_POOR ((CsrWifiSmeBasicUsability) 0x01) 194 #define CSR_WIFI_SME_BASIC_USABILITY_SATISFACTORY ((CsrWifiSmeBasicUsability) 0x02) 195 #define CSR_WIFI_SME_BASIC_USABILITY_NOT_CONNECTED ((CsrWifiSmeBasicUsability) 0x03) 196 197 /******************************************************************************* 198 199 NAME 200 CsrWifiSmeBssType 201 202 DESCRIPTION 203 Indicates the BSS type 204 205 VALUES 206 CSR_WIFI_SME_BSS_TYPE_INFRASTRUCTURE 207 - Infrastructure BSS. 208 CSR_WIFI_SME_BSS_TYPE_ADHOC 209 - Ad hoc or Independent BSS. 210 CSR_WIFI_SME_BSS_TYPE_ANY_BSS 211 - Specifies any type of BSS 212 CSR_WIFI_SME_BSS_TYPE_P2P 213 - Specifies P2P 214 215 *******************************************************************************/ 216 typedef u8 CsrWifiSmeBssType; 217 #define CSR_WIFI_SME_BSS_TYPE_INFRASTRUCTURE ((CsrWifiSmeBssType) 0x00) 218 #define CSR_WIFI_SME_BSS_TYPE_ADHOC ((CsrWifiSmeBssType) 0x01) 219 #define CSR_WIFI_SME_BSS_TYPE_ANY_BSS ((CsrWifiSmeBssType) 0x02) 220 #define CSR_WIFI_SME_BSS_TYPE_P2P ((CsrWifiSmeBssType) 0x03) 221 222 /******************************************************************************* 223 224 NAME 225 CsrWifiSmeCoexScheme 226 227 DESCRIPTION 228 Options for the coexistence signalling 229 Same as MibValues 230 231 VALUES 232 CSR_WIFI_SME_COEX_SCHEME_DISABLED 233 - The coexistence signalling is disabled 234 CSR_WIFI_SME_COEX_SCHEME_CSR 235 - Basic CSR coexistence signalling 236 CSR_WIFI_SME_COEX_SCHEME_CSR_CHANNEL 237 - Full CSR coexistence signalling 238 CSR_WIFI_SME_COEX_SCHEME_PTA 239 - Packet Traffic Arbitrator coexistence signalling 240 241 *******************************************************************************/ 242 typedef u8 CsrWifiSmeCoexScheme; 243 #define CSR_WIFI_SME_COEX_SCHEME_DISABLED ((CsrWifiSmeCoexScheme) 0x00) 244 #define CSR_WIFI_SME_COEX_SCHEME_CSR ((CsrWifiSmeCoexScheme) 0x01) 245 #define CSR_WIFI_SME_COEX_SCHEME_CSR_CHANNEL ((CsrWifiSmeCoexScheme) 0x02) 246 #define CSR_WIFI_SME_COEX_SCHEME_PTA ((CsrWifiSmeCoexScheme) 0x03) 247 248 /******************************************************************************* 249 250 NAME 251 CsrWifiSmeControlIndication 252 253 DESCRIPTION 254 Indicates the reason why the Wi-Fi has been switched off. 255 The values of this type are used across the NME/SME/Router API's and they 256 must be kept consistent with the corresponding types in the .xml of the 257 ottherinterfaces 258 259 VALUES 260 CSR_WIFI_SME_CONTROL_INDICATION_ERROR 261 - An unrecoverable error (for example, an unrecoverable SDIO 262 error) has occurred. 263 The wireless manager application should reinitialise the 264 chip by calling CSR_WIFI_SME_WIFI_ON_REQ. 265 CSR_WIFI_SME_CONTROL_INDICATION_EXIT 266 - The chip became unavailable due to an external action, for 267 example, when a plug-in card is ejected or the driver is 268 unloaded. 269 CSR_WIFI_SME_CONTROL_INDICATION_USER_REQUESTED 270 - The Wi-Fi has been switched off as the wireless manager 271 application has sent CSR_WIFI_SME_WIFI_OFF_REQ 272 273 *******************************************************************************/ 274 typedef u8 CsrWifiSmeControlIndication; 275 #define CSR_WIFI_SME_CONTROL_INDICATION_ERROR ((CsrWifiSmeControlIndication) 0x01) 276 #define CSR_WIFI_SME_CONTROL_INDICATION_EXIT ((CsrWifiSmeControlIndication) 0x02) 277 #define CSR_WIFI_SME_CONTROL_INDICATION_USER_REQUESTED ((CsrWifiSmeControlIndication) 0x03) 278 279 /******************************************************************************* 280 281 NAME 282 CsrWifiSmeCtsProtectionType 283 284 DESCRIPTION 285 SME CTS Protection Types 286 287 VALUES 288 CSR_WIFI_SME_CTS_PROTECTION_AUTOMATIC 289 - AP CTS Protection automatic based on non-ERP station in own 290 BSS or neighbouring BSS on the same channel based on OLBC. 291 This requires monitoring of beacons from other APs. 292 CSR_WIFI_SME_CTS_PROTECTION_FORCE_ENABLED 293 - AP CTS Protection Force enabled 294 CSR_WIFI_SME_CTS_PROTECTION_FORCE_DISABLED 295 - AP CTS Protection Force disabled. 296 CSR_WIFI_SME_CTS_PROTECTION_AUTOMATIC_NO_OLBC 297 - AP CTS Protection automatic without considering OLBC but 298 considering non-ERP station in the own BSS Valid only if AP 299 is configured to work in 802.11bg or 802.11g mode otherwise 300 this option specifies the same behaviour as AUTOMATIC 301 302 *******************************************************************************/ 303 typedef u8 CsrWifiSmeCtsProtectionType; 304 #define CSR_WIFI_SME_CTS_PROTECTION_AUTOMATIC ((CsrWifiSmeCtsProtectionType) 0x00) 305 #define CSR_WIFI_SME_CTS_PROTECTION_FORCE_ENABLED ((CsrWifiSmeCtsProtectionType) 0x01) 306 #define CSR_WIFI_SME_CTS_PROTECTION_FORCE_DISABLED ((CsrWifiSmeCtsProtectionType) 0x02) 307 #define CSR_WIFI_SME_CTS_PROTECTION_AUTOMATIC_NO_OLBC ((CsrWifiSmeCtsProtectionType) 0x03) 308 309 /******************************************************************************* 310 311 NAME 312 CsrWifiSmeD3AutoScanMode 313 314 DESCRIPTION 315 Autonomous scan status while in D3 suspended period 316 317 VALUES 318 CSR_WIFI_SME_D3AUTO_SCAN_MODE_PSON 319 - Autonomous scan stays on 320 CSR_WIFI_SME_D3AUTO_SCAN_MODE_PSOFF 321 - Autonomous scan is switched off 322 CSR_WIFI_SME_D3AUTO_SCAN_MODE_PSAUTO 323 - Automatically select autoscanning behaviour. 324 CURRENTLY NOT SUPPORTED 325 326 *******************************************************************************/ 327 typedef u8 CsrWifiSmeD3AutoScanMode; 328 #define CSR_WIFI_SME_D3AUTO_SCAN_MODE_PSON ((CsrWifiSmeD3AutoScanMode) 0x00) 329 #define CSR_WIFI_SME_D3AUTO_SCAN_MODE_PSOFF ((CsrWifiSmeD3AutoScanMode) 0x01) 330 #define CSR_WIFI_SME_D3AUTO_SCAN_MODE_PSAUTO ((CsrWifiSmeD3AutoScanMode) 0x02) 331 332 /******************************************************************************* 333 334 NAME 335 CsrWifiSmeEncryption 336 337 DESCRIPTION 338 Defines bits for CsrWifiSmeEncryption 339 For a WEP enabled network, the caller must specify the correct 340 combination of flags in the encryptionModeMask. 341 342 VALUES 343 CSR_WIFI_SME_ENCRYPTION_CIPHER_NONE 344 - No encryption set 345 CSR_WIFI_SME_ENCRYPTION_CIPHER_PAIRWISE_WEP40 346 - Selects 40 byte key WEP for unicast communication 347 CSR_WIFI_SME_ENCRYPTION_CIPHER_PAIRWISE_WEP104 348 - Selects 104 byte key WEP for unicast communication 349 CSR_WIFI_SME_ENCRYPTION_CIPHER_PAIRWISE_TKIP 350 - Selects TKIP for unicast communication 351 CSR_WIFI_SME_ENCRYPTION_CIPHER_PAIRWISE_CCMP 352 - Selects CCMP for unicast communication 353 CSR_WIFI_SME_ENCRYPTION_CIPHER_PAIRWISE_SMS4 354 - Selects SMS4 for unicast communication 355 CSR_WIFI_SME_ENCRYPTION_CIPHER_GROUP_WEP40 356 - Selects 40 byte key WEP for broadcast messages 357 CSR_WIFI_SME_ENCRYPTION_CIPHER_GROUP_WEP104 358 - Selects 104 byte key WEP for broadcast messages 359 CSR_WIFI_SME_ENCRYPTION_CIPHER_GROUP_TKIP 360 - Selects a TKIP for broadcast messages 361 CSR_WIFI_SME_ENCRYPTION_CIPHER_GROUP_CCMP 362 - Selects CCMP for broadcast messages 363 CSR_WIFI_SME_ENCRYPTION_CIPHER_GROUP_SMS4 364 - Selects SMS4 for broadcast messages 365 366 *******************************************************************************/ 367 typedef u16 CsrWifiSmeEncryption; 368 #define CSR_WIFI_SME_ENCRYPTION_CIPHER_NONE ((CsrWifiSmeEncryption) 0x0000) 369 #define CSR_WIFI_SME_ENCRYPTION_CIPHER_PAIRWISE_WEP40 ((CsrWifiSmeEncryption) 0x0001) 370 #define CSR_WIFI_SME_ENCRYPTION_CIPHER_PAIRWISE_WEP104 ((CsrWifiSmeEncryption) 0x0002) 371 #define CSR_WIFI_SME_ENCRYPTION_CIPHER_PAIRWISE_TKIP ((CsrWifiSmeEncryption) 0x0004) 372 #define CSR_WIFI_SME_ENCRYPTION_CIPHER_PAIRWISE_CCMP ((CsrWifiSmeEncryption) 0x0008) 373 #define CSR_WIFI_SME_ENCRYPTION_CIPHER_PAIRWISE_SMS4 ((CsrWifiSmeEncryption) 0x0010) 374 #define CSR_WIFI_SME_ENCRYPTION_CIPHER_GROUP_WEP40 ((CsrWifiSmeEncryption) 0x0020) 375 #define CSR_WIFI_SME_ENCRYPTION_CIPHER_GROUP_WEP104 ((CsrWifiSmeEncryption) 0x0040) 376 #define CSR_WIFI_SME_ENCRYPTION_CIPHER_GROUP_TKIP ((CsrWifiSmeEncryption) 0x0080) 377 #define CSR_WIFI_SME_ENCRYPTION_CIPHER_GROUP_CCMP ((CsrWifiSmeEncryption) 0x0100) 378 #define CSR_WIFI_SME_ENCRYPTION_CIPHER_GROUP_SMS4 ((CsrWifiSmeEncryption) 0x0200) 379 380 /******************************************************************************* 381 382 NAME 383 CsrWifiSmeFirmwareDriverInterface 384 385 DESCRIPTION 386 Type of communication between Host and Firmware 387 388 VALUES 389 CSR_WIFI_SME_FIRMWARE_DRIVER_INTERFACE_UNIT_DATA_INTERFACE 390 - No preformated header. NOT SUPPORTED in the current release 391 CSR_WIFI_SME_FIRMWARE_DRIVER_INTERFACE_PACKET_INTERFACE 392 - Preformated IEEE 802.11 header for user plane 393 394 *******************************************************************************/ 395 typedef u8 CsrWifiSmeFirmwareDriverInterface; 396 #define CSR_WIFI_SME_FIRMWARE_DRIVER_INTERFACE_UNIT_DATA_INTERFACE ((CsrWifiSmeFirmwareDriverInterface) 0x00) 397 #define CSR_WIFI_SME_FIRMWARE_DRIVER_INTERFACE_PACKET_INTERFACE ((CsrWifiSmeFirmwareDriverInterface) 0x01) 398 399 /******************************************************************************* 400 401 NAME 402 CsrWifiSmeHostPowerMode 403 404 DESCRIPTION 405 Defines the power mode 406 407 VALUES 408 CSR_WIFI_SME_HOST_POWER_MODE_ACTIVE 409 - Host device is running on external power. 410 CSR_WIFI_SME_HOST_POWER_MODE_POWER_SAVE 411 - Host device is running on (internal) battery power. 412 CSR_WIFI_SME_HOST_POWER_MODE_FULL_POWER_SAVE 413 - For future use. 414 415 *******************************************************************************/ 416 typedef u8 CsrWifiSmeHostPowerMode; 417 #define CSR_WIFI_SME_HOST_POWER_MODE_ACTIVE ((CsrWifiSmeHostPowerMode) 0x00) 418 #define CSR_WIFI_SME_HOST_POWER_MODE_POWER_SAVE ((CsrWifiSmeHostPowerMode) 0x01) 419 #define CSR_WIFI_SME_HOST_POWER_MODE_FULL_POWER_SAVE ((CsrWifiSmeHostPowerMode) 0x02) 420 421 /******************************************************************************* 422 423 NAME 424 CsrWifiSmeIEEE80211Reason 425 426 DESCRIPTION 427 As definined in the IEEE 802.11 standards 428 429 VALUES 430 CSR_WIFI_SME_IEEE80211_REASON_SUCCESS 431 - See IEEE 802.11 Standard 432 CSR_WIFI_SME_IEEE80211_REASON_UNSPECIFIED_REASON 433 - See IEEE 802.11 Standard 434 CSR_WIFI_SME_IEEE80211_REASON_AUTHENTICATION_NOT_VALID 435 - See IEEE 802.11 Standard 436 CSR_WIFI_SME_IEEE80211_REASON_DEAUTHENTICATED_LEAVE_BSS 437 - See IEEE 802.11 Standard 438 CSR_WIFI_SME_IEEE80211_REASON_DISASSOCIATED_INACTIVITY 439 - See IEEE 802.11 Standard 440 CSR_WIFI_SME_IEEE80211_REASON_AP_OVERLOAD 441 - See IEEE 802.11 Standard 442 CSR_WIFI_SME_IEEE80211_REASON_CLASS_2FRAME_ERROR 443 - See IEEE 802.11 Standard 444 CSR_WIFI_SME_IEEE80211_REASON_CLASS_3FRAME_ERROR 445 - See IEEE 802.11 Standard 446 CSR_WIFI_SME_IEEE80211_REASON_DISASSOCIATED_LEAVE_BSS 447 - See IEEE 802.11 Standard 448 CSR_WIFI_SME_IEEE80211_REASON_ASSOCIATION_NOT_AUTHENTICATED 449 - See IEEE 802.11 Standard 450 CSR_WIFI_SME_IEEE80211_REASON_DISASSOCIATED_POWER_CAPABILITY 451 - See IEEE 802.11 Standard 452 CSR_WIFI_SME_IEEE80211_REASON_DISASSOCIATED_SUPPORTED_CHANNELS 453 - See IEEE 802.11 Standard 454 CSR_WIFI_SME_IEEE80211_REASON_INVALID_INFORMATION_ELEMENT 455 - See IEEE 802.11 Standard 456 CSR_WIFI_SME_IEEE80211_REASON_MICHAEL_MIC_FAILURE 457 - See IEEE 802.11 Standard 458 CSR_WIFI_SME_IEEE80211_REASON_FOURWAY_HANDSHAKE_TIMEOUT 459 - See IEEE 802.11 Standard 460 CSR_WIFI_SME_IEEE80211_REASON_GROUP_KEY_UPDATE_TIMEOUT 461 - See IEEE 802.11 Standard 462 CSR_WIFI_SME_IEEE80211_REASON_HANDSHAKE_ELEMENT_DIFFERENT 463 - See IEEE 802.11 Standard 464 CSR_WIFI_SME_IEEE80211_REASON_INVALID_GROUP_CIPHER 465 - See IEEE 802.11 Standard 466 CSR_WIFI_SME_IEEE80211_REASON_INVALID_PAIRWISE_CIPHER 467 - See IEEE 802.11 Standard 468 CSR_WIFI_SME_IEEE80211_REASON_INVALID_AKMP 469 - See IEEE 802.11 Standard 470 CSR_WIFI_SME_IEEE80211_REASON_UNSUPPORTED_RSN_IEVERSION 471 - See IEEE 802.11 Standard 472 CSR_WIFI_SME_IEEE80211_REASON_INVALID_RSN_IECAPABILITIES 473 - See IEEE 802.11 Standard 474 CSR_WIFI_SME_IEEE80211_REASON_DOT1X_AUTH_FAILED 475 - See IEEE 802.11 Standard 476 CSR_WIFI_SME_IEEE80211_REASON_CIPHER_REJECTED_BY_POLICY 477 - See IEEE 802.11 Standard 478 CSR_WIFI_SME_IEEE80211_REASON_SERVICE_CHANGE_PRECLUDES_TS 479 - See IEEE 802.11 Standard 480 CSR_WIFI_SME_IEEE80211_REASON_QOS_UNSPECIFIED_REASON 481 - See IEEE 802.11 Standard 482 CSR_WIFI_SME_IEEE80211_REASON_QOS_INSUFFICIENT_BANDWIDTH 483 - See IEEE 802.11 Standard 484 CSR_WIFI_SME_IEEE80211_REASON_QOS_EXCESSIVE_NOT_ACK 485 - See IEEE 802.11 Standard 486 CSR_WIFI_SME_IEEE80211_REASON_QOS_TXOPLIMIT_EXCEEDED 487 - See IEEE 802.11 Standard 488 CSR_WIFI_SME_IEEE80211_REASON_QSTA_LEAVING 489 - See IEEE 802.11 Standard 490 CSR_WIFI_SME_IEEE80211_REASON_END_TS 491 - See IEEE 802.11 Standard 492 CSR_WIFI_SME_IEEE80211_REASON_END_DLS 493 - See IEEE 802.11 Standard 494 CSR_WIFI_SME_IEEE80211_REASON_END_BA 495 - See IEEE 802.11 Standard 496 CSR_WIFI_SME_IEEE80211_REASON_UNKNOWN_TS 497 - See IEEE 802.11 Standard 498 CSR_WIFI_SME_IEEE80211_REASON_UNKNOWN_BA 499 - See IEEE 802.11 Standard 500 CSR_WIFI_SME_IEEE80211_REASON_UNKNOWN_DLS 501 - See IEEE 802.11 Standard 502 CSR_WIFI_SME_IEEE80211_REASON_TIMEOUT 503 - See IEEE 802.11 Standard 504 CSR_WIFI_SME_IEEE80211_REASON_STAKEY_MISMATCH 505 - See IEEE 802.11 Standard 506 CSR_WIFI_SME_IEEE80211_REASON_UNICAST_KEY_NEGOTIATION_TIMEOUT 507 - See IEEE 802.11 Standard 508 CSR_WIFI_SME_IEEE80211_REASON_MULTICAST_KEY_ANNOUNCEMENT_TIMEOUT 509 - See IEEE 802.11 Standard 510 CSR_WIFI_SME_IEEE80211_REASON_INCOMPATIBLE_UNICAST_KEY_NEGOTIATION_IE 511 - See IEEE 802.11 Standard 512 CSR_WIFI_SME_IEEE80211_REASON_INVALID_MULTICAST_CIPHER 513 - See IEEE 802.11 Standard 514 CSR_WIFI_SME_IEEE80211_REASON_INVALID_UNICAST_CIPHER 515 - See IEEE 802.11 Standard 516 CSR_WIFI_SME_IEEE80211_REASON_UNSUPPORTED_WAPI_IE_VERSION 517 - See IEEE 802.11 Standard 518 CSR_WIFI_SME_IEEE80211_REASON_INVALID_WAPI_CAPABILITY_IE 519 - See IEEE 802.11 Standard 520 CSR_WIFI_SME_IEEE80211_REASON_WAI_CERTIFICATE_AUTHENTICATION_FAILED 521 - See IEEE 802.11 Standard 522 523 *******************************************************************************/ 524 typedef u16 CsrWifiSmeIEEE80211Reason; 525 #define CSR_WIFI_SME_IEEE80211_REASON_SUCCESS ((CsrWifiSmeIEEE80211Reason) 0x0000) 526 #define CSR_WIFI_SME_IEEE80211_REASON_UNSPECIFIED_REASON ((CsrWifiSmeIEEE80211Reason) 0x0001) 527 #define CSR_WIFI_SME_IEEE80211_REASON_AUTHENTICATION_NOT_VALID ((CsrWifiSmeIEEE80211Reason) 0x0002) 528 #define CSR_WIFI_SME_IEEE80211_REASON_DEAUTHENTICATED_LEAVE_BSS ((CsrWifiSmeIEEE80211Reason) 0x0003) 529 #define CSR_WIFI_SME_IEEE80211_REASON_DISASSOCIATED_INACTIVITY ((CsrWifiSmeIEEE80211Reason) 0x0004) 530 #define CSR_WIFI_SME_IEEE80211_REASON_AP_OVERLOAD ((CsrWifiSmeIEEE80211Reason) 0x0005) 531 #define CSR_WIFI_SME_IEEE80211_REASON_CLASS_2FRAME_ERROR ((CsrWifiSmeIEEE80211Reason) 0x0006) 532 #define CSR_WIFI_SME_IEEE80211_REASON_CLASS_3FRAME_ERROR ((CsrWifiSmeIEEE80211Reason) 0x0007) 533 #define CSR_WIFI_SME_IEEE80211_REASON_DISASSOCIATED_LEAVE_BSS ((CsrWifiSmeIEEE80211Reason) 0x0008) 534 #define CSR_WIFI_SME_IEEE80211_REASON_ASSOCIATION_NOT_AUTHENTICATED ((CsrWifiSmeIEEE80211Reason) 0x0009) 535 #define CSR_WIFI_SME_IEEE80211_REASON_DISASSOCIATED_POWER_CAPABILITY ((CsrWifiSmeIEEE80211Reason) 0x000a) 536 #define CSR_WIFI_SME_IEEE80211_REASON_DISASSOCIATED_SUPPORTED_CHANNELS ((CsrWifiSmeIEEE80211Reason) 0x000b) 537 #define CSR_WIFI_SME_IEEE80211_REASON_INVALID_INFORMATION_ELEMENT ((CsrWifiSmeIEEE80211Reason) 0x000d) 538 #define CSR_WIFI_SME_IEEE80211_REASON_MICHAEL_MIC_FAILURE ((CsrWifiSmeIEEE80211Reason) 0x000e) 539 #define CSR_WIFI_SME_IEEE80211_REASON_FOURWAY_HANDSHAKE_TIMEOUT ((CsrWifiSmeIEEE80211Reason) 0x000f) 540 #define CSR_WIFI_SME_IEEE80211_REASON_GROUP_KEY_UPDATE_TIMEOUT ((CsrWifiSmeIEEE80211Reason) 0x0010) 541 #define CSR_WIFI_SME_IEEE80211_REASON_HANDSHAKE_ELEMENT_DIFFERENT ((CsrWifiSmeIEEE80211Reason) 0x0011) 542 #define CSR_WIFI_SME_IEEE80211_REASON_INVALID_GROUP_CIPHER ((CsrWifiSmeIEEE80211Reason) 0x0012) 543 #define CSR_WIFI_SME_IEEE80211_REASON_INVALID_PAIRWISE_CIPHER ((CsrWifiSmeIEEE80211Reason) 0x0013) 544 #define CSR_WIFI_SME_IEEE80211_REASON_INVALID_AKMP ((CsrWifiSmeIEEE80211Reason) 0x0014) 545 #define CSR_WIFI_SME_IEEE80211_REASON_UNSUPPORTED_RSN_IEVERSION ((CsrWifiSmeIEEE80211Reason) 0x0015) 546 #define CSR_WIFI_SME_IEEE80211_REASON_INVALID_RSN_IECAPABILITIES ((CsrWifiSmeIEEE80211Reason) 0x0016) 547 #define CSR_WIFI_SME_IEEE80211_REASON_DOT1X_AUTH_FAILED ((CsrWifiSmeIEEE80211Reason) 0x0017) 548 #define CSR_WIFI_SME_IEEE80211_REASON_CIPHER_REJECTED_BY_POLICY ((CsrWifiSmeIEEE80211Reason) 0x0018) 549 #define CSR_WIFI_SME_IEEE80211_REASON_SERVICE_CHANGE_PRECLUDES_TS ((CsrWifiSmeIEEE80211Reason) 0x001F) 550 #define CSR_WIFI_SME_IEEE80211_REASON_QOS_UNSPECIFIED_REASON ((CsrWifiSmeIEEE80211Reason) 0x0020) 551 #define CSR_WIFI_SME_IEEE80211_REASON_QOS_INSUFFICIENT_BANDWIDTH ((CsrWifiSmeIEEE80211Reason) 0x0021) 552 #define CSR_WIFI_SME_IEEE80211_REASON_QOS_EXCESSIVE_NOT_ACK ((CsrWifiSmeIEEE80211Reason) 0x0022) 553 #define CSR_WIFI_SME_IEEE80211_REASON_QOS_TXOPLIMIT_EXCEEDED ((CsrWifiSmeIEEE80211Reason) 0x0023) 554 #define CSR_WIFI_SME_IEEE80211_REASON_QSTA_LEAVING ((CsrWifiSmeIEEE80211Reason) 0x0024) 555 #define CSR_WIFI_SME_IEEE80211_REASON_END_TS ((CsrWifiSmeIEEE80211Reason) 0x0025) 556 #define CSR_WIFI_SME_IEEE80211_REASON_END_DLS ((CsrWifiSmeIEEE80211Reason) 0x0025) 557 #define CSR_WIFI_SME_IEEE80211_REASON_END_BA ((CsrWifiSmeIEEE80211Reason) 0x0025) 558 #define CSR_WIFI_SME_IEEE80211_REASON_UNKNOWN_TS ((CsrWifiSmeIEEE80211Reason) 0x0026) 559 #define CSR_WIFI_SME_IEEE80211_REASON_UNKNOWN_BA ((CsrWifiSmeIEEE80211Reason) 0x0026) 560 #define CSR_WIFI_SME_IEEE80211_REASON_UNKNOWN_DLS ((CsrWifiSmeIEEE80211Reason) 0x0026) 561 #define CSR_WIFI_SME_IEEE80211_REASON_TIMEOUT ((CsrWifiSmeIEEE80211Reason) 0x0027) 562 #define CSR_WIFI_SME_IEEE80211_REASON_STAKEY_MISMATCH ((CsrWifiSmeIEEE80211Reason) 0x002d) 563 #define CSR_WIFI_SME_IEEE80211_REASON_UNICAST_KEY_NEGOTIATION_TIMEOUT ((CsrWifiSmeIEEE80211Reason) 0xf019) 564 #define CSR_WIFI_SME_IEEE80211_REASON_MULTICAST_KEY_ANNOUNCEMENT_TIMEOUT ((CsrWifiSmeIEEE80211Reason) 0xf01a) 565 #define CSR_WIFI_SME_IEEE80211_REASON_INCOMPATIBLE_UNICAST_KEY_NEGOTIATION_IE ((CsrWifiSmeIEEE80211Reason) 0xf01b) 566 #define CSR_WIFI_SME_IEEE80211_REASON_INVALID_MULTICAST_CIPHER ((CsrWifiSmeIEEE80211Reason) 0xf01c) 567 #define CSR_WIFI_SME_IEEE80211_REASON_INVALID_UNICAST_CIPHER ((CsrWifiSmeIEEE80211Reason) 0xf01d) 568 #define CSR_WIFI_SME_IEEE80211_REASON_UNSUPPORTED_WAPI_IE_VERSION ((CsrWifiSmeIEEE80211Reason) 0xf01e) 569 #define CSR_WIFI_SME_IEEE80211_REASON_INVALID_WAPI_CAPABILITY_IE ((CsrWifiSmeIEEE80211Reason) 0xf01f) 570 #define CSR_WIFI_SME_IEEE80211_REASON_WAI_CERTIFICATE_AUTHENTICATION_FAILED ((CsrWifiSmeIEEE80211Reason) 0xf020) 571 572 /******************************************************************************* 573 574 NAME 575 CsrWifiSmeIEEE80211Result 576 577 DESCRIPTION 578 As definined in the IEEE 802.11 standards 579 580 VALUES 581 CSR_WIFI_SME_IEEE80211_RESULT_SUCCESS 582 - See IEEE 802.11 Standard 583 CSR_WIFI_SME_IEEE80211_RESULT_UNSPECIFIED_FAILURE 584 - See IEEE 802.11 Standard 585 CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_CAPABILITIES_MISMATCH 586 - See IEEE 802.11 Standard 587 CSR_WIFI_SME_IEEE80211_RESULT_REASSOCIATION_DENIED_NO_ASSOCIATION 588 - See IEEE 802.11 Standard 589 CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_EXTERNAL_REASON 590 - See IEEE 802.11 Standard 591 CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_AUTHENTICATION_MISMATCH 592 - See IEEE 802.11 Standard 593 CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_INVALID_AUTHENTICATION_SEQUENCE_NUMBER 594 - See IEEE 802.11 Standard 595 CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_CHALLENGE_FAILURE 596 - See IEEE 802.11 Standard 597 CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_AUTHENTICATION_TIMEOUT 598 - See IEEE 802.11 Standard 599 CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_AP_OUT_OF_MEMORY 600 - See IEEE 802.11 Standard 601 CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_BASIC_RATES_MISMATCH 602 - See IEEE 802.11 Standard 603 CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_SHORT_PREAMBLE_REQUIRED 604 - See IEEE 802.11 Standard 605 CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_PBCC_MODULATION_REQUIRED 606 - See IEEE 802.11 Standard 607 CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_CHANNEL_AGILITY_REQUIRED 608 - See IEEE 802.11 Standard 609 CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_SPECTRUM_MANAGEMENT_REQUIRED 610 - See IEEE 802.11 Standard 611 CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_POWER_CAPABILITY_UNACCEPTABLE 612 - See IEEE 802.11 Standard 613 CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_SUPPORTED_CHANNELS_UNACCEPTABLE 614 - See IEEE 802.11 Standard 615 CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_SHORT_SLOT_REQUIRED 616 - See IEEE 802.11 Standard 617 CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_DSSS_OFDMREQUIRED 618 - See IEEE 802.11 Standard 619 CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_NO_HT_SUPPORT 620 - See IEEE 802.11 Standard 621 CSR_WIFI_SME_IEEE80211_RESULT_R0KH_UNREACHABLE 622 - See IEEE 802.11 Standard 623 CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_PCO_TRANSITION_SUPPORT 624 - See IEEE 802.11 Standard 625 CSR_WIFI_SME_IEEE80211_RESULT_ASSOCIATION_REQUEST_REJECTED_TEMPORARILY 626 - See IEEE 802.11 Standard 627 CSR_WIFI_SME_IEEE80211_RESULT_ROBUST_MANAGEMENT_FRAME_POLICY_VIOLATION 628 - See IEEE 802.11 Standard 629 CSR_WIFI_SME_IEEE80211_RESULT_FAILURE 630 - See IEEE 802.11 Standard 631 CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_AP_BANDWIDTH_INSUFFICIENT 632 - See IEEE 802.11 Standard 633 CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_POOR_OPERATING_CHANNEL 634 - See IEEE 802.11 Standard 635 CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_QOS_REQUIRED 636 - See IEEE 802.11 Standard 637 CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_REASON_UNSPECIFIED 638 - See IEEE 802.11 Standard 639 CSR_WIFI_SME_IEEE80211_RESULT_REFUSED 640 - See IEEE 802.11 Standard 641 CSR_WIFI_SME_IEEE80211_RESULT_INVALID_PARAMETERS 642 - See IEEE 802.11 Standard 643 CSR_WIFI_SME_IEEE80211_RESULT_REJECTED_WITH_SUGGESTED_TSPEC_CHANGES 644 - See IEEE 802.11 Standard 645 CSR_WIFI_SME_IEEE80211_RESULT_REJECTED_INVALID_IE 646 - See IEEE 802.11 Standard 647 CSR_WIFI_SME_IEEE80211_RESULT_REJECTED_INVALID_GROUP_CIPHER 648 - See IEEE 802.11 Standard 649 CSR_WIFI_SME_IEEE80211_RESULT_REJECTED_INVALID_PAIRWISE_CIPHER 650 - See IEEE 802.11 Standard 651 CSR_WIFI_SME_IEEE80211_RESULT_REJECTED_INVALID_AKMP 652 - See IEEE 802.11 Standard 653 CSR_WIFI_SME_IEEE80211_RESULT_REJECTED_UNSUPPORTED_RSN_VERSION 654 - See IEEE 802.11 Standard 655 CSR_WIFI_SME_IEEE80211_RESULT_REJECTED_INVALID_RSN_CAPABILITY 656 - See IEEE 802.11 Standard 657 CSR_WIFI_SME_IEEE80211_RESULT_REJECTED_SECURITY_POLICY 658 - See IEEE 802.11 Standard 659 CSR_WIFI_SME_IEEE80211_RESULT_REJECTED_FOR_DELAY_PERIOD 660 - See IEEE 802.11 Standard 661 CSR_WIFI_SME_IEEE80211_RESULT_NOT_ALLOWED 662 - See IEEE 802.11 Standard 663 CSR_WIFI_SME_IEEE80211_RESULT_NOT_PRESENT 664 - See IEEE 802.11 Standard 665 CSR_WIFI_SME_IEEE80211_RESULT_NOT_QSTA 666 - See IEEE 802.11 Standard 667 CSR_WIFI_SME_IEEE80211_RESULT_REJECTED_LISTEN_INTERVAL_TOO_LARGE 668 - See IEEE 802.11 Standard 669 CSR_WIFI_SME_IEEE80211_RESULT_INVALID_FT_ACTION_FRAME_COUNT 670 - See IEEE 802.11 Standard 671 CSR_WIFI_SME_IEEE80211_RESULT_INVALID_PMKID 672 - See IEEE 802.11 Standard 673 CSR_WIFI_SME_IEEE80211_RESULT_INVALID_MDIE 674 - See IEEE 802.11 Standard 675 CSR_WIFI_SME_IEEE80211_RESULT_INVALID_FTIE 676 - See IEEE 802.11 Standard 677 CSR_WIFI_SME_IEEE80211_RESULT_UNSPECIFIED_QOS_FAILURE 678 - See IEEE 802.11 Standard 679 CSR_WIFI_SME_IEEE80211_RESULT_WRONG_POLICY 680 - See IEEE 802.11 Standard 681 CSR_WIFI_SME_IEEE80211_RESULT_INSUFFICIENT_BANDWIDTH 682 - See IEEE 802.11 Standard 683 CSR_WIFI_SME_IEEE80211_RESULT_INVALID_TSPEC_PARAMETERS 684 - See IEEE 802.11 Standard 685 CSR_WIFI_SME_IEEE80211_RESULT_TIMEOUT 686 - See IEEE 802.11 Standard 687 CSR_WIFI_SME_IEEE80211_RESULT_TOO_MANY_SIMULTANEOUS_REQUESTS 688 - See IEEE 802.11 Standard 689 CSR_WIFI_SME_IEEE80211_RESULT_BSS_ALREADY_STARTED_OR_JOINED 690 - See IEEE 802.11 Standard 691 CSR_WIFI_SME_IEEE80211_RESULT_NOT_SUPPORTED 692 - See IEEE 802.11 Standard 693 CSR_WIFI_SME_IEEE80211_RESULT_TRANSMISSION_FAILURE 694 - See IEEE 802.11 Standard 695 CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_NOT_AUTHENTICATED 696 - See IEEE 802.11 Standard 697 CSR_WIFI_SME_IEEE80211_RESULT_RESET_REQUIRED_BEFORE_START 698 - See IEEE 802.11 Standard 699 CSR_WIFI_SME_IEEE80211_RESULT_LM_INFO_UNAVAILABLE 700 - See IEEE 802.11 Standard 701 CSR_WIFI_SME_IEEE80211_RESULT_INVALID_UNICAST_CIPHER 702 - See IEEE 802.11 Standard 703 CSR_WIFI_SME_IEEE80211_RESULT_INVALID_MULTICAST_CIPHER 704 - See IEEE 802.11 Standard 705 CSR_WIFI_SME_IEEE80211_RESULT_UNSUPPORTED_WAPI_IE_VERSION 706 - See IEEE 802.11 Standard 707 CSR_WIFI_SME_IEEE80211_RESULT_INVALID_WAPI_CAPABILITY_IE 708 - See IEEE 802.11 Standard 709 710 *******************************************************************************/ 711 typedef u16 CsrWifiSmeIEEE80211Result; 712 #define CSR_WIFI_SME_IEEE80211_RESULT_SUCCESS ((CsrWifiSmeIEEE80211Result) 0x0000) 713 #define CSR_WIFI_SME_IEEE80211_RESULT_UNSPECIFIED_FAILURE ((CsrWifiSmeIEEE80211Result) 0x0001) 714 #define CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_CAPABILITIES_MISMATCH ((CsrWifiSmeIEEE80211Result) 0x000a) 715 #define CSR_WIFI_SME_IEEE80211_RESULT_REASSOCIATION_DENIED_NO_ASSOCIATION ((CsrWifiSmeIEEE80211Result) 0x000b) 716 #define CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_EXTERNAL_REASON ((CsrWifiSmeIEEE80211Result) 0x000c) 717 #define CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_AUTHENTICATION_MISMATCH ((CsrWifiSmeIEEE80211Result) 0x000d) 718 #define CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_INVALID_AUTHENTICATION_SEQUENCE_NUMBER ((CsrWifiSmeIEEE80211Result) 0x000e) 719 #define CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_CHALLENGE_FAILURE ((CsrWifiSmeIEEE80211Result) 0x000f) 720 #define CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_AUTHENTICATION_TIMEOUT ((CsrWifiSmeIEEE80211Result) 0x0010) 721 #define CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_AP_OUT_OF_MEMORY ((CsrWifiSmeIEEE80211Result) 0x0011) 722 #define CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_BASIC_RATES_MISMATCH ((CsrWifiSmeIEEE80211Result) 0x0012) 723 #define CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_SHORT_PREAMBLE_REQUIRED ((CsrWifiSmeIEEE80211Result) 0x0013) 724 #define CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_PBCC_MODULATION_REQUIRED ((CsrWifiSmeIEEE80211Result) 0x0014) 725 #define CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_CHANNEL_AGILITY_REQUIRED ((CsrWifiSmeIEEE80211Result) 0x0015) 726 #define CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_SPECTRUM_MANAGEMENT_REQUIRED ((CsrWifiSmeIEEE80211Result) 0x0016) 727 #define CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_POWER_CAPABILITY_UNACCEPTABLE ((CsrWifiSmeIEEE80211Result) 0x0017) 728 #define CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_SUPPORTED_CHANNELS_UNACCEPTABLE ((CsrWifiSmeIEEE80211Result) 0x0018) 729 #define CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_SHORT_SLOT_REQUIRED ((CsrWifiSmeIEEE80211Result) 0x0019) 730 #define CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_DSSS_OFDMREQUIRED ((CsrWifiSmeIEEE80211Result) 0x001a) 731 #define CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_NO_HT_SUPPORT ((CsrWifiSmeIEEE80211Result) 0x001b) 732 #define CSR_WIFI_SME_IEEE80211_RESULT_R0KH_UNREACHABLE ((CsrWifiSmeIEEE80211Result) 0x001c) 733 #define CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_PCO_TRANSITION_SUPPORT ((CsrWifiSmeIEEE80211Result) 0x001d) 734 #define CSR_WIFI_SME_IEEE80211_RESULT_ASSOCIATION_REQUEST_REJECTED_TEMPORARILY ((CsrWifiSmeIEEE80211Result) 0x001e) 735 #define CSR_WIFI_SME_IEEE80211_RESULT_ROBUST_MANAGEMENT_FRAME_POLICY_VIOLATION ((CsrWifiSmeIEEE80211Result) 0x001f) 736 #define CSR_WIFI_SME_IEEE80211_RESULT_FAILURE ((CsrWifiSmeIEEE80211Result) 0x0020) 737 #define CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_AP_BANDWIDTH_INSUFFICIENT ((CsrWifiSmeIEEE80211Result) 0x0021) 738 #define CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_POOR_OPERATING_CHANNEL ((CsrWifiSmeIEEE80211Result) 0x0022) 739 #define CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_QOS_REQUIRED ((CsrWifiSmeIEEE80211Result) 0x0023) 740 #define CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_REASON_UNSPECIFIED ((CsrWifiSmeIEEE80211Result) 0x0025) 741 #define CSR_WIFI_SME_IEEE80211_RESULT_REFUSED ((CsrWifiSmeIEEE80211Result) 0x0025) 742 #define CSR_WIFI_SME_IEEE80211_RESULT_INVALID_PARAMETERS ((CsrWifiSmeIEEE80211Result) 0x0026) 743 #define CSR_WIFI_SME_IEEE80211_RESULT_REJECTED_WITH_SUGGESTED_TSPEC_CHANGES ((CsrWifiSmeIEEE80211Result) 0x0027) 744 #define CSR_WIFI_SME_IEEE80211_RESULT_REJECTED_INVALID_IE ((CsrWifiSmeIEEE80211Result) 0x0028) 745 #define CSR_WIFI_SME_IEEE80211_RESULT_REJECTED_INVALID_GROUP_CIPHER ((CsrWifiSmeIEEE80211Result) 0x0029) 746 #define CSR_WIFI_SME_IEEE80211_RESULT_REJECTED_INVALID_PAIRWISE_CIPHER ((CsrWifiSmeIEEE80211Result) 0x002a) 747 #define CSR_WIFI_SME_IEEE80211_RESULT_REJECTED_INVALID_AKMP ((CsrWifiSmeIEEE80211Result) 0x002b) 748 #define CSR_WIFI_SME_IEEE80211_RESULT_REJECTED_UNSUPPORTED_RSN_VERSION ((CsrWifiSmeIEEE80211Result) 0x002c) 749 #define CSR_WIFI_SME_IEEE80211_RESULT_REJECTED_INVALID_RSN_CAPABILITY ((CsrWifiSmeIEEE80211Result) 0x002d) 750 #define CSR_WIFI_SME_IEEE80211_RESULT_REJECTED_SECURITY_POLICY ((CsrWifiSmeIEEE80211Result) 0x002e) 751 #define CSR_WIFI_SME_IEEE80211_RESULT_REJECTED_FOR_DELAY_PERIOD ((CsrWifiSmeIEEE80211Result) 0x002f) 752 #define CSR_WIFI_SME_IEEE80211_RESULT_NOT_ALLOWED ((CsrWifiSmeIEEE80211Result) 0x0030) 753 #define CSR_WIFI_SME_IEEE80211_RESULT_NOT_PRESENT ((CsrWifiSmeIEEE80211Result) 0x0031) 754 #define CSR_WIFI_SME_IEEE80211_RESULT_NOT_QSTA ((CsrWifiSmeIEEE80211Result) 0x0032) 755 #define CSR_WIFI_SME_IEEE80211_RESULT_REJECTED_LISTEN_INTERVAL_TOO_LARGE ((CsrWifiSmeIEEE80211Result) 0x0033) 756 #define CSR_WIFI_SME_IEEE80211_RESULT_INVALID_FT_ACTION_FRAME_COUNT ((CsrWifiSmeIEEE80211Result) 0x0034) 757 #define CSR_WIFI_SME_IEEE80211_RESULT_INVALID_PMKID ((CsrWifiSmeIEEE80211Result) 0x0035) 758 #define CSR_WIFI_SME_IEEE80211_RESULT_INVALID_MDIE ((CsrWifiSmeIEEE80211Result) 0x0036) 759 #define CSR_WIFI_SME_IEEE80211_RESULT_INVALID_FTIE ((CsrWifiSmeIEEE80211Result) 0x0037) 760 #define CSR_WIFI_SME_IEEE80211_RESULT_UNSPECIFIED_QOS_FAILURE ((CsrWifiSmeIEEE80211Result) 0x00c8) 761 #define CSR_WIFI_SME_IEEE80211_RESULT_WRONG_POLICY ((CsrWifiSmeIEEE80211Result) 0x00c9) 762 #define CSR_WIFI_SME_IEEE80211_RESULT_INSUFFICIENT_BANDWIDTH ((CsrWifiSmeIEEE80211Result) 0x00ca) 763 #define CSR_WIFI_SME_IEEE80211_RESULT_INVALID_TSPEC_PARAMETERS ((CsrWifiSmeIEEE80211Result) 0x00cb) 764 #define CSR_WIFI_SME_IEEE80211_RESULT_TIMEOUT ((CsrWifiSmeIEEE80211Result) 0x8000) 765 #define CSR_WIFI_SME_IEEE80211_RESULT_TOO_MANY_SIMULTANEOUS_REQUESTS ((CsrWifiSmeIEEE80211Result) 0x8001) 766 #define CSR_WIFI_SME_IEEE80211_RESULT_BSS_ALREADY_STARTED_OR_JOINED ((CsrWifiSmeIEEE80211Result) 0x8002) 767 #define CSR_WIFI_SME_IEEE80211_RESULT_NOT_SUPPORTED ((CsrWifiSmeIEEE80211Result) 0x8003) 768 #define CSR_WIFI_SME_IEEE80211_RESULT_TRANSMISSION_FAILURE ((CsrWifiSmeIEEE80211Result) 0x8004) 769 #define CSR_WIFI_SME_IEEE80211_RESULT_REFUSED_NOT_AUTHENTICATED ((CsrWifiSmeIEEE80211Result) 0x8005) 770 #define CSR_WIFI_SME_IEEE80211_RESULT_RESET_REQUIRED_BEFORE_START ((CsrWifiSmeIEEE80211Result) 0x8006) 771 #define CSR_WIFI_SME_IEEE80211_RESULT_LM_INFO_UNAVAILABLE ((CsrWifiSmeIEEE80211Result) 0x8007) 772 #define CSR_WIFI_SME_IEEE80211_RESULT_INVALID_UNICAST_CIPHER ((CsrWifiSmeIEEE80211Result) 0xf02f) 773 #define CSR_WIFI_SME_IEEE80211_RESULT_INVALID_MULTICAST_CIPHER ((CsrWifiSmeIEEE80211Result) 0xf030) 774 #define CSR_WIFI_SME_IEEE80211_RESULT_UNSUPPORTED_WAPI_IE_VERSION ((CsrWifiSmeIEEE80211Result) 0xf031) 775 #define CSR_WIFI_SME_IEEE80211_RESULT_INVALID_WAPI_CAPABILITY_IE ((CsrWifiSmeIEEE80211Result) 0xf032) 776 777 /******************************************************************************* 778 779 NAME 780 CsrWifiSmeIndications 781 782 DESCRIPTION 783 Defines bits for CsrWifiSmeIndicationsMask 784 785 VALUES 786 CSR_WIFI_SME_INDICATIONS_NONE 787 - Used to cancel the registrations for receiving indications 788 CSR_WIFI_SME_INDICATIONS_WIFIOFF 789 - Used to register for CSR_WIFI_SME_WIFI_OFF_IND events 790 CSR_WIFI_SME_INDICATIONS_SCANRESULT 791 - Used to register for CSR_WIFI_SME_SCAN_RESULT_IND events 792 CSR_WIFI_SME_INDICATIONS_CONNECTIONQUALITY 793 - Used to register for CSR_WIFI_SME_CONNECTION_QUALITY_IND 794 events 795 CSR_WIFI_SME_INDICATIONS_MEDIASTATUS 796 - Used to register for CSR_WIFI_SME_MEDIA_STATUS_IND events 797 CSR_WIFI_SME_INDICATIONS_MICFAILURE 798 - Used to register for CSR_WIFI_SME_MICFAILURE_IND events 799 CSR_WIFI_SME_INDICATIONS_PMKIDCANDIDATELIST 800 - Used to register for CSR_WIFI_SME_PMKIDCANDIDATE_LIST_IND 801 events 802 CSR_WIFI_SME_INDICATIONS_TSPEC 803 - Used to register for CSR_WIFI_SME_TSPEC_IND events 804 CSR_WIFI_SME_INDICATIONS_ROAMSTART 805 - Used to register for CSR_WIFI_SME_ROAM_START_IND events 806 CSR_WIFI_SME_INDICATIONS_ROAMCOMPLETE 807 - Used to register for CSR_WIFI_SME_ROAM_COMPLETE_IND events 808 CSR_WIFI_SME_INDICATIONS_ASSOCIATIONSTART 809 - Used to register for CSR_WIFI_SME_ASSOCIATION_START_IND 810 events 811 CSR_WIFI_SME_INDICATIONS_ASSOCIATIONCOMPLETE 812 - Used to register for CSR_WIFI_SME_ASSOCIATION_COMPLETE_IND 813 events 814 CSR_WIFI_SME_INDICATIONS_IBSSSTATION 815 - Used to register for CSR_WIFI_SME_IBSS_STATION_IND events 816 CSR_WIFI_SME_INDICATIONS_WIFION 817 - Used to register for CSR_WIFI_SME_WIFI_ON_IND events 818 CSR_WIFI_SME_INDICATIONS_ERROR 819 - Used to register for CSR_WIFI_SME_ERROR_IND events 820 CSR_WIFI_SME_INDICATIONS_INFO 821 - Used to register for CSR_WIFI_SME_INFO_IND events 822 CSR_WIFI_SME_INDICATIONS_COREDUMP 823 - Used to register for CSR_WIFI_SME_CORE_DUMP_IND events 824 CSR_WIFI_SME_INDICATIONS_ALL 825 - Used to register for all available indications 826 827 *******************************************************************************/ 828 typedef u32 CsrWifiSmeIndications; 829 #define CSR_WIFI_SME_INDICATIONS_NONE ((CsrWifiSmeIndications) 0x00000000) 830 #define CSR_WIFI_SME_INDICATIONS_WIFIOFF ((CsrWifiSmeIndications) 0x00000001) 831 #define CSR_WIFI_SME_INDICATIONS_SCANRESULT ((CsrWifiSmeIndications) 0x00000002) 832 #define CSR_WIFI_SME_INDICATIONS_CONNECTIONQUALITY ((CsrWifiSmeIndications) 0x00000004) 833 #define CSR_WIFI_SME_INDICATIONS_MEDIASTATUS ((CsrWifiSmeIndications) 0x00000008) 834 #define CSR_WIFI_SME_INDICATIONS_MICFAILURE ((CsrWifiSmeIndications) 0x00000010) 835 #define CSR_WIFI_SME_INDICATIONS_PMKIDCANDIDATELIST ((CsrWifiSmeIndications) 0x00000020) 836 #define CSR_WIFI_SME_INDICATIONS_TSPEC ((CsrWifiSmeIndications) 0x00000040) 837 #define CSR_WIFI_SME_INDICATIONS_ROAMSTART ((CsrWifiSmeIndications) 0x00000080) 838 #define CSR_WIFI_SME_INDICATIONS_ROAMCOMPLETE ((CsrWifiSmeIndications) 0x00000100) 839 #define CSR_WIFI_SME_INDICATIONS_ASSOCIATIONSTART ((CsrWifiSmeIndications) 0x00000200) 840 #define CSR_WIFI_SME_INDICATIONS_ASSOCIATIONCOMPLETE ((CsrWifiSmeIndications) 0x00000400) 841 #define CSR_WIFI_SME_INDICATIONS_IBSSSTATION ((CsrWifiSmeIndications) 0x00000800) 842 #define CSR_WIFI_SME_INDICATIONS_WIFION ((CsrWifiSmeIndications) 0x00001000) 843 #define CSR_WIFI_SME_INDICATIONS_ERROR ((CsrWifiSmeIndications) 0x00002000) 844 #define CSR_WIFI_SME_INDICATIONS_INFO ((CsrWifiSmeIndications) 0x00004000) 845 #define CSR_WIFI_SME_INDICATIONS_COREDUMP ((CsrWifiSmeIndications) 0x00008000) 846 #define CSR_WIFI_SME_INDICATIONS_ALL ((CsrWifiSmeIndications) 0xFFFFFFFF) 847 848 /******************************************************************************* 849 850 NAME 851 CsrWifiSmeKeyType 852 853 DESCRIPTION 854 Indicates the type of the key 855 856 VALUES 857 CSR_WIFI_SME_KEY_TYPE_GROUP - Key for broadcast communication 858 CSR_WIFI_SME_KEY_TYPE_PAIRWISE - Key for unicast communication 859 CSR_WIFI_SME_KEY_TYPE_STAKEY - Key for direct link communication to 860 another station in infrastructure networks 861 CSR_WIFI_SME_KEY_TYPE_IGTK - Integrity Group Temporal Key 862 CSR_WIFI_SME_KEY_TYPE_CCKM - Key for Cisco Centralized Key Management 863 864 *******************************************************************************/ 865 typedef u8 CsrWifiSmeKeyType; 866 #define CSR_WIFI_SME_KEY_TYPE_GROUP ((CsrWifiSmeKeyType) 0x00) 867 #define CSR_WIFI_SME_KEY_TYPE_PAIRWISE ((CsrWifiSmeKeyType) 0x01) 868 #define CSR_WIFI_SME_KEY_TYPE_STAKEY ((CsrWifiSmeKeyType) 0x02) 869 #define CSR_WIFI_SME_KEY_TYPE_IGTK ((CsrWifiSmeKeyType) 0x03) 870 #define CSR_WIFI_SME_KEY_TYPE_CCKM ((CsrWifiSmeKeyType) 0x04) 871 872 /******************************************************************************* 873 874 NAME 875 CsrWifiSmeListAction 876 877 DESCRIPTION 878 Identifies the type of action to be performed on a list of items 879 The values of this type are used across the NME/SME/Router API's and they 880 must be kept consistent with the corresponding types in the .xml of the 881 ottherinterfaces 882 883 VALUES 884 CSR_WIFI_SME_LIST_ACTION_GET - Retrieve the current list of items 885 CSR_WIFI_SME_LIST_ACTION_ADD - Add one or more items 886 CSR_WIFI_SME_LIST_ACTION_REMOVE - Remove one or more items 887 CSR_WIFI_SME_LIST_ACTION_FLUSH - Remove all items 888 889 *******************************************************************************/ 890 typedef u8 CsrWifiSmeListAction; 891 #define CSR_WIFI_SME_LIST_ACTION_GET ((CsrWifiSmeListAction) 0x00) 892 #define CSR_WIFI_SME_LIST_ACTION_ADD ((CsrWifiSmeListAction) 0x01) 893 #define CSR_WIFI_SME_LIST_ACTION_REMOVE ((CsrWifiSmeListAction) 0x02) 894 #define CSR_WIFI_SME_LIST_ACTION_FLUSH ((CsrWifiSmeListAction) 0x03) 895 896 /******************************************************************************* 897 898 NAME 899 CsrWifiSmeMediaStatus 900 901 DESCRIPTION 902 Indicates the connection status 903 The values of this type are used across the NME/SME/Router API's and they 904 must be kept consistent with the corresponding types in the .xml of the 905 ottherinterfaces 906 907 VALUES 908 CSR_WIFI_SME_MEDIA_STATUS_CONNECTED 909 - Value CSR_WIFI_SME_MEDIA_STATUS_CONNECTED can happen in two 910 situations: 911 * A network connection is established. Specifically, this is 912 when the MLME_ASSOCIATION completes or the first peer 913 relationship is established in an IBSS. In a WPA/WPA2 914 network, this indicates that the stack is ready to perform 915 the 4-way handshake or 802.1x authentication if CSR NME 916 security library is not used. If CSR NME security library 917 is used this indicates, completion of 4way handshake or 918 802.1x authentication 919 * The SME roams to another AP on the same ESS 920 During the AP operation, it indicates that the peer station 921 is connected to the AP and is ready for data transfer. 922 CSR_WIFI_SME_MEDIA_STATUS_DISCONNECTED 923 - Value CSR_WIFI_SME_MEDIA_STATUS_DISCONNECTED can happen in 924 two situations: 925 * when the connection to a network is lost and there is no 926 alternative on the same ESS to roam to 927 * when a CSR_WIFI_SME_DISCONNECT_REQ request is issued 928 During AP or P2PGO operation, it indicates that the peer 929 station has disconnected from the AP 930 931 *******************************************************************************/ 932 typedef u8 CsrWifiSmeMediaStatus; 933 #define CSR_WIFI_SME_MEDIA_STATUS_CONNECTED ((CsrWifiSmeMediaStatus) 0x00) 934 #define CSR_WIFI_SME_MEDIA_STATUS_DISCONNECTED ((CsrWifiSmeMediaStatus) 0x01) 935 936 /******************************************************************************* 937 938 NAME 939 CsrWifiSmeP2pCapability 940 941 DESCRIPTION 942 Defines P2P Device Capabilities 943 944 VALUES 945 CSR_WIFI_SME_P2P_SERVICE_DISCOVERY_CAPABILITY 946 - This field is set to 1 if the P2P Device supports Service 947 Discovery, and to 0 otherwise 948 CSR_WIFI_SME_P2P_CLIENT_DISCOVERABILITY_CAPABILITY 949 - This field is set to 1 when the P2P Device supports P2P 950 Client Discoverability, and to 0 otherwise. 951 CSR_WIFI_SME_P2P_CONCURRENT_OPERATION_CAPABILITY 952 - This field is set to 1 when the P2P Device supports 953 Concurrent Operation with WLAN, and to 0 otherwise. 954 CSR_WIFI_SME_P2P_MANAGED_DEVICE_CAPABILITY 955 - This field is set to 1 when the P2P interface of the P2P 956 Device is capable of being managed by the WLAN 957 (infrastructure network) based on P2P coexistence 958 parameters, and to 0 otherwise 959 CSR_WIFI_SME_P2P_INVITAION_CAPABILITY 960 - This field is set to 1 if the P2P Device is capable of 961 processing P2P Invitation Procedure signaling, and to 0 962 otherwise. 963 964 *******************************************************************************/ 965 typedef u8 CsrWifiSmeP2pCapability; 966 #define CSR_WIFI_SME_P2P_SERVICE_DISCOVERY_CAPABILITY ((CsrWifiSmeP2pCapability) 0x01) 967 #define CSR_WIFI_SME_P2P_CLIENT_DISCOVERABILITY_CAPABILITY ((CsrWifiSmeP2pCapability) 0x02) 968 #define CSR_WIFI_SME_P2P_CONCURRENT_OPERATION_CAPABILITY ((CsrWifiSmeP2pCapability) 0x04) 969 #define CSR_WIFI_SME_P2P_MANAGED_DEVICE_CAPABILITY ((CsrWifiSmeP2pCapability) 0x08) 970 #define CSR_WIFI_SME_P2P_INVITAION_CAPABILITY ((CsrWifiSmeP2pCapability) 0x20) 971 972 /******************************************************************************* 973 974 NAME 975 CsrWifiSmeP2pGroupCapability 976 977 DESCRIPTION 978 Define bits for P2P Group Capability 979 980 VALUES 981 CSR_WIFI_P2P_GRP_CAP_GO 982 - Indicates if the local device has become a GO after GO 983 negotiation 984 CSR_WIFI_P2P_GRP_CAP_PERSISTENT 985 - Persistent group 986 CSR_WIFI_P2P_GRP_CAP_INTRABSS_DIST 987 - Intra-BSS data distribution support 988 CSR_WIFI_P2P_GRP_CAP_CROSS_CONN 989 - Support of cross connection 990 CSR_WIFI_P2P_GRP_CAP_PERSISTENT_RECONNECT 991 - Support of persistent reconnect 992 993 *******************************************************************************/ 994 typedef u8 CsrWifiSmeP2pGroupCapability; 995 #define CSR_WIFI_P2P_GRP_CAP_GO ((CsrWifiSmeP2pGroupCapability) 0x01) 996 #define CSR_WIFI_P2P_GRP_CAP_PERSISTENT ((CsrWifiSmeP2pGroupCapability) 0x02) 997 #define CSR_WIFI_P2P_GRP_CAP_INTRABSS_DIST ((CsrWifiSmeP2pGroupCapability) 0x08) 998 #define CSR_WIFI_P2P_GRP_CAP_CROSS_CONN ((CsrWifiSmeP2pGroupCapability) 0x10) 999 #define CSR_WIFI_P2P_GRP_CAP_PERSISTENT_RECONNECT ((CsrWifiSmeP2pGroupCapability) 0x20) 1000 1001 /******************************************************************************* 1002 1003 NAME 1004 CsrWifiSmeP2pNoaConfigMethod 1005 1006 DESCRIPTION 1007 Notice of Absece Configuration 1008 1009 VALUES 1010 CSR_WIFI_P2P_NOA_NONE - Do not use NOA 1011 CSR_WIFI_P2P_NOA_AUTONOMOUS - NOA based on the traffic analysis 1012 CSR_WIFI_P2P_NOA_USER_DEFINED - NOA as specified by the user 1013 1014 *******************************************************************************/ 1015 typedef u8 CsrWifiSmeP2pNoaConfigMethod; 1016 #define CSR_WIFI_P2P_NOA_NONE ((CsrWifiSmeP2pNoaConfigMethod) 0x00) 1017 #define CSR_WIFI_P2P_NOA_AUTONOMOUS ((CsrWifiSmeP2pNoaConfigMethod) 0x01) 1018 #define CSR_WIFI_P2P_NOA_USER_DEFINED ((CsrWifiSmeP2pNoaConfigMethod) 0x02) 1019 1020 /******************************************************************************* 1021 1022 NAME 1023 CsrWifiSmeP2pRole 1024 1025 DESCRIPTION 1026 Definition of roles for a P2P Device 1027 1028 VALUES 1029 CSR_WIFI_SME_P2P_ROLE_NONE - A non-P2PDevice device 1030 CSR_WIFI_SME_P2P_ROLE_STANDALONE - A Standalone P2P device 1031 CSR_WIFI_SME_P2P_ROLE_GO - Role Assumed is that of a Group Owner 1032 within a P2P Group 1033 CSR_WIFI_SME_P2P_ROLE_CLI - Role Assumed is that of a P2P Client 1034 within a P2P Group 1035 1036 *******************************************************************************/ 1037 typedef u8 CsrWifiSmeP2pRole; 1038 #define CSR_WIFI_SME_P2P_ROLE_NONE ((CsrWifiSmeP2pRole) 0x00) 1039 #define CSR_WIFI_SME_P2P_ROLE_STANDALONE ((CsrWifiSmeP2pRole) 0x01) 1040 #define CSR_WIFI_SME_P2P_ROLE_GO ((CsrWifiSmeP2pRole) 0x02) 1041 #define CSR_WIFI_SME_P2P_ROLE_CLI ((CsrWifiSmeP2pRole) 0x03) 1042 1043 /******************************************************************************* 1044 1045 NAME 1046 CsrWifiSmeP2pStatus 1047 1048 DESCRIPTION 1049 This data type enumerates the outcome of P2P procedure 1050 1051 VALUES 1052 CSR_WIFI_SME_P2P_STATUS_SUCCESS 1053 - Success 1054 CSR_WIFI_SME_P2P_STATUS_FAIL_INFO_UNAVAILABLE 1055 - Fail; information is currently unavailable 1056 CSR_WIFI_SME_P2P_STATUS_FAIL_INCOMPATIBLE_PARAM 1057 - Fail; incompatible parameters 1058 CSR_WIFI_SME_P2P_STATUS_FAIL_LIMIT_REACHED 1059 - Fail; limit reached 1060 CSR_WIFI_SME_P2P_STATUS_FAIL_INVALID_PARAM 1061 - Fail; invalid parameters 1062 CSR_WIFI_SME_P2P_STATUS_FAIL_ACCOMODATE 1063 - Fail; unable to accommodate request 1064 CSR_WIFI_SME_P2P_STATUS_FAIL_PREV_ERROR 1065 - Fail; previous protocol error, or disruptive behavior 1066 CSR_WIFI_SME_P2P_STATUS_FAIL_COMMON_CHANNELS 1067 - Fail; no common channels 1068 CSR_WIFI_SME_P2P_STATUS_FAIL_UNKNOWN_GROUP 1069 - Fail; unknown P2P Group 1070 CSR_WIFI_SME_P2P_STATUS_FAIL_GO_INTENT 1071 - Fail: both P2P Devices indicated an Intent of 15 in Group 1072 Owner Negotiation 1073 CSR_WIFI_SME_P2P_STATUS_FAIL_PROVISION_METHOD_INCOMPATIBLE 1074 - Fail; incompatible provisioning method 1075 CSR_WIFI_SME_P2P_STATUS_FAIL_REJECT 1076 - Fail: rejected by user 1077 CSR_WIFI_SME_P2P_STATUS_FAIL_RESERVED 1078 - Fail; Status Reserved 1079 1080 *******************************************************************************/ 1081 typedef u8 CsrWifiSmeP2pStatus; 1082 #define CSR_WIFI_SME_P2P_STATUS_SUCCESS ((CsrWifiSmeP2pStatus) 0x00) 1083 #define CSR_WIFI_SME_P2P_STATUS_FAIL_INFO_UNAVAILABLE ((CsrWifiSmeP2pStatus) 0x01) 1084 #define CSR_WIFI_SME_P2P_STATUS_FAIL_INCOMPATIBLE_PARAM ((CsrWifiSmeP2pStatus) 0x02) 1085 #define CSR_WIFI_SME_P2P_STATUS_FAIL_LIMIT_REACHED ((CsrWifiSmeP2pStatus) 0x03) 1086 #define CSR_WIFI_SME_P2P_STATUS_FAIL_INVALID_PARAM ((CsrWifiSmeP2pStatus) 0x04) 1087 #define CSR_WIFI_SME_P2P_STATUS_FAIL_ACCOMODATE ((CsrWifiSmeP2pStatus) 0x05) 1088 #define CSR_WIFI_SME_P2P_STATUS_FAIL_PREV_ERROR ((CsrWifiSmeP2pStatus) 0x06) 1089 #define CSR_WIFI_SME_P2P_STATUS_FAIL_COMMON_CHANNELS ((CsrWifiSmeP2pStatus) 0x07) 1090 #define CSR_WIFI_SME_P2P_STATUS_FAIL_UNKNOWN_GROUP ((CsrWifiSmeP2pStatus) 0x08) 1091 #define CSR_WIFI_SME_P2P_STATUS_FAIL_GO_INTENT ((CsrWifiSmeP2pStatus) 0x09) 1092 #define CSR_WIFI_SME_P2P_STATUS_FAIL_PROVISION_METHOD_INCOMPATIBLE ((CsrWifiSmeP2pStatus) 0x0A) 1093 #define CSR_WIFI_SME_P2P_STATUS_FAIL_REJECT ((CsrWifiSmeP2pStatus) 0x0B) 1094 #define CSR_WIFI_SME_P2P_STATUS_FAIL_RESERVED ((CsrWifiSmeP2pStatus) 0xFF) 1095 1096 /******************************************************************************* 1097 1098 NAME 1099 CsrWifiSmePacketFilterMode 1100 1101 DESCRIPTION 1102 Options for the filter mode parameter. 1103 The Values here match the HIP interface 1104 1105 VALUES 1106 CSR_WIFI_SME_PACKET_FILTER_MODE_OPT_OUT 1107 - Broadcast packets are always reported to the host unless 1108 they match at least one of the specified TCLAS IEs. 1109 CSR_WIFI_SME_PACKET_FILTER_MODE_OPT_IN 1110 - Broadcast packets are reported to the host only if they 1111 match at least one of the specified TCLAS IEs. 1112 1113 *******************************************************************************/ 1114 typedef u8 CsrWifiSmePacketFilterMode; 1115 #define CSR_WIFI_SME_PACKET_FILTER_MODE_OPT_OUT ((CsrWifiSmePacketFilterMode) 0x00) 1116 #define CSR_WIFI_SME_PACKET_FILTER_MODE_OPT_IN ((CsrWifiSmePacketFilterMode) 0x03) 1117 1118 /******************************************************************************* 1119 1120 NAME 1121 CsrWifiSmePowerSaveLevel 1122 1123 DESCRIPTION 1124 Power Save Level options as defined in the IEEE 802.11 standards 1125 First 3 values are set to match the mlme PowerManagementMode 1126 1127 VALUES 1128 CSR_WIFI_SME_POWER_SAVE_LEVEL_LOW - No power save: the driver will remain 1129 active at all times 1130 CSR_WIFI_SME_POWER_SAVE_LEVEL_HIGH - Enter power save after all packets in 1131 the queues are transmitted and received 1132 CSR_WIFI_SME_POWER_SAVE_LEVEL_MED - Enter power save after all packets in 1133 the queues are transmitted and received 1134 and a further configurable delay 1135 (default 1s) has elapsed 1136 CSR_WIFI_SME_POWER_SAVE_LEVEL_AUTO - The SME will decide when to enter power 1137 save mode according to the traffic 1138 analysis 1139 1140 *******************************************************************************/ 1141 typedef u8 CsrWifiSmePowerSaveLevel; 1142 #define CSR_WIFI_SME_POWER_SAVE_LEVEL_LOW ((CsrWifiSmePowerSaveLevel) 0x00) 1143 #define CSR_WIFI_SME_POWER_SAVE_LEVEL_HIGH ((CsrWifiSmePowerSaveLevel) 0x01) 1144 #define CSR_WIFI_SME_POWER_SAVE_LEVEL_MED ((CsrWifiSmePowerSaveLevel) 0x02) 1145 #define CSR_WIFI_SME_POWER_SAVE_LEVEL_AUTO ((CsrWifiSmePowerSaveLevel) 0x03) 1146 1147 /******************************************************************************* 1148 1149 NAME 1150 CsrWifiSmePreambleType 1151 1152 DESCRIPTION 1153 SME Preamble Types 1154 1155 VALUES 1156 CSR_WIFI_SME_USE_LONG_PREAMBLE - Use legacy (long) preamble 1157 CSR_WIFI_SME_USE_SHORT_PREAMBLE - Use short PPDU format 1158 1159 *******************************************************************************/ 1160 typedef u8 CsrWifiSmePreambleType; 1161 #define CSR_WIFI_SME_USE_LONG_PREAMBLE ((CsrWifiSmePreambleType) 0x00) 1162 #define CSR_WIFI_SME_USE_SHORT_PREAMBLE ((CsrWifiSmePreambleType) 0x01) 1163 1164 /******************************************************************************* 1165 1166 NAME 1167 CsrWifiSmeRadioIF 1168 1169 DESCRIPTION 1170 Indicates the frequency 1171 1172 VALUES 1173 CSR_WIFI_SME_RADIO_IF_GHZ_2_4 - Indicates the 2.4 GHZ frequency 1174 CSR_WIFI_SME_RADIO_IF_GHZ_5_0 - Future use: currently not supported 1175 CSR_WIFI_SME_RADIO_IF_BOTH - Future use: currently not supported 1176 1177 *******************************************************************************/ 1178 typedef u8 CsrWifiSmeRadioIF; 1179 #define CSR_WIFI_SME_RADIO_IF_GHZ_2_4 ((CsrWifiSmeRadioIF) 0x01) 1180 #define CSR_WIFI_SME_RADIO_IF_GHZ_5_0 ((CsrWifiSmeRadioIF) 0x02) 1181 #define CSR_WIFI_SME_RADIO_IF_BOTH ((CsrWifiSmeRadioIF) 0x03) 1182 1183 /******************************************************************************* 1184 1185 NAME 1186 CsrWifiSmeRegulatoryDomain 1187 1188 DESCRIPTION 1189 Indicates the regulatory domain as defined in IEEE 802.11 standards 1190 1191 VALUES 1192 CSR_WIFI_SME_REGULATORY_DOMAIN_OTHER 1193 - See IEEE 802.11 Standard 1194 CSR_WIFI_SME_REGULATORY_DOMAIN_FCC 1195 - See IEEE 802.11 Standard 1196 CSR_WIFI_SME_REGULATORY_DOMAIN_IC 1197 - See IEEE 802.11 Standard 1198 CSR_WIFI_SME_REGULATORY_DOMAIN_ETSI 1199 - See IEEE 802.11 Standard 1200 CSR_WIFI_SME_REGULATORY_DOMAIN_SPAIN 1201 - See IEEE 802.11 Standard 1202 CSR_WIFI_SME_REGULATORY_DOMAIN_FRANCE 1203 - See IEEE 802.11 Standard 1204 CSR_WIFI_SME_REGULATORY_DOMAIN_JAPAN 1205 - See IEEE 802.11 Standard 1206 CSR_WIFI_SME_REGULATORY_DOMAIN_JAPANBIS 1207 - See IEEE 802.11 Standard 1208 CSR_WIFI_SME_REGULATORY_DOMAIN_CHINA 1209 - See IEEE 802.11 Standard 1210 CSR_WIFI_SME_REGULATORY_DOMAIN_CHINABIS 1211 - See IEEE 802.11 Standard 1212 CSR_WIFI_SME_REGULATORY_DOMAIN_NONE 1213 - See IEEE 802.11 Standard 1214 1215 *******************************************************************************/ 1216 typedef u8 CsrWifiSmeRegulatoryDomain; 1217 #define CSR_WIFI_SME_REGULATORY_DOMAIN_OTHER ((CsrWifiSmeRegulatoryDomain) 0x00) 1218 #define CSR_WIFI_SME_REGULATORY_DOMAIN_FCC ((CsrWifiSmeRegulatoryDomain) 0x10) 1219 #define CSR_WIFI_SME_REGULATORY_DOMAIN_IC ((CsrWifiSmeRegulatoryDomain) 0x20) 1220 #define CSR_WIFI_SME_REGULATORY_DOMAIN_ETSI ((CsrWifiSmeRegulatoryDomain) 0x30) 1221 #define CSR_WIFI_SME_REGULATORY_DOMAIN_SPAIN ((CsrWifiSmeRegulatoryDomain) 0x31) 1222 #define CSR_WIFI_SME_REGULATORY_DOMAIN_FRANCE ((CsrWifiSmeRegulatoryDomain) 0x32) 1223 #define CSR_WIFI_SME_REGULATORY_DOMAIN_JAPAN ((CsrWifiSmeRegulatoryDomain) 0x40) 1224 #define CSR_WIFI_SME_REGULATORY_DOMAIN_JAPANBIS ((CsrWifiSmeRegulatoryDomain) 0x41) 1225 #define CSR_WIFI_SME_REGULATORY_DOMAIN_CHINA ((CsrWifiSmeRegulatoryDomain) 0x50) 1226 #define CSR_WIFI_SME_REGULATORY_DOMAIN_CHINABIS ((CsrWifiSmeRegulatoryDomain) 0x51) 1227 #define CSR_WIFI_SME_REGULATORY_DOMAIN_NONE ((CsrWifiSmeRegulatoryDomain) 0xFF) 1228 1229 /******************************************************************************* 1230 1231 NAME 1232 CsrWifiSmeRoamReason 1233 1234 DESCRIPTION 1235 Indicates the reason for roaming 1236 1237 VALUES 1238 CSR_WIFI_SME_ROAM_REASON_BEACONLOST 1239 - The station cannot receive the beacon signal any more 1240 CSR_WIFI_SME_ROAM_REASON_DISASSOCIATED 1241 - The station has been disassociated 1242 CSR_WIFI_SME_ROAM_REASON_DEAUTHENTICATED 1243 - The station has been deauthenticated 1244 CSR_WIFI_SME_ROAM_REASON_BETTERAPFOUND 1245 - A better AP has been found 1246 1247 *******************************************************************************/ 1248 typedef u8 CsrWifiSmeRoamReason; 1249 #define CSR_WIFI_SME_ROAM_REASON_BEACONLOST ((CsrWifiSmeRoamReason) 0x00) 1250 #define CSR_WIFI_SME_ROAM_REASON_DISASSOCIATED ((CsrWifiSmeRoamReason) 0x01) 1251 #define CSR_WIFI_SME_ROAM_REASON_DEAUTHENTICATED ((CsrWifiSmeRoamReason) 0x02) 1252 #define CSR_WIFI_SME_ROAM_REASON_BETTERAPFOUND ((CsrWifiSmeRoamReason) 0x03) 1253 1254 /******************************************************************************* 1255 1256 NAME 1257 CsrWifiSmeScanType 1258 1259 DESCRIPTION 1260 Identifies the type of scan to be performed 1261 1262 VALUES 1263 CSR_WIFI_SME_SCAN_TYPE_ALL - Scan actively or passively according to the 1264 regulatory domain restrictions 1265 CSR_WIFI_SME_SCAN_TYPE_ACTIVE - Scan actively only: send probes and listen 1266 for answers 1267 CSR_WIFI_SME_SCAN_TYPE_PASSIVE - Scan passively only: listen for beacon 1268 messages 1269 1270 *******************************************************************************/ 1271 typedef u8 CsrWifiSmeScanType; 1272 #define CSR_WIFI_SME_SCAN_TYPE_ALL ((CsrWifiSmeScanType) 0x00) 1273 #define CSR_WIFI_SME_SCAN_TYPE_ACTIVE ((CsrWifiSmeScanType) 0x01) 1274 #define CSR_WIFI_SME_SCAN_TYPE_PASSIVE ((CsrWifiSmeScanType) 0x02) 1275 1276 /******************************************************************************* 1277 1278 NAME 1279 CsrWifiSmeTrafficType 1280 1281 DESCRIPTION 1282 Identifies the type of traffic going on on the connection. 1283 The values of this type are used across the NME/SME/Router API's and they 1284 must be kept consistent with the corresponding types in the .xml of the 1285 ottherinterfaces 1286 1287 VALUES 1288 CSR_WIFI_SME_TRAFFIC_TYPE_OCCASIONAL 1289 - During the last 30 seconds there were fewer than 20 packets 1290 per seconds in each second in both directions 1291 CSR_WIFI_SME_TRAFFIC_TYPE_BURSTY 1292 - During the last 30 seconds there was at least one second 1293 during which more than 20 packets were received in either 1294 direction 1295 CSR_WIFI_SME_TRAFFIC_TYPE_PERIODIC 1296 - During the last 5 seconds there were at least 10 packets 1297 received each second and a defined period for the traffic 1298 can be recognized 1299 CSR_WIFI_SME_TRAFFIC_TYPE_CONTINUOUS 1300 - During the last 5 seconds there were at least 20 packets 1301 received each second in either direction 1302 1303 *******************************************************************************/ 1304 typedef u8 CsrWifiSmeTrafficType; 1305 #define CSR_WIFI_SME_TRAFFIC_TYPE_OCCASIONAL ((CsrWifiSmeTrafficType) 0x00) 1306 #define CSR_WIFI_SME_TRAFFIC_TYPE_BURSTY ((CsrWifiSmeTrafficType) 0x01) 1307 #define CSR_WIFI_SME_TRAFFIC_TYPE_PERIODIC ((CsrWifiSmeTrafficType) 0x02) 1308 #define CSR_WIFI_SME_TRAFFIC_TYPE_CONTINUOUS ((CsrWifiSmeTrafficType) 0x03) 1309 1310 /******************************************************************************* 1311 1312 NAME 1313 CsrWifiSmeTspecCtrl 1314 1315 DESCRIPTION 1316 Defines bits for CsrWifiSmeTspecCtrlMask for additional CCX configuration. 1317 CURRENTLY NOT SUPPORTED. 1318 1319 VALUES 1320 CSR_WIFI_SME_TSPEC_CTRL_STRICT 1321 - No automatic negotiation 1322 CSR_WIFI_SME_TSPEC_CTRL_CCX_SIGNALLING 1323 - Signalling TSPEC 1324 CSR_WIFI_SME_TSPEC_CTRL_CCX_VOICE 1325 - Voice traffic TSPEC 1326 1327 *******************************************************************************/ 1328 typedef u8 CsrWifiSmeTspecCtrl; 1329 #define CSR_WIFI_SME_TSPEC_CTRL_STRICT ((CsrWifiSmeTspecCtrl) 0x01) 1330 #define CSR_WIFI_SME_TSPEC_CTRL_CCX_SIGNALLING ((CsrWifiSmeTspecCtrl) 0x02) 1331 #define CSR_WIFI_SME_TSPEC_CTRL_CCX_VOICE ((CsrWifiSmeTspecCtrl) 0x04) 1332 1333 /******************************************************************************* 1334 1335 NAME 1336 CsrWifiSmeTspecResultCode 1337 1338 DESCRIPTION 1339 Defines the result of the TSPEC exchanges with the AP 1340 1341 VALUES 1342 CSR_WIFI_SME_TSPEC_RESULT_SUCCESS 1343 - TSPEC command has been processed correctly 1344 CSR_WIFI_SME_TSPEC_RESULT_UNSPECIFIED_QOS_FAILURE 1345 - The Access Point reported a failure 1346 CSR_WIFI_SME_TSPEC_RESULT_FAILURE 1347 - Internal failure in the SME 1348 CSR_WIFI_SME_TSPEC_RESULT_INVALID_TSPEC_PARAMETERS 1349 - The TSPEC parameters are invalid 1350 CSR_WIFI_SME_TSPEC_RESULT_INVALID_TCLAS_PARAMETERS 1351 - The TCLASS parameters are invalid 1352 CSR_WIFI_SME_TSPEC_RESULT_INSUFFICIENT_BANDWIDTH 1353 - As specified by the WMM Spec 1354 CSR_WIFI_SME_TSPEC_RESULT_WRONG_POLICY 1355 - As specified by the WMM Spec 1356 CSR_WIFI_SME_TSPEC_RESULT_REJECTED_WITH_SUGGESTED_CHANGES 1357 - As specified by the WMM Spec 1358 CSR_WIFI_SME_TSPEC_RESULT_TIMEOUT 1359 - The TSPEC negotiation timed out 1360 CSR_WIFI_SME_TSPEC_RESULT_NOT_SUPPORTED 1361 - The Access Point does not support the TSPEC 1362 CSR_WIFI_SME_TSPEC_RESULT_IE_LENGTH_INCORRECT 1363 - The length of the TSPEC is not correct 1364 CSR_WIFI_SME_TSPEC_RESULT_INVALID_TRANSACTION_ID 1365 - The TSPEC transaction id is not in the list 1366 CSR_WIFI_SME_TSPEC_RESULT_INSTALLED 1367 - The TSPEC has been installed and it is now active. 1368 CSR_WIFI_SME_TSPEC_RESULT_TID_ALREADY_INSTALLED 1369 - The Traffic ID has already been installed 1370 CSR_WIFI_SME_TSPEC_RESULT_TSPEC_REMOTELY_DELETED 1371 - The AP has deleted the TSPEC 1372 1373 *******************************************************************************/ 1374 typedef u8 CsrWifiSmeTspecResultCode; 1375 #define CSR_WIFI_SME_TSPEC_RESULT_SUCCESS ((CsrWifiSmeTspecResultCode) 0x00) 1376 #define CSR_WIFI_SME_TSPEC_RESULT_UNSPECIFIED_QOS_FAILURE ((CsrWifiSmeTspecResultCode) 0x01) 1377 #define CSR_WIFI_SME_TSPEC_RESULT_FAILURE ((CsrWifiSmeTspecResultCode) 0x02) 1378 #define CSR_WIFI_SME_TSPEC_RESULT_INVALID_TSPEC_PARAMETERS ((CsrWifiSmeTspecResultCode) 0x05) 1379 #define CSR_WIFI_SME_TSPEC_RESULT_INVALID_TCLAS_PARAMETERS ((CsrWifiSmeTspecResultCode) 0x06) 1380 #define CSR_WIFI_SME_TSPEC_RESULT_INSUFFICIENT_BANDWIDTH ((CsrWifiSmeTspecResultCode) 0x07) 1381 #define CSR_WIFI_SME_TSPEC_RESULT_WRONG_POLICY ((CsrWifiSmeTspecResultCode) 0x08) 1382 #define CSR_WIFI_SME_TSPEC_RESULT_REJECTED_WITH_SUGGESTED_CHANGES ((CsrWifiSmeTspecResultCode) 0x09) 1383 #define CSR_WIFI_SME_TSPEC_RESULT_TIMEOUT ((CsrWifiSmeTspecResultCode) 0x0D) 1384 #define CSR_WIFI_SME_TSPEC_RESULT_NOT_SUPPORTED ((CsrWifiSmeTspecResultCode) 0x0E) 1385 #define CSR_WIFI_SME_TSPEC_RESULT_IE_LENGTH_INCORRECT ((CsrWifiSmeTspecResultCode) 0x10) 1386 #define CSR_WIFI_SME_TSPEC_RESULT_INVALID_TRANSACTION_ID ((CsrWifiSmeTspecResultCode) 0x11) 1387 #define CSR_WIFI_SME_TSPEC_RESULT_INSTALLED ((CsrWifiSmeTspecResultCode) 0x12) 1388 #define CSR_WIFI_SME_TSPEC_RESULT_TID_ALREADY_INSTALLED ((CsrWifiSmeTspecResultCode) 0x13) 1389 #define CSR_WIFI_SME_TSPEC_RESULT_TSPEC_REMOTELY_DELETED ((CsrWifiSmeTspecResultCode) 0x14) 1390 1391 /******************************************************************************* 1392 1393 NAME 1394 CsrWifiSmeWepAuthMode 1395 1396 DESCRIPTION 1397 Define bits for CsrWifiSmeWepAuthMode 1398 1399 VALUES 1400 CSR_WIFI_SME_WEP_AUTH_MODE_OPEN - Open-WEP enabled network 1401 CSR_WIFI_SME_WEP_AUTH_MODE_SHARED - Shared-key WEP enabled network. 1402 1403 *******************************************************************************/ 1404 typedef u8 CsrWifiSmeWepAuthMode; 1405 #define CSR_WIFI_SME_WEP_AUTH_MODE_OPEN ((CsrWifiSmeWepAuthMode) 0x00) 1406 #define CSR_WIFI_SME_WEP_AUTH_MODE_SHARED ((CsrWifiSmeWepAuthMode) 0x01) 1407 1408 /******************************************************************************* 1409 1410 NAME 1411 CsrWifiSmeWepCredentialType 1412 1413 DESCRIPTION 1414 Definition of types of WEP Credentials 1415 1416 VALUES 1417 CSR_WIFI_SME_CREDENTIAL_TYPE_WEP64 1418 - WEP 64 credential 1419 CSR_WIFI_SME_CREDENTIAL_TYPE_WEP128 1420 - WEP 128 credential 1421 1422 *******************************************************************************/ 1423 typedef u8 CsrWifiSmeWepCredentialType; 1424 #define CSR_WIFI_SME_CREDENTIAL_TYPE_WEP64 ((CsrWifiSmeWepCredentialType) 0x00) 1425 #define CSR_WIFI_SME_CREDENTIAL_TYPE_WEP128 ((CsrWifiSmeWepCredentialType) 0x01) 1426 1427 /******************************************************************************* 1428 1429 NAME 1430 CsrWifiSmeWmmMode 1431 1432 DESCRIPTION 1433 Defines bits for CsrWifiSmeWmmModeMask: enable/disable WMM features. 1434 1435 VALUES 1436 CSR_WIFI_SME_WMM_MODE_DISABLED - Disables the WMM features. 1437 CSR_WIFI_SME_WMM_MODE_AC_ENABLED - Enables support for WMM-AC. 1438 CSR_WIFI_SME_WMM_MODE_PS_ENABLED - Enables support for WMM Power Save. 1439 CSR_WIFI_SME_WMM_MODE_SA_ENABLED - Currently not supported 1440 CSR_WIFI_SME_WMM_MODE_ENABLED - Enables support for all currently 1441 available WMM features. 1442 1443 *******************************************************************************/ 1444 typedef u8 CsrWifiSmeWmmMode; 1445 #define CSR_WIFI_SME_WMM_MODE_DISABLED ((CsrWifiSmeWmmMode) 0x00) 1446 #define CSR_WIFI_SME_WMM_MODE_AC_ENABLED ((CsrWifiSmeWmmMode) 0x01) 1447 #define CSR_WIFI_SME_WMM_MODE_PS_ENABLED ((CsrWifiSmeWmmMode) 0x02) 1448 #define CSR_WIFI_SME_WMM_MODE_SA_ENABLED ((CsrWifiSmeWmmMode) 0x04) 1449 #define CSR_WIFI_SME_WMM_MODE_ENABLED ((CsrWifiSmeWmmMode) 0xFF) 1450 1451 /******************************************************************************* 1452 1453 NAME 1454 CsrWifiSmeWmmQosInfo 1455 1456 DESCRIPTION 1457 Defines bits for the QoS Info Octect as defined in the WMM specification. 1458 The first four values define one bit each that can be set or cleared. 1459 Each of the last four values define all the remaining 4 bits and only one 1460 of them at the time shall be used. 1461 For more information, see 'WMM (including WMM Power Save) Specification - 1462 Version 1.1' and 'UniFi Configuring WMM and WMM-PS, Application Note'. 1463 1464 VALUES 1465 CSR_WIFI_SME_WMM_QOS_INFO_AC_MAX_SP_ALL 1466 - WMM AP may deliver all buffered frames 1467 CSR_WIFI_SME_WMM_QOS_INFO_AC_VO 1468 - Enable UAPSD(both trigger and delivery) for Voice Access 1469 Category 1470 CSR_WIFI_SME_WMM_QOS_INFO_AC_VI 1471 - Enable UAPSD(both trigger and delivery) for Video Access 1472 Category 1473 CSR_WIFI_SME_WMM_QOS_INFO_AC_BK 1474 - Enable UAPSD(both trigger and delivery) for Background 1475 Access Category 1476 CSR_WIFI_SME_WMM_QOS_INFO_AC_BE 1477 - Enable UAPSD(both trigger and delivery) for Best Effort 1478 Access Category 1479 CSR_WIFI_SME_WMM_QOS_INFO_AC_MAX_SP_TWO 1480 - WMM AP may deliver a maximum of 2 buffered frames (MSDUs 1481 and MMPDUs) per USP 1482 CSR_WIFI_SME_WMM_QOS_INFO_AC_MAX_SP_FOUR 1483 - WMM AP may deliver a maximum of 4 buffered frames (MSDUs 1484 and MMPDUs) per USP 1485 CSR_WIFI_SME_WMM_QOS_INFO_AC_MAX_SP_SIX 1486 - WMM AP may deliver a maximum of 6 buffered frames (MSDUs 1487 and MMPDUs) per USP 1488 1489 *******************************************************************************/ 1490 typedef u8 CsrWifiSmeWmmQosInfo; 1491 #define CSR_WIFI_SME_WMM_QOS_INFO_AC_MAX_SP_ALL ((CsrWifiSmeWmmQosInfo) 0x00) 1492 #define CSR_WIFI_SME_WMM_QOS_INFO_AC_VO ((CsrWifiSmeWmmQosInfo) 0x01) 1493 #define CSR_WIFI_SME_WMM_QOS_INFO_AC_VI ((CsrWifiSmeWmmQosInfo) 0x02) 1494 #define CSR_WIFI_SME_WMM_QOS_INFO_AC_BK ((CsrWifiSmeWmmQosInfo) 0x04) 1495 #define CSR_WIFI_SME_WMM_QOS_INFO_AC_BE ((CsrWifiSmeWmmQosInfo) 0x08) 1496 #define CSR_WIFI_SME_WMM_QOS_INFO_AC_MAX_SP_TWO ((CsrWifiSmeWmmQosInfo) 0x20) 1497 #define CSR_WIFI_SME_WMM_QOS_INFO_AC_MAX_SP_FOUR ((CsrWifiSmeWmmQosInfo) 0x40) 1498 #define CSR_WIFI_SME_WMM_QOS_INFO_AC_MAX_SP_SIX ((CsrWifiSmeWmmQosInfo) 0x60) 1499 1500 /******************************************************************************* 1501 1502 NAME 1503 CsrWifiSmeWpsConfigType 1504 1505 DESCRIPTION 1506 WPS config methods supported/used by a device 1507 1508 VALUES 1509 CSR_WIFI_WPS_CONFIG_LABEL 1510 - Label 1511 CSR_WIFI_WPS_CONFIG_DISPLAY 1512 - Display 1513 CSR_WIFI_WPS_CONFIG_EXT_NFC 1514 - External NFC : Not supported in this release 1515 CSR_WIFI_WPS_CONFIG_INT_NFC 1516 - Internal NFC : Not supported in this release 1517 CSR_WIFI_WPS_CONFIG_NFC_IFACE 1518 - NFC interface : Not supported in this release 1519 CSR_WIFI_WPS_CONFIG_PBC 1520 - PBC 1521 CSR_WIFI_WPS_CONFIG_KEYPAD 1522 - KeyPad 1523 CSR_WIFI_WPS_CONFIG_VIRTUAL_PBC 1524 - PBC through software user interface 1525 CSR_WIFI_WPS_CONFIG_PHYSICAL_PBC 1526 - Physical PBC 1527 CSR_WIFI_WPS_CONFIG_VIRTUAL_DISPLAY 1528 - Virtual Display : via html config page etc 1529 CSR_WIFI_WPS_CONFIG_PHYSICAL_DISPLAY 1530 - Physical Display : Attached to the device 1531 1532 *******************************************************************************/ 1533 typedef u16 CsrWifiSmeWpsConfigType; 1534 #define CSR_WIFI_WPS_CONFIG_LABEL ((CsrWifiSmeWpsConfigType) 0x0004) 1535 #define CSR_WIFI_WPS_CONFIG_DISPLAY ((CsrWifiSmeWpsConfigType) 0x0008) 1536 #define CSR_WIFI_WPS_CONFIG_EXT_NFC ((CsrWifiSmeWpsConfigType) 0x0010) 1537 #define CSR_WIFI_WPS_CONFIG_INT_NFC ((CsrWifiSmeWpsConfigType) 0x0020) 1538 #define CSR_WIFI_WPS_CONFIG_NFC_IFACE ((CsrWifiSmeWpsConfigType) 0x0040) 1539 #define CSR_WIFI_WPS_CONFIG_PBC ((CsrWifiSmeWpsConfigType) 0x0080) 1540 #define CSR_WIFI_WPS_CONFIG_KEYPAD ((CsrWifiSmeWpsConfigType) 0x0100) 1541 #define CSR_WIFI_WPS_CONFIG_VIRTUAL_PBC ((CsrWifiSmeWpsConfigType) 0x0280) 1542 #define CSR_WIFI_WPS_CONFIG_PHYSICAL_PBC ((CsrWifiSmeWpsConfigType) 0x0480) 1543 #define CSR_WIFI_WPS_CONFIG_VIRTUAL_DISPLAY ((CsrWifiSmeWpsConfigType) 0x2008) 1544 #define CSR_WIFI_WPS_CONFIG_PHYSICAL_DISPLAY ((CsrWifiSmeWpsConfigType) 0x4008) 1545 1546 /******************************************************************************* 1547 1548 NAME 1549 CsrWifiSmeWpsDeviceCategory 1550 1551 DESCRIPTION 1552 Wps Primary Device Types 1553 1554 VALUES 1555 CSR_WIFI_SME_WPS_CATEGORY_UNSPECIFIED 1556 - Unspecified. 1557 CSR_WIFI_SME_WPS_CATEGORY_COMPUTER 1558 - Computer. 1559 CSR_WIFI_SME_WPS_CATEGORY_INPUT_DEV 1560 - Input device 1561 CSR_WIFI_SME_WPS_CATEGORY_PRT_SCAN_FX_CP 1562 - Printer Scanner Fax Copier etc 1563 CSR_WIFI_SME_WPS_CATEGORY_CAMERA 1564 - Camera 1565 CSR_WIFI_SME_WPS_CATEGORY_STORAGE 1566 - Storage 1567 CSR_WIFI_SME_WPS_CATEGORY_NET_INFRA 1568 - Net Infra 1569 CSR_WIFI_SME_WPS_CATEGORY_DISPLAY 1570 - Display 1571 CSR_WIFI_SME_WPS_CATEGORY_MULTIMEDIA 1572 - Multimedia 1573 CSR_WIFI_SME_WPS_CATEGORY_GAMING 1574 - Gaming. 1575 CSR_WIFI_SME_WPS_CATEGORY_TELEPHONE 1576 - Telephone. 1577 CSR_WIFI_SME_WPS_CATEGORY_AUDIO 1578 - Audio 1579 CSR_WIFI_SME_WPS_CATEOARY_OTHERS 1580 - Others. 1581 1582 *******************************************************************************/ 1583 typedef u8 CsrWifiSmeWpsDeviceCategory; 1584 #define CSR_WIFI_SME_WPS_CATEGORY_UNSPECIFIED ((CsrWifiSmeWpsDeviceCategory) 0x00) 1585 #define CSR_WIFI_SME_WPS_CATEGORY_COMPUTER ((CsrWifiSmeWpsDeviceCategory) 0x01) 1586 #define CSR_WIFI_SME_WPS_CATEGORY_INPUT_DEV ((CsrWifiSmeWpsDeviceCategory) 0x02) 1587 #define CSR_WIFI_SME_WPS_CATEGORY_PRT_SCAN_FX_CP ((CsrWifiSmeWpsDeviceCategory) 0x03) 1588 #define CSR_WIFI_SME_WPS_CATEGORY_CAMERA ((CsrWifiSmeWpsDeviceCategory) 0x04) 1589 #define CSR_WIFI_SME_WPS_CATEGORY_STORAGE ((CsrWifiSmeWpsDeviceCategory) 0x05) 1590 #define CSR_WIFI_SME_WPS_CATEGORY_NET_INFRA ((CsrWifiSmeWpsDeviceCategory) 0x06) 1591 #define CSR_WIFI_SME_WPS_CATEGORY_DISPLAY ((CsrWifiSmeWpsDeviceCategory) 0x07) 1592 #define CSR_WIFI_SME_WPS_CATEGORY_MULTIMEDIA ((CsrWifiSmeWpsDeviceCategory) 0x08) 1593 #define CSR_WIFI_SME_WPS_CATEGORY_GAMING ((CsrWifiSmeWpsDeviceCategory) 0x09) 1594 #define CSR_WIFI_SME_WPS_CATEGORY_TELEPHONE ((CsrWifiSmeWpsDeviceCategory) 0x0A) 1595 #define CSR_WIFI_SME_WPS_CATEGORY_AUDIO ((CsrWifiSmeWpsDeviceCategory) 0x0B) 1596 #define CSR_WIFI_SME_WPS_CATEOARY_OTHERS ((CsrWifiSmeWpsDeviceCategory) 0xFF) 1597 1598 /******************************************************************************* 1599 1600 NAME 1601 CsrWifiSmeWpsDeviceSubCategory 1602 1603 DESCRIPTION 1604 Wps Secondary Device Types 1605 1606 VALUES 1607 CSR_WIFI_SME_WPS_SUB_CATEGORY_UNSPECIFIED 1608 - Unspecied 1609 CSR_WIFI_SME_WPS_STORAGE_SUB_CATEGORY_NAS 1610 - Network Associated Storage 1611 CSR_WIFI_SME_WPS_PSFC_SUB_CATEGORY_PRNTR 1612 - Printer or print server 1613 CSR_WIFI_SME_WPS_TELEPHONE_SUB_CATEGORY_WM 1614 - Windows mobile 1615 CSR_WIFI_SME_WPS_AUDIO_SUB_CATEGORY_TUNER 1616 - Audio tuner/receiver 1617 CSR_WIFI_SME_WPS_CAMERA_SUB_CATEGORY_DIG_STL 1618 - Digital still camera 1619 CSR_WIFI_SME_WPS_NET_INFRA_SUB_CATEGORY_AP 1620 - Access Point 1621 CSR_WIFI_SME_WPS_DISPLAY_SUB_CATEGORY_TV 1622 - TV. 1623 CSR_WIFI_SME_WPS_MM_SUB_CATEGORY_DAR 1624 - DAR. 1625 CSR_WIFI_SME_WPS_INPUT_DEV_SUB_CATEGORY_KEYBD 1626 - Keyboard. 1627 CSR_WIFI_SME_WPS_COMPUTER_SUB_CATEGORY_PC 1628 - PC. 1629 CSR_WIFI_SME_WPS_GAMING_SUB_CATEGORY_XBOX 1630 - Xbox. 1631 CSR_WIFI_SME_WPS_PSFC_SUB_CATEGORY_SCNR 1632 - Scanner 1633 CSR_WIFI_SME_WPS_COMPUTER_SUB_CATEGORY_SERVER 1634 - Server 1635 CSR_WIFI_SME_WPS_NET_INFRA_SUB_CATEGORY_ROUTER 1636 - Router 1637 CSR_WIFI_SME_WPS_MM_SUB_CATEGORY_PVR 1638 - PVR 1639 CSR_WIFI_SME_WPS_AUDIO_SUB_CATEGORY_SPEAKER 1640 - Speaker 1641 CSR_WIFI_SME_WPS_TELEPHONE_SUB_CATEGORY_FP_SM 1642 - Feature phone - Single mode 1643 CSR_WIFI_SME_WPS_CAMERA_SUB_CATEGORY_VIDEO 1644 - Video camera 1645 CSR_WIFI_SME_WPS_DISPLAY_SUB_CATEGORY_PIC_FRM 1646 - Picture frame 1647 CSR_WIFI_SME_WPS_GAMING_SUB_CATEGORY_XBOX_360 1648 - Xbox360 1649 CSR_WIFI_SME_WPS_INPUT_DEV_SUB_CATEGORY_MOUSE 1650 - Mouse 1651 CSR_WIFI_SME_WPS_NET_INFRA_SUB_CATEGORY_SWITCH 1652 - Switch 1653 CSR_WIFI_SME_WPS_AUDIO_SUB_CATEGORY_PMP 1654 - Portable music player 1655 CSR_WIFI_SME_WPS_INPUT_DEV_SUB_CATEGORY_JOYSTK 1656 - Joy stick 1657 CSR_WIFI_SME_WPS_GAMING_SUB_CATEGORY_PLAY_STN 1658 - Play-station 1659 CSR_WIFI_SME_WPS_COMPUTER_SUB_CATEGORY_MED_CENT 1660 - Media Center 1661 CSR_WIFI_SME_WPS_MM_SUB_CATEGORY_MCX 1662 - MCX 1663 CSR_WIFI_SME_WPS_TELEPHONE_SUB_CATEGORY_FP_DM 1664 - Feature phone - Dual mode 1665 CSR_WIFI_SME_WPS_CAMERA_SUB_CATEGORY_WEB 1666 - Web camera 1667 CSR_WIFI_SME_WPS_PSFC_SUB_CATEGORY_FAX 1668 - Fax 1669 CSR_WIFI_SME_WPS_DISPLAY_SUB_CATEGORY_PROJECTOR 1670 - Projector 1671 CSR_WIFI_SME_WPS_INPUT_DEV_SUB_CATEGORY_TRKBL 1672 - Track Ball 1673 CSR_WIFI_SME_WPS_MM_SUB_CATEGORY_ST_BOX 1674 - Set-Top-Box 1675 CSR_WIFI_SME_WPS_NET_INFRA_SUB_CATEGORY_GATEWAY 1676 - GateWay. 1677 CSR_WIFI_SME_WPS_CAMERA_SUB_CATEGORY_SECURITY 1678 - Security camera 1679 CSR_WIFI_SME_WPS_COMPUTER_SUB_CATEGORY_ULTRA_MOB_PC 1680 - Ultra mobile PC. 1681 CSR_WIFI_SME_WPS_GAMING_SUB_CATEGORY_CONSOLE 1682 - Game console/Game console adapter 1683 CSR_WIFI_SME_WPS_PSFC_SUB_CATEGORY_CPR 1684 - Copier 1685 CSR_WIFI_SME_WPS_AUDIO_SUB_CATEGORY_HEADSET 1686 - Headset(headphones + microphone) 1687 CSR_WIFI_SME_WPS_TELEPHONE_SUB_CATEGORY_SP_SM 1688 - Smart phone - Single mode 1689 CSR_WIFI_SME_WPS_DISPLAY_SUB_CATEGORY_MONITOR 1690 - Monitor. 1691 CSR_WIFI_SME_WPS_INPUT_DEV_SUB_CATEGORY_GAME_CTRL 1692 - Game control. 1693 CSR_WIFI_SME_WPS_PSFC_SUB_CATEGORY_ALL 1694 - All-in-One 1695 CSR_WIFI_SME_WPS_MM_SUB_CATEGORY_MEDIA 1696 - Media Server/Media Adapter/Media Extender 1697 CSR_WIFI_SME_WPS_TELEPHONE_SUB_CATEGORY_SP_DM 1698 - Smart phone - Dual mode 1699 CSR_WIFI_SME_WPS_GAMING_SUB_CATEGORY_PORT_DEV 1700 - Portable gaming device 1701 CSR_WIFI_SME_WPS_AUDIO_SUB_CATEGORY_HEADPHONE 1702 - Headphone. 1703 CSR_WIFI_SME_WPS_COMPUTER_SUB_CATEGORY_NOTEBOOK 1704 - Notebook. 1705 CSR_WIFI_SME_WPS_INPUT_DEV_SUB_CATEGORY_REMOTE 1706 - Remote control 1707 CSR_WIFI_SME_WPS_AUDIO_SUB_CATEGORY_MIC 1708 - Microphone 1709 CSR_WIFI_SME_WPS_COMPUTER_SUB_CATEGORY_DESKTOP 1710 - Desktop. 1711 CSR_WIFI_SME_WPS_MM_SUB_CATEGORY_VP 1712 - Portable video player 1713 CSR_WIFI_SME_WPS_COMPUTER_SUB_CATEGORY_MID 1714 - Mobile internet device 1715 CSR_WIFI_SME_WPS_INPUT_DEV_SUB_CATEGORY_TOUCH_SCRN 1716 - Touch screen 1717 CSR_WIFI_SME_WPS_INPUT_DEV_SUB_CATEGORY_BIOMET_RDR 1718 - Biometric reader 1719 CSR_WIFI_SME_WPS_COMPUTER_SUB_CATEGORY_NETBOOK 1720 - Netbook 1721 CSR_WIFI_SME_WPS_INPUT_DEV_SUB_CATEGORY_BRCD_RDR 1722 - Bar code reader. 1723 1724 *******************************************************************************/ 1725 typedef u8 CsrWifiSmeWpsDeviceSubCategory; 1726 #define CSR_WIFI_SME_WPS_SUB_CATEGORY_UNSPECIFIED ((CsrWifiSmeWpsDeviceSubCategory) 0x00) 1727 #define CSR_WIFI_SME_WPS_STORAGE_SUB_CATEGORY_NAS ((CsrWifiSmeWpsDeviceSubCategory) 0x01) 1728 #define CSR_WIFI_SME_WPS_PSFC_SUB_CATEGORY_PRNTR ((CsrWifiSmeWpsDeviceSubCategory) 0x01) 1729 #define CSR_WIFI_SME_WPS_TELEPHONE_SUB_CATEGORY_WM ((CsrWifiSmeWpsDeviceSubCategory) 0x01) 1730 #define CSR_WIFI_SME_WPS_AUDIO_SUB_CATEGORY_TUNER ((CsrWifiSmeWpsDeviceSubCategory) 0x01) 1731 #define CSR_WIFI_SME_WPS_CAMERA_SUB_CATEGORY_DIG_STL ((CsrWifiSmeWpsDeviceSubCategory) 0x01) 1732 #define CSR_WIFI_SME_WPS_NET_INFRA_SUB_CATEGORY_AP ((CsrWifiSmeWpsDeviceSubCategory) 0x01) 1733 #define CSR_WIFI_SME_WPS_DISPLAY_SUB_CATEGORY_TV ((CsrWifiSmeWpsDeviceSubCategory) 0x01) 1734 #define CSR_WIFI_SME_WPS_MM_SUB_CATEGORY_DAR ((CsrWifiSmeWpsDeviceSubCategory) 0x01) 1735 #define CSR_WIFI_SME_WPS_INPUT_DEV_SUB_CATEGORY_KEYBD ((CsrWifiSmeWpsDeviceSubCategory) 0x01) 1736 #define CSR_WIFI_SME_WPS_COMPUTER_SUB_CATEGORY_PC ((CsrWifiSmeWpsDeviceSubCategory) 0x01) 1737 #define CSR_WIFI_SME_WPS_GAMING_SUB_CATEGORY_XBOX ((CsrWifiSmeWpsDeviceSubCategory) 0x01) 1738 #define CSR_WIFI_SME_WPS_PSFC_SUB_CATEGORY_SCNR ((CsrWifiSmeWpsDeviceSubCategory) 0x02) 1739 #define CSR_WIFI_SME_WPS_COMPUTER_SUB_CATEGORY_SERVER ((CsrWifiSmeWpsDeviceSubCategory) 0x02) 1740 #define CSR_WIFI_SME_WPS_NET_INFRA_SUB_CATEGORY_ROUTER ((CsrWifiSmeWpsDeviceSubCategory) 0x02) 1741 #define CSR_WIFI_SME_WPS_MM_SUB_CATEGORY_PVR ((CsrWifiSmeWpsDeviceSubCategory) 0x02) 1742 #define CSR_WIFI_SME_WPS_AUDIO_SUB_CATEGORY_SPEAKER ((CsrWifiSmeWpsDeviceSubCategory) 0x02) 1743 #define CSR_WIFI_SME_WPS_TELEPHONE_SUB_CATEGORY_FP_SM ((CsrWifiSmeWpsDeviceSubCategory) 0x02) 1744 #define CSR_WIFI_SME_WPS_CAMERA_SUB_CATEGORY_VIDEO ((CsrWifiSmeWpsDeviceSubCategory) 0x02) 1745 #define CSR_WIFI_SME_WPS_DISPLAY_SUB_CATEGORY_PIC_FRM ((CsrWifiSmeWpsDeviceSubCategory) 0x02) 1746 #define CSR_WIFI_SME_WPS_GAMING_SUB_CATEGORY_XBOX_360 ((CsrWifiSmeWpsDeviceSubCategory) 0x02) 1747 #define CSR_WIFI_SME_WPS_INPUT_DEV_SUB_CATEGORY_MOUSE ((CsrWifiSmeWpsDeviceSubCategory) 0x02) 1748 #define CSR_WIFI_SME_WPS_NET_INFRA_SUB_CATEGORY_SWITCH ((CsrWifiSmeWpsDeviceSubCategory) 0x03) 1749 #define CSR_WIFI_SME_WPS_AUDIO_SUB_CATEGORY_PMP ((CsrWifiSmeWpsDeviceSubCategory) 0x03) 1750 #define CSR_WIFI_SME_WPS_INPUT_DEV_SUB_CATEGORY_JOYSTK ((CsrWifiSmeWpsDeviceSubCategory) 0x03) 1751 #define CSR_WIFI_SME_WPS_GAMING_SUB_CATEGORY_PLAY_STN ((CsrWifiSmeWpsDeviceSubCategory) 0x03) 1752 #define CSR_WIFI_SME_WPS_COMPUTER_SUB_CATEGORY_MED_CENT ((CsrWifiSmeWpsDeviceSubCategory) 0x03) 1753 #define CSR_WIFI_SME_WPS_MM_SUB_CATEGORY_MCX ((CsrWifiSmeWpsDeviceSubCategory) 0x03) 1754 #define CSR_WIFI_SME_WPS_TELEPHONE_SUB_CATEGORY_FP_DM ((CsrWifiSmeWpsDeviceSubCategory) 0x03) 1755 #define CSR_WIFI_SME_WPS_CAMERA_SUB_CATEGORY_WEB ((CsrWifiSmeWpsDeviceSubCategory) 0x03) 1756 #define CSR_WIFI_SME_WPS_PSFC_SUB_CATEGORY_FAX ((CsrWifiSmeWpsDeviceSubCategory) 0x03) 1757 #define CSR_WIFI_SME_WPS_DISPLAY_SUB_CATEGORY_PROJECTOR ((CsrWifiSmeWpsDeviceSubCategory) 0x03) 1758 #define CSR_WIFI_SME_WPS_INPUT_DEV_SUB_CATEGORY_TRKBL ((CsrWifiSmeWpsDeviceSubCategory) 0x04) 1759 #define CSR_WIFI_SME_WPS_MM_SUB_CATEGORY_ST_BOX ((CsrWifiSmeWpsDeviceSubCategory) 0x04) 1760 #define CSR_WIFI_SME_WPS_NET_INFRA_SUB_CATEGORY_GATEWAY ((CsrWifiSmeWpsDeviceSubCategory) 0x04) 1761 #define CSR_WIFI_SME_WPS_CAMERA_SUB_CATEGORY_SECURITY ((CsrWifiSmeWpsDeviceSubCategory) 0x04) 1762 #define CSR_WIFI_SME_WPS_COMPUTER_SUB_CATEGORY_ULTRA_MOB_PC ((CsrWifiSmeWpsDeviceSubCategory) 0x04) 1763 #define CSR_WIFI_SME_WPS_GAMING_SUB_CATEGORY_CONSOLE ((CsrWifiSmeWpsDeviceSubCategory) 0x04) 1764 #define CSR_WIFI_SME_WPS_PSFC_SUB_CATEGORY_CPR ((CsrWifiSmeWpsDeviceSubCategory) 0x04) 1765 #define CSR_WIFI_SME_WPS_AUDIO_SUB_CATEGORY_HEADSET ((CsrWifiSmeWpsDeviceSubCategory) 0x04) 1766 #define CSR_WIFI_SME_WPS_TELEPHONE_SUB_CATEGORY_SP_SM ((CsrWifiSmeWpsDeviceSubCategory) 0x04) 1767 #define CSR_WIFI_SME_WPS_DISPLAY_SUB_CATEGORY_MONITOR ((CsrWifiSmeWpsDeviceSubCategory) 0x04) 1768 #define CSR_WIFI_SME_WPS_INPUT_DEV_SUB_CATEGORY_GAME_CTRL ((CsrWifiSmeWpsDeviceSubCategory) 0x05) 1769 #define CSR_WIFI_SME_WPS_PSFC_SUB_CATEGORY_ALL ((CsrWifiSmeWpsDeviceSubCategory) 0x05) 1770 #define CSR_WIFI_SME_WPS_MM_SUB_CATEGORY_MEDIA ((CsrWifiSmeWpsDeviceSubCategory) 0x05) 1771 #define CSR_WIFI_SME_WPS_TELEPHONE_SUB_CATEGORY_SP_DM ((CsrWifiSmeWpsDeviceSubCategory) 0x05) 1772 #define CSR_WIFI_SME_WPS_GAMING_SUB_CATEGORY_PORT_DEV ((CsrWifiSmeWpsDeviceSubCategory) 0x05) 1773 #define CSR_WIFI_SME_WPS_AUDIO_SUB_CATEGORY_HEADPHONE ((CsrWifiSmeWpsDeviceSubCategory) 0x05) 1774 #define CSR_WIFI_SME_WPS_COMPUTER_SUB_CATEGORY_NOTEBOOK ((CsrWifiSmeWpsDeviceSubCategory) 0x05) 1775 #define CSR_WIFI_SME_WPS_INPUT_DEV_SUB_CATEGORY_REMOTE ((CsrWifiSmeWpsDeviceSubCategory) 0x06) 1776 #define CSR_WIFI_SME_WPS_AUDIO_SUB_CATEGORY_MIC ((CsrWifiSmeWpsDeviceSubCategory) 0x06) 1777 #define CSR_WIFI_SME_WPS_COMPUTER_SUB_CATEGORY_DESKTOP ((CsrWifiSmeWpsDeviceSubCategory) 0x06) 1778 #define CSR_WIFI_SME_WPS_MM_SUB_CATEGORY_VP ((CsrWifiSmeWpsDeviceSubCategory) 0x06) 1779 #define CSR_WIFI_SME_WPS_COMPUTER_SUB_CATEGORY_MID ((CsrWifiSmeWpsDeviceSubCategory) 0x07) 1780 #define CSR_WIFI_SME_WPS_INPUT_DEV_SUB_CATEGORY_TOUCH_SCRN ((CsrWifiSmeWpsDeviceSubCategory) 0x07) 1781 #define CSR_WIFI_SME_WPS_INPUT_DEV_SUB_CATEGORY_BIOMET_RDR ((CsrWifiSmeWpsDeviceSubCategory) 0x08) 1782 #define CSR_WIFI_SME_WPS_COMPUTER_SUB_CATEGORY_NETBOOK ((CsrWifiSmeWpsDeviceSubCategory) 0x08) 1783 #define CSR_WIFI_SME_WPS_INPUT_DEV_SUB_CATEGORY_BRCD_RDR ((CsrWifiSmeWpsDeviceSubCategory) 0x09) 1784 1785 /******************************************************************************* 1786 1787 NAME 1788 CsrWifiSmeWpsDpid 1789 1790 DESCRIPTION 1791 Device Password ID for the chosen config method 1792 1793 VALUES 1794 CSR_WIFI_SME_WPS_DPID_PIN - PIN 1795 CSR_WIFI_SME_WPS_DPID_USER - User specified : Used only during P2P GO 1796 negotiation procedure 1797 CSR_WIFI_SME_WPS_DPID_MACHINE - Machine specified i: Not used in this 1798 release 1799 CSR_WIFI_SME_WPS_DPID_REKEY - Rekey : Not used in this release 1800 CSR_WIFI_SME_WPS_DPID_PBC - PBC 1801 CSR_WIFI_SME_WPS_DPID_REGISTRAR - Registrar specified : Used only in P2P Go 1802 negotiation procedure 1803 1804 *******************************************************************************/ 1805 typedef u16 CsrWifiSmeWpsDpid; 1806 #define CSR_WIFI_SME_WPS_DPID_PIN ((CsrWifiSmeWpsDpid) 0x0000) 1807 #define CSR_WIFI_SME_WPS_DPID_USER ((CsrWifiSmeWpsDpid) 0x0001) 1808 #define CSR_WIFI_SME_WPS_DPID_MACHINE ((CsrWifiSmeWpsDpid) 0x0002) 1809 #define CSR_WIFI_SME_WPS_DPID_REKEY ((CsrWifiSmeWpsDpid) 0x0003) 1810 #define CSR_WIFI_SME_WPS_DPID_PBC ((CsrWifiSmeWpsDpid) 0x0004) 1811 #define CSR_WIFI_SME_WPS_DPID_REGISTRAR ((CsrWifiSmeWpsDpid) 0x0005) 1812 1813 /******************************************************************************* 1814 1815 NAME 1816 CsrWifiSmeWpsRegistration 1817 1818 DESCRIPTION 1819 1820 VALUES 1821 CSR_WIFI_SME_WPS_REG_NOT_REQUIRED - No encryption set 1822 CSR_WIFI_SME_WPS_REG_REQUIRED - No encryption set 1823 CSR_WIFI_SME_WPS_REG_UNKNOWN - No encryption set 1824 1825 *******************************************************************************/ 1826 typedef u8 CsrWifiSmeWpsRegistration; 1827 #define CSR_WIFI_SME_WPS_REG_NOT_REQUIRED ((CsrWifiSmeWpsRegistration) 0x00) 1828 #define CSR_WIFI_SME_WPS_REG_REQUIRED ((CsrWifiSmeWpsRegistration) 0x01) 1829 #define CSR_WIFI_SME_WPS_REG_UNKNOWN ((CsrWifiSmeWpsRegistration) 0x02) 1830 1831 1832 /******************************************************************************* 1833 1834 NAME 1835 CsrWifiSmeAuthModeMask 1836 1837 DESCRIPTION 1838 Mask type for use with the values defined by CsrWifiSmeAuthMode 1839 1840 *******************************************************************************/ 1841 typedef u16 CsrWifiSmeAuthModeMask; 1842 /******************************************************************************* 1843 1844 NAME 1845 CsrWifiSmeEncryptionMask 1846 1847 DESCRIPTION 1848 Mask type for use with the values defined by CsrWifiSmeEncryption 1849 1850 *******************************************************************************/ 1851 typedef u16 CsrWifiSmeEncryptionMask; 1852 /******************************************************************************* 1853 1854 NAME 1855 CsrWifiSmeIndicationsMask 1856 1857 DESCRIPTION 1858 Mask type for use with the values defined by CsrWifiSmeIndications 1859 1860 *******************************************************************************/ 1861 typedef u32 CsrWifiSmeIndicationsMask; 1862 /******************************************************************************* 1863 1864 NAME 1865 CsrWifiSmeP2pCapabilityMask 1866 1867 DESCRIPTION 1868 Mask type for use with the values defined by CsrWifiSmeP2pCapability 1869 1870 *******************************************************************************/ 1871 typedef u8 CsrWifiSmeP2pCapabilityMask; 1872 /******************************************************************************* 1873 1874 NAME 1875 CsrWifiSmeP2pGroupCapabilityMask 1876 1877 DESCRIPTION 1878 Mask type for use with the values defined by CsrWifiSmeP2pGroupCapability 1879 1880 *******************************************************************************/ 1881 typedef u8 CsrWifiSmeP2pGroupCapabilityMask; 1882 /******************************************************************************* 1883 1884 NAME 1885 CsrWifiSmeTspecCtrlMask 1886 1887 DESCRIPTION 1888 Mask type for use with the values defined by CsrWifiSmeTspecCtrl 1889 1890 *******************************************************************************/ 1891 typedef u8 CsrWifiSmeTspecCtrlMask; 1892 /******************************************************************************* 1893 1894 NAME 1895 CsrWifiSmeWmmModeMask 1896 1897 DESCRIPTION 1898 Mask type for use with the values defined by CsrWifiSmeWmmMode 1899 1900 *******************************************************************************/ 1901 typedef u8 CsrWifiSmeWmmModeMask; 1902 /******************************************************************************* 1903 1904 NAME 1905 CsrWifiSmeWmmQosInfoMask 1906 1907 DESCRIPTION 1908 Mask type for use with the values defined by CsrWifiSmeWmmQosInfo 1909 1910 *******************************************************************************/ 1911 typedef u8 CsrWifiSmeWmmQosInfoMask; 1912 /******************************************************************************* 1913 1914 NAME 1915 CsrWifiSmeWpsConfigTypeMask 1916 1917 DESCRIPTION 1918 Mask type for use with the values defined by CsrWifiSmeWpsConfigType 1919 1920 *******************************************************************************/ 1921 typedef u16 CsrWifiSmeWpsConfigTypeMask; 1922 1923 1924 /******************************************************************************* 1925 1926 NAME 1927 CsrWifiSmeAdHocConfig 1928 1929 DESCRIPTION 1930 Defines values to use when starting an Ad-hoc (IBSS) network. 1931 1932 MEMBERS 1933 atimWindowTu - ATIM window specified for IBSS 1934 beaconPeriodTu - Interval between beacon packets 1935 joinOnlyAttempts - Maximum number of attempts to join an ad-hoc network. 1936 The default value is 1. 1937 Set to 0 for infinite attempts. 1938 joinAttemptIntervalMs - Time between scans for joining the requested IBSS. 1939 1940 *******************************************************************************/ 1941 typedef struct 1942 { 1943 u16 atimWindowTu; 1944 u16 beaconPeriodTu; 1945 u16 joinOnlyAttempts; 1946 u16 joinAttemptIntervalMs; 1947 } CsrWifiSmeAdHocConfig; 1948 1949 /******************************************************************************* 1950 1951 NAME 1952 CsrWifiSmeAvailabilityConfig 1953 1954 DESCRIPTION 1955 1956 MEMBERS 1957 listenChannel - 1958 availabilityDuration - 1959 avalabilityPeriod - 1960 1961 *******************************************************************************/ 1962 typedef struct 1963 { 1964 u8 listenChannel; 1965 u16 availabilityDuration; 1966 u16 avalabilityPeriod; 1967 } CsrWifiSmeAvailabilityConfig; 1968 1969 /******************************************************************************* 1970 1971 NAME 1972 CsrWifiSmeCcxConfig 1973 1974 DESCRIPTION 1975 This type is reserved for future use and should not be used. 1976 1977 MEMBERS 1978 keepAliveTimeMs - NOT USED 1979 apRoamingEnabled - NOT USED 1980 measurementsMask - NOT USED 1981 ccxRadioMgtEnabled - NOT USED 1982 1983 *******************************************************************************/ 1984 typedef struct 1985 { 1986 u8 keepAliveTimeMs; 1987 u8 apRoamingEnabled; 1988 u8 measurementsMask; 1989 u8 ccxRadioMgtEnabled; 1990 } CsrWifiSmeCcxConfig; 1991 1992 /******************************************************************************* 1993 1994 NAME 1995 CsrWifiSmeCoexConfig 1996 1997 DESCRIPTION 1998 Parameters for the coexistence behaviour. 1999 2000 MEMBERS 2001 coexEnableSchemeManagement - Enables the Coexistence Management Scheme 2002 coexPeriodicWakeHost - If TRUE the firmware wakes up the host 2003 periodically according to the traffic 2004 period and latency parameters; the host 2005 will then send the data to transmit only 2006 when woken up. 2007 If FALSE, the firmware does not wake up the 2008 host and the host will send the data to 2009 transmit to the firmware whenever there is 2010 data to transmit 2011 coexTrafficBurstyLatencyMs - Period of awakening for the firmware used 2012 when bursty traffic is detected 2013 coexTrafficContinuousLatencyMs - Period of awakening for the firmware used 2014 when continuous traffic is detected 2015 coexObexBlackoutDurationMs - Blackout Duration when a Obex Connection is 2016 used 2017 coexObexBlackoutPeriodMs - Blackout Period when a Obex Connection is 2018 used 2019 coexA2dpBrBlackoutDurationMs - Blackout Duration when a Basic Rate A2DP 2020 Connection streaming data 2021 coexA2dpBrBlackoutPeriodMs - Blackout Period when a Basic Rate A2DP 2022 Connection streaming data 2023 coexA2dpEdrBlackoutDurationMs - Blackout Duration when an Enhanced Data 2024 Rate A2DP Connection streaming data 2025 coexA2dpEdrBlackoutPeriodMs - Blackout Period when an Enhanced Data Rate 2026 A2DP Connection streaming data 2027 coexPagingBlackoutDurationMs - Blackout Duration when a BT page is active 2028 coexPagingBlackoutPeriodMs - Blackout Period when a BT page is active 2029 coexInquiryBlackoutDurationMs - Blackout Duration when a BT inquiry is 2030 active 2031 coexInquiryBlackoutPeriodMs - Blackout Period when a BT inquiry is active 2032 2033 *******************************************************************************/ 2034 typedef struct 2035 { 2036 u8 coexEnableSchemeManagement; 2037 u8 coexPeriodicWakeHost; 2038 u16 coexTrafficBurstyLatencyMs; 2039 u16 coexTrafficContinuousLatencyMs; 2040 u16 coexObexBlackoutDurationMs; 2041 u16 coexObexBlackoutPeriodMs; 2042 u16 coexA2dpBrBlackoutDurationMs; 2043 u16 coexA2dpBrBlackoutPeriodMs; 2044 u16 coexA2dpEdrBlackoutDurationMs; 2045 u16 coexA2dpEdrBlackoutPeriodMs; 2046 u16 coexPagingBlackoutDurationMs; 2047 u16 coexPagingBlackoutPeriodMs; 2048 u16 coexInquiryBlackoutDurationMs; 2049 u16 coexInquiryBlackoutPeriodMs; 2050 } CsrWifiSmeCoexConfig; 2051 2052 /******************************************************************************* 2053 2054 NAME 2055 CsrWifiSmeConnectionStats 2056 2057 DESCRIPTION 2058 Indicates the statistics of the connection. 2059 The dot11 fields are defined in the Annex D of the IEEE 802.11 standard. 2060 2061 MEMBERS 2062 unifiTxDataRate 2063 - The bit rate currently in use for transmissions of unicast 2064 data frames; a data rate in units of 500kbit/s. 2065 On an infrastructure BSS, this is the data rate used in 2066 communicating with the associated access point; if there is 2067 none, an error is returned. 2068 On an IBSS, this is the data rate used for the last 2069 transmission of a unicast data frame to any station in the 2070 IBSS. If no such transmission has been made, an error is 2071 returned. 2072 unifiRxDataRate 2073 - As above for receiving data 2074 dot11RetryCount 2075 - See IEEE 802.11 Standard 2076 dot11MultipleRetryCount 2077 - See IEEE 802.11 Standard 2078 dot11AckFailureCount 2079 - See IEEE 802.11 Standard 2080 dot11FrameDuplicateCount 2081 - See IEEE 802.11 Standard 2082 dot11FcsErrorCount 2083 - See IEEE 802.11 Standard 2084 dot11RtsSuccessCount 2085 - See IEEE 802.11 Standard 2086 dot11RtsFailureCount 2087 - See IEEE 802.11 Standard 2088 dot11FailedCount 2089 - See IEEE 802.11 Standard 2090 dot11TransmittedFragmentCount 2091 - See IEEE 802.11 Standard 2092 dot11TransmittedFrameCount 2093 - See IEEE 802.11 Standard 2094 dot11WepExcludedCount 2095 - See IEEE 802.11 Standard 2096 dot11WepIcvErrorCount 2097 - See IEEE 802.11 Standard 2098 dot11WepUndecryptableCount 2099 - See IEEE 802.11 Standard 2100 dot11MulticastReceivedFrameCount 2101 - See IEEE 802.11 Standard 2102 dot11MulticastTransmittedFrameCount 2103 - See IEEE 802.11 Standard 2104 dot11ReceivedFragmentCount 2105 - See IEEE 802.11 Standard 2106 dot11Rsna4WayHandshakeFailures 2107 - See IEEE 802.11 Standard 2108 dot11RsnaTkipCounterMeasuresInvoked 2109 - See IEEE 802.11 Standard 2110 dot11RsnaStatsTkipLocalMicFailures 2111 - See IEEE 802.11 Standard 2112 dot11RsnaStatsTkipReplays 2113 - See IEEE 802.11 Standard 2114 dot11RsnaStatsTkipIcvErrors 2115 - See IEEE 802.11 Standard 2116 dot11RsnaStatsCcmpReplays 2117 - See IEEE 802.11 Standard 2118 dot11RsnaStatsCcmpDecryptErrors 2119 - See IEEE 802.11 Standard 2120 2121 *******************************************************************************/ 2122 typedef struct 2123 { 2124 u8 unifiTxDataRate; 2125 u8 unifiRxDataRate; 2126 u32 dot11RetryCount; 2127 u32 dot11MultipleRetryCount; 2128 u32 dot11AckFailureCount; 2129 u32 dot11FrameDuplicateCount; 2130 u32 dot11FcsErrorCount; 2131 u32 dot11RtsSuccessCount; 2132 u32 dot11RtsFailureCount; 2133 u32 dot11FailedCount; 2134 u32 dot11TransmittedFragmentCount; 2135 u32 dot11TransmittedFrameCount; 2136 u32 dot11WepExcludedCount; 2137 u32 dot11WepIcvErrorCount; 2138 u32 dot11WepUndecryptableCount; 2139 u32 dot11MulticastReceivedFrameCount; 2140 u32 dot11MulticastTransmittedFrameCount; 2141 u32 dot11ReceivedFragmentCount; 2142 u32 dot11Rsna4WayHandshakeFailures; 2143 u32 dot11RsnaTkipCounterMeasuresInvoked; 2144 u32 dot11RsnaStatsTkipLocalMicFailures; 2145 u32 dot11RsnaStatsTkipReplays; 2146 u32 dot11RsnaStatsTkipIcvErrors; 2147 u32 dot11RsnaStatsCcmpReplays; 2148 u32 dot11RsnaStatsCcmpDecryptErrors; 2149 } CsrWifiSmeConnectionStats; 2150 2151 /******************************************************************************* 2152 2153 NAME 2154 CsrWifiSmeDataBlock 2155 2156 DESCRIPTION 2157 Holds a generic data block to be passed through the interface 2158 2159 MEMBERS 2160 length - Length of the data block 2161 data - Points to the first byte of the data block 2162 2163 *******************************************************************************/ 2164 typedef struct 2165 { 2166 u16 length; 2167 u8 *data; 2168 } CsrWifiSmeDataBlock; 2169 2170 /******************************************************************************* 2171 2172 NAME 2173 CsrWifiSmeEmpty 2174 2175 DESCRIPTION 2176 Empty Structure to indicate that no parameters are available. 2177 2178 MEMBERS 2179 empty - Only element of the empty structure (always set to 0). 2180 2181 *******************************************************************************/ 2182 typedef struct 2183 { 2184 u8 empty; 2185 } CsrWifiSmeEmpty; 2186 2187 /******************************************************************************* 2188 2189 NAME 2190 CsrWifiSmeLinkQuality 2191 2192 DESCRIPTION 2193 Indicates the quality of the link 2194 2195 MEMBERS 2196 unifiRssi - Indicates the received signal strength indication of the link in 2197 dBm 2198 unifiSnr - Indicates the signal to noise ratio of the link in dB 2199 2200 *******************************************************************************/ 2201 typedef struct 2202 { 2203 s16 unifiRssi; 2204 s16 unifiSnr; 2205 } CsrWifiSmeLinkQuality; 2206 2207 /******************************************************************************* 2208 2209 NAME 2210 CsrWifiSmeMibConfig 2211 2212 DESCRIPTION 2213 Allows low level configuration in the chip. 2214 2215 MEMBERS 2216 unifiFixMaxTxDataRate - This attribute is used in combination with 2217 unifiFixTxDataRate. If it is FALSE, then 2218 unifiFixTxDataRate specifies a specific data 2219 rate to use. If it is TRUE, unifiFixTxDataRate 2220 instead specifies a maximum data rate. 2221 unifiFixTxDataRate - Transmit rate for unicast data. 2222 See MIB description for more details 2223 dot11RtsThreshold - See IEEE 802.11 Standard 2224 dot11FragmentationThreshold - See IEEE 802.11 Standard 2225 dot11CurrentTxPowerLevel - See IEEE 802.11 Standard 2226 2227 *******************************************************************************/ 2228 typedef struct 2229 { 2230 u8 unifiFixMaxTxDataRate; 2231 u8 unifiFixTxDataRate; 2232 u16 dot11RtsThreshold; 2233 u16 dot11FragmentationThreshold; 2234 u16 dot11CurrentTxPowerLevel; 2235 } CsrWifiSmeMibConfig; 2236 2237 /******************************************************************************* 2238 2239 NAME 2240 CsrWifiSmeP2pProfileIdentity 2241 2242 DESCRIPTION 2243 Details to be filled in 2244 2245 MEMBERS 2246 listenChannel - 2247 availabilityDuration - 2248 avalabilityPeriod - 2249 2250 *******************************************************************************/ 2251 typedef struct 2252 { 2253 u8 listenChannel; 2254 u16 availabilityDuration; 2255 u16 avalabilityPeriod; 2256 } CsrWifiSmeP2pProfileIdentity; 2257 2258 /******************************************************************************* 2259 2260 NAME 2261 CsrWifiSmePmkid 2262 2263 DESCRIPTION 2264 Defines a PMKID association with BSS 2265 2266 MEMBERS 2267 bssid - BSS identifier 2268 pmkid - PMKID 2269 2270 *******************************************************************************/ 2271 typedef struct 2272 { 2273 CsrWifiMacAddress bssid; 2274 u8 pmkid[16]; 2275 } CsrWifiSmePmkid; 2276 2277 /******************************************************************************* 2278 2279 NAME 2280 CsrWifiSmePmkidCandidate 2281 2282 DESCRIPTION 2283 Information for a PMKID candidate 2284 2285 MEMBERS 2286 bssid - BSS identifier 2287 preAuthAllowed - Indicates whether preauthentication is allowed 2288 2289 *******************************************************************************/ 2290 typedef struct 2291 { 2292 CsrWifiMacAddress bssid; 2293 u8 preAuthAllowed; 2294 } CsrWifiSmePmkidCandidate; 2295 2296 /******************************************************************************* 2297 2298 NAME 2299 CsrWifiSmePmkidList 2300 2301 DESCRIPTION 2302 NOT USED 2303 Used in the Sync access API 2304 2305 MEMBERS 2306 pmkidsCount - Number of PMKIDs in the list 2307 pmkids - Points to the first PMKID in the list 2308 2309 *******************************************************************************/ 2310 typedef struct 2311 { 2312 u8 pmkidsCount; 2313 CsrWifiSmePmkid *pmkids; 2314 } CsrWifiSmePmkidList; 2315 2316 /******************************************************************************* 2317 2318 NAME 2319 CsrWifiSmeRegulatoryDomainInfo 2320 2321 DESCRIPTION 2322 Regulatory domain options. 2323 2324 MEMBERS 2325 dot11MultiDomainCapabilityImplemented 2326 - TRUE is the multi domain capability is implemented 2327 dot11MultiDomainCapabilityEnabled 2328 - TRUE is the multi domain capability is enabled 2329 currentRegulatoryDomain 2330 - Current regulatory domain 2331 currentCountryCode 2332 - Current country code as defined by the IEEE 802.11 2333 standards 2334 2335 *******************************************************************************/ 2336 typedef struct 2337 { 2338 u8 dot11MultiDomainCapabilityImplemented; 2339 u8 dot11MultiDomainCapabilityEnabled; 2340 CsrWifiSmeRegulatoryDomain currentRegulatoryDomain; 2341 u8 currentCountryCode[2]; 2342 } CsrWifiSmeRegulatoryDomainInfo; 2343 2344 /******************************************************************************* 2345 2346 NAME 2347 CsrWifiSmeRoamingBandData 2348 2349 DESCRIPTION 2350 Thresholds to define one usability level category for the received signal 2351 2352 MEMBERS 2353 rssiHighThreshold - Received Signal Strength Indication upper bound in dBm 2354 for the usability level 2355 rssiLowThreshold - Received Signal Strength Indication lower bound in dBm 2356 for the usability level 2357 snrHighThreshold - Signal to Noise Ratio upper bound in dB for the 2358 usability level 2359 snrLowThreshold - Signal to Noise Ratio lower bound in dB for the 2360 usability level 2361 2362 *******************************************************************************/ 2363 typedef struct 2364 { 2365 s16 rssiHighThreshold; 2366 s16 rssiLowThreshold; 2367 s16 snrHighThreshold; 2368 s16 snrLowThreshold; 2369 } CsrWifiSmeRoamingBandData; 2370 2371 /******************************************************************************* 2372 2373 NAME 2374 CsrWifiSmeScanConfigData 2375 2376 DESCRIPTION 2377 Configures the scanning behaviour of the driver and firmware 2378 2379 MEMBERS 2380 intervalSeconds - All the channels will be scanned once in this time 2381 interval. 2382 If connected, the channel scans are spread across 2383 the interval. 2384 If disconnected, all the channels will be scanned 2385 together 2386 validitySeconds - How long the scan result are cached 2387 minActiveChannelTimeTu - Minimum time of listening on a channel being 2388 actively scanned before leaving if no probe 2389 responses or beacon frames have been received 2390 maxActiveChannelTimeTu - Maximum time of listening on a channel being 2391 actively scanned 2392 minPassiveChannelTimeTu - Minimum time of listening on a channel being 2393 passive scanned before leaving if no beacon frames 2394 have been received 2395 maxPassiveChannelTimeTu - Maximum time of listening on a channel being 2396 passively scanned 2397 2398 *******************************************************************************/ 2399 typedef struct 2400 { 2401 u16 intervalSeconds; 2402 u16 validitySeconds; 2403 u16 minActiveChannelTimeTu; 2404 u16 maxActiveChannelTimeTu; 2405 u16 minPassiveChannelTimeTu; 2406 u16 maxPassiveChannelTimeTu; 2407 } CsrWifiSmeScanConfigData; 2408 2409 /******************************************************************************* 2410 2411 NAME 2412 CsrWifiSmeTsfTime 2413 2414 DESCRIPTION 2415 Time stamp representation 2416 2417 MEMBERS 2418 data - TSF Bytes 2419 2420 *******************************************************************************/ 2421 typedef struct 2422 { 2423 u8 data[8]; 2424 } CsrWifiSmeTsfTime; 2425 2426 /******************************************************************************* 2427 2428 NAME 2429 CsrWifiSmeVersions 2430 2431 DESCRIPTION 2432 Reports version information for the chip, the firmware and the driver and 2433 the SME. 2434 2435 MEMBERS 2436 chipId - Chip ID 2437 chipVersion - Chip version ID 2438 firmwareBuild - Firmware Rom build number 2439 firmwarePatch - Firmware Patch build number (if applicable) 2440 firmwareHip - Firmware HIP protocol version number 2441 routerBuild - Router build number 2442 routerHip - Router HIP protocol version number 2443 smeBuild - SME build number 2444 smeHip - SME HIP protocol version number 2445 2446 *******************************************************************************/ 2447 typedef struct 2448 { 2449 u32 chipId; 2450 u32 chipVersion; 2451 u32 firmwareBuild; 2452 u32 firmwarePatch; 2453 u32 firmwareHip; 2454 char *routerBuild; 2455 u32 routerHip; 2456 char *smeBuild; 2457 u32 smeHip; 2458 } CsrWifiSmeVersions; 2459 2460 /******************************************************************************* 2461 2462 NAME 2463 CsrWifiSmeWmmAcParams 2464 2465 DESCRIPTION 2466 Structure holding WMM AC params data. 2467 2468 MEMBERS 2469 cwMin - Exponent for the calculation of CWmin. Range: 0 2470 to 15 2471 cwMax - Exponent for the calculation of CWmax. Range: 0 2472 to15 2473 aifs - Arbitration Inter Frame Spacing in terms of 2474 number of timeslots. Range 2 to 15 2475 txopLimit - TXOP Limit in the units of 32 microseconds 2476 admissionControlMandatory - Indicates whether the admission control is 2477 mandatory or not. Current release does not 2478 support admission control , hence shall be set 2479 to FALSE. 2480 2481 *******************************************************************************/ 2482 typedef struct 2483 { 2484 u8 cwMin; 2485 u8 cwMax; 2486 u8 aifs; 2487 u16 txopLimit; 2488 u8 admissionControlMandatory; 2489 } CsrWifiSmeWmmAcParams; 2490 2491 /******************************************************************************* 2492 2493 NAME 2494 CsrWifiSmeWpsDeviceType 2495 2496 DESCRIPTION 2497 Structure holding AP WPS device type data. 2498 2499 MEMBERS 2500 deviceDetails - category , sub category etc 2501 2502 *******************************************************************************/ 2503 typedef struct 2504 { 2505 u8 deviceDetails[8]; 2506 } CsrWifiSmeWpsDeviceType; 2507 2508 /******************************************************************************* 2509 2510 NAME 2511 CsrWifiSmeWpsDeviceTypeCommon 2512 2513 DESCRIPTION 2514 2515 MEMBERS 2516 spportWps - 2517 deviceType - 2518 2519 *******************************************************************************/ 2520 typedef struct 2521 { 2522 u8 spportWps; 2523 u8 deviceType; 2524 } CsrWifiSmeWpsDeviceTypeCommon; 2525 2526 /******************************************************************************* 2527 2528 NAME 2529 CsrWifiSmeWpsInfo 2530 2531 DESCRIPTION 2532 2533 MEMBERS 2534 version - 2535 configMethods - 2536 devicePassworId - 2537 2538 *******************************************************************************/ 2539 typedef struct 2540 { 2541 u16 version; 2542 u16 configMethods; 2543 u16 devicePassworId; 2544 } CsrWifiSmeWpsInfo; 2545 2546 /******************************************************************************* 2547 2548 NAME 2549 CsrWifiSmeCloakedSsidConfig 2550 2551 DESCRIPTION 2552 List of cloaked SSIDs . 2553 2554 MEMBERS 2555 cloakedSsidsCount - Number of cloaked SSID 2556 cloakedSsids - Points to the first byte of the first SSID provided 2557 2558 *******************************************************************************/ 2559 typedef struct 2560 { 2561 u8 cloakedSsidsCount; 2562 CsrWifiSsid *cloakedSsids; 2563 } CsrWifiSmeCloakedSsidConfig; 2564 2565 /******************************************************************************* 2566 2567 NAME 2568 CsrWifiSmeCoexInfo 2569 2570 DESCRIPTION 2571 Information and state related to coexistence. 2572 2573 MEMBERS 2574 hasTrafficData - TRUE if any Wi-Fi traffic is detected 2575 currentTrafficType - Current type of traffic 2576 currentPeriodMs - Period of the traffic as detected by the traffic 2577 analysis. 2578 If the traffic is not periodic, it is set to 0. 2579 currentPowerSave - Current power save level 2580 currentCoexPeriodMs - Period of awakening for the firmware used when 2581 periodic traffic is detected. 2582 If the traffic is not periodic, it is set to 0. 2583 currentCoexLatencyMs - Period of awakening for the firmware used when 2584 non-periodic traffic is detected 2585 hasBtDevice - TRUE if there is a Bluetooth device connected 2586 currentBlackoutDurationUs - Current blackout duration for protecting 2587 Bluetooth 2588 currentBlackoutPeriodUs - Current blackout period 2589 currentCoexScheme - Defines the scheme for the coexistence 2590 signalling 2591 2592 *******************************************************************************/ 2593 typedef struct 2594 { 2595 u8 hasTrafficData; 2596 CsrWifiSmeTrafficType currentTrafficType; 2597 u16 currentPeriodMs; 2598 CsrWifiSmePowerSaveLevel currentPowerSave; 2599 u16 currentCoexPeriodMs; 2600 u16 currentCoexLatencyMs; 2601 u8 hasBtDevice; 2602 u32 currentBlackoutDurationUs; 2603 u32 currentBlackoutPeriodUs; 2604 CsrWifiSmeCoexScheme currentCoexScheme; 2605 } CsrWifiSmeCoexInfo; 2606 2607 /******************************************************************************* 2608 2609 NAME 2610 CsrWifiSmeConnectionConfig 2611 2612 DESCRIPTION 2613 Specifies the parameters that the SME should use in selecting a network. 2614 2615 MEMBERS 2616 ssid 2617 - Service Set identifier 2618 bssid 2619 - BSS identifier 2620 bssType 2621 - Indicates the type of BSS 2622 ifIndex 2623 - Indicates the radio interface 2624 privacyMode 2625 - Specifies whether the privacy mode is enabled or disabled. 2626 authModeMask 2627 - Sets the authentication options that the SME can use while 2628 associating to the AP 2629 Set mask with values from CsrWifiSmeAuthMode 2630 encryptionModeMask 2631 - Sets the encryption options that the SME can use while 2632 associating to the AP 2633 Set mask with values from CsrWifiSmeEncryption 2634 mlmeAssociateReqInformationElementsLength 2635 - Length in bytes of information elements to be sent in the 2636 Association Request. 2637 mlmeAssociateReqInformationElements 2638 - Points to the first byte of the information elements, if 2639 any. 2640 wmmQosInfo 2641 - This parameter allows the driver's WMM behaviour to be 2642 configured. 2643 To enable support for WMM, use 2644 CSR_WIFI_SME_SME_CONFIG_SET_REQ with the 2645 CSR_WIFI_SME_WMM_MODE_AC_ENABLED bit set in wmmModeMask 2646 field in smeConfig parameter. 2647 Set mask with values from CsrWifiSmeWmmQosInfo 2648 adhocJoinOnly 2649 - This parameter is relevant only if bssType is NOT set to 2650 CSR_WIFI_SME_BSS_TYPE_INFRASTRUCTURE: 2651 if TRUE the SME will only try to join an ad-hoc network if 2652 there is one already established; 2653 if FALSE the SME will try to join an ad-hoc network if 2654 there is one already established or it will try to 2655 establish a new one 2656 adhocChannel 2657 - This parameter is relevant only if bssType is NOT set to 2658 CSR_WIFI_SME_BSS_TYPE_INFRASTRUCTURE: 2659 it indicates the channel to use joining an ad hoc network. 2660 Setting this to 0 causes the SME to select a channel from 2661 those permitted in the regulatory domain. 2662 2663 *******************************************************************************/ 2664 typedef struct 2665 { 2666 CsrWifiSsid ssid; 2667 CsrWifiMacAddress bssid; 2668 CsrWifiSmeBssType bssType; 2669 CsrWifiSmeRadioIF ifIndex; 2670 CsrWifiSme80211PrivacyMode privacyMode; 2671 CsrWifiSmeAuthModeMask authModeMask; 2672 CsrWifiSmeEncryptionMask encryptionModeMask; 2673 u16 mlmeAssociateReqInformationElementsLength; 2674 u8 *mlmeAssociateReqInformationElements; 2675 CsrWifiSmeWmmQosInfoMask wmmQosInfo; 2676 u8 adhocJoinOnly; 2677 u8 adhocChannel; 2678 } CsrWifiSmeConnectionConfig; 2679 2680 /******************************************************************************* 2681 2682 NAME 2683 CsrWifiSmeConnectionInfo 2684 2685 DESCRIPTION 2686 Parameters that the SME should use in selecting a network 2687 2688 MEMBERS 2689 ssid - Service set identifier 2690 bssid - BSS identifier 2691 networkType80211 - Physical layer used for the connection 2692 channelNumber - Channel number 2693 channelFrequency - Channel frequency 2694 authMode - Authentication mode used for the connection 2695 pairwiseCipher - Encryption type for peer to peer communication 2696 groupCipher - Encryption type for broadcast and multicast 2697 communication 2698 ifIndex - Indicates the radio interface 2699 atimWindowTu - ATIM window specified for IBSS 2700 beaconPeriodTu - Interval between beacon packets 2701 reassociation - Indicates whether a reassociation occurred 2702 beaconFrameLength - Indicates the number of bytes of the beacon 2703 frame 2704 beaconFrame - Points at the first byte of the beacon frame 2705 associationReqFrameLength - Indicates the number of bytes of the 2706 association request frame 2707 associationReqFrame - Points at the first byte of the association 2708 request frame 2709 associationRspFrameLength - Indicates the number of bytes of the 2710 association response frame 2711 associationRspFrame - Points at the first byte of the association 2712 response frame 2713 assocScanInfoElementsLength - Indicates the number of bytes in the buffer 2714 pointed by assocScanInfoElements 2715 assocScanInfoElements - Pointer to the buffer containing the 2716 information elements of the probe response 2717 received after the probe requests sent before 2718 attempting to authenticate to the network 2719 assocReqCapabilities - Reports the content of the Capability 2720 information element as specified in the 2721 association request. 2722 assocReqListenIntervalTu - Listen Interval specified in the association 2723 request 2724 assocReqApAddress - AP address to which the association requests 2725 has been sent 2726 assocReqInfoElementsLength - Indicates the number of bytes of the 2727 association request information elements 2728 assocReqInfoElements - Points at the first byte of the association 2729 request information elements 2730 assocRspResult - Result reported in the association response 2731 assocRspCapabilityInfo - Reports the content of the Capability 2732 information element as received in the 2733 association response. 2734 assocRspAssociationId - Reports the association ID received in the 2735 association response. 2736 assocRspInfoElementsLength - Indicates the number of bytes of the 2737 association response information elements 2738 assocRspInfoElements - Points at the first byte of the association 2739 response information elements 2740 2741 *******************************************************************************/ 2742 typedef struct 2743 { 2744 CsrWifiSsid ssid; 2745 CsrWifiMacAddress bssid; 2746 CsrWifiSme80211NetworkType networkType80211; 2747 u8 channelNumber; 2748 u16 channelFrequency; 2749 CsrWifiSmeAuthMode authMode; 2750 CsrWifiSmeEncryption pairwiseCipher; 2751 CsrWifiSmeEncryption groupCipher; 2752 CsrWifiSmeRadioIF ifIndex; 2753 u16 atimWindowTu; 2754 u16 beaconPeriodTu; 2755 u8 reassociation; 2756 u16 beaconFrameLength; 2757 u8 *beaconFrame; 2758 u16 associationReqFrameLength; 2759 u8 *associationReqFrame; 2760 u16 associationRspFrameLength; 2761 u8 *associationRspFrame; 2762 u16 assocScanInfoElementsLength; 2763 u8 *assocScanInfoElements; 2764 u16 assocReqCapabilities; 2765 u16 assocReqListenIntervalTu; 2766 CsrWifiMacAddress assocReqApAddress; 2767 u16 assocReqInfoElementsLength; 2768 u8 *assocReqInfoElements; 2769 CsrWifiSmeIEEE80211Result assocRspResult; 2770 u16 assocRspCapabilityInfo; 2771 u16 assocRspAssociationId; 2772 u16 assocRspInfoElementsLength; 2773 u8 *assocRspInfoElements; 2774 } CsrWifiSmeConnectionInfo; 2775 2776 /******************************************************************************* 2777 2778 NAME 2779 CsrWifiSmeDeviceConfig 2780 2781 DESCRIPTION 2782 General configuration options in the SME 2783 2784 MEMBERS 2785 trustLevel - Level of trust of the information coming from the 2786 network 2787 countryCode - Country code as specified by IEEE 802.11 standard 2788 firmwareDriverInterface - Specifies the type of communication between Host 2789 and Firmware 2790 enableStrictDraftN - If TRUE TKIP is disallowed when connecting to 2791 802.11n enabled access points 2792 2793 *******************************************************************************/ 2794 typedef struct 2795 { 2796 CsrWifiSme80211dTrustLevel trustLevel; 2797 u8 countryCode[2]; 2798 CsrWifiSmeFirmwareDriverInterface firmwareDriverInterface; 2799 u8 enableStrictDraftN; 2800 } CsrWifiSmeDeviceConfig; 2801 2802 /******************************************************************************* 2803 2804 NAME 2805 CsrWifiSmeDeviceInfo 2806 2807 DESCRIPTION 2808 P2P Information for a P2P Device 2809 2810 MEMBERS 2811 deviceAddress - Device Address of the P2P device 2812 configMethods - Supported WPS configuration methods. 2813 p2PDeviceCap - P2P device capabilities 2814 primDeviceType - Primary WPS device type 2815 secondaryDeviceTypeCount - Number of secondary device types 2816 secDeviceType - list of secondary WPS device types 2817 deviceName - Device name without up to 32 characters'\0'. 2818 deviceNameLength - Number of characters of the device name 2819 2820 *******************************************************************************/ 2821 typedef struct 2822 { 2823 CsrWifiMacAddress deviceAddress; 2824 CsrWifiSmeWpsConfigTypeMask configMethods; 2825 CsrWifiSmeP2pCapabilityMask p2PDeviceCap; 2826 CsrWifiSmeWpsDeviceType primDeviceType; 2827 u8 secondaryDeviceTypeCount; 2828 CsrWifiSmeWpsDeviceType *secDeviceType; 2829 u8 deviceName[32]; 2830 u8 deviceNameLength; 2831 } CsrWifiSmeDeviceInfo; 2832 2833 /******************************************************************************* 2834 2835 NAME 2836 CsrWifiSmeDeviceInfoCommon 2837 2838 DESCRIPTION 2839 Structure holding device information. 2840 2841 MEMBERS 2842 p2pDeviceAddress - 2843 primaryDeviceType - 2844 secondaryDeviceTypesCount - 2845 secondaryDeviceTypes - 2846 deviceNameLength - 2847 deviceName - 2848 2849 *******************************************************************************/ 2850 typedef struct 2851 { 2852 CsrWifiMacAddress p2pDeviceAddress; 2853 CsrWifiSmeWpsDeviceTypeCommon primaryDeviceType; 2854 u8 secondaryDeviceTypesCount; 2855 u8 secondaryDeviceTypes[10]; 2856 u8 deviceNameLength; 2857 u8 deviceName[32]; 2858 } CsrWifiSmeDeviceInfoCommon; 2859 2860 /******************************************************************************* 2861 2862 NAME 2863 CsrWifiSmeHostConfig 2864 2865 DESCRIPTION 2866 Defines the host power state (for example, on mains power, on battery 2867 power etc) and the periodicity of the traffic data. 2868 2869 MEMBERS 2870 powerMode - The wireless manager application should use the 2871 powerMode parameter to inform the SME of the host 2872 power state. 2873 applicationDataPeriodMs - The applicationDataPeriodMs parameter allows a 2874 wireless manager application to inform the SME 2875 that an application is running that generates 2876 periodic network traffic and the period of the 2877 traffic. 2878 An example of such an application is a VoIP client. 2879 The wireless manager application should set 2880 applicationDataPeriodMs to the period in 2881 milliseconds between data packets or zero if no 2882 periodic application is running. 2883 Voip etc 0 = No Periodic Data 2884 2885 *******************************************************************************/ 2886 typedef struct 2887 { 2888 CsrWifiSmeHostPowerMode powerMode; 2889 u16 applicationDataPeriodMs; 2890 } CsrWifiSmeHostConfig; 2891 2892 /******************************************************************************* 2893 2894 NAME 2895 CsrWifiSmeKey 2896 2897 DESCRIPTION 2898 Information for a key to be used for encryption 2899 2900 MEMBERS 2901 keyType - Specifies whether the key is a pairwise or group key; it 2902 should be set to CSR_WIFI_SME_GROUP_KEY or 2903 CSR_WIFI_SME_PAIRWISE_KEY, as required. 2904 keyIndex - Specifies which WEP key (0-3) to set; it should be set to 0 2905 for a WPA/WPA2 pairwise key and non-zero for a WPA/WPA2 2906 group key. 2907 wepTxKey - If wepTxKey is TRUE, and the key is a WEP key, the key will 2908 be selected for encrypting transmitted packets. 2909 To select a previously defined key as the transmit 2910 encryption key, set keyIndex to the required key, wepTxKey 2911 to TRUE and the keyLength to 0. 2912 keyRsc - Key Receive Sequence Counter 2913 authenticator - If TRUE the WMA will act as authenticator. 2914 CURRENTLY NOT SUPPORTED 2915 address - BSS identifier of the AP 2916 keyLength - Length of the key in bytes 2917 key - Points to the first byte of the key 2918 2919 *******************************************************************************/ 2920 typedef struct 2921 { 2922 CsrWifiSmeKeyType keyType; 2923 u8 keyIndex; 2924 u8 wepTxKey; 2925 u16 keyRsc[8]; 2926 u8 authenticator; 2927 CsrWifiMacAddress address; 2928 u8 keyLength; 2929 u8 key[32]; 2930 } CsrWifiSmeKey; 2931 2932 /******************************************************************************* 2933 2934 NAME 2935 CsrWifiSmeP2pClientInfoType 2936 2937 DESCRIPTION 2938 P2P Information for a P2P Client 2939 2940 MEMBERS 2941 p2PClientInterfaceAddress - MAC address of the P2P Client 2942 clientDeviceInfo - Device Information 2943 2944 *******************************************************************************/ 2945 typedef struct 2946 { 2947 CsrWifiMacAddress p2PClientInterfaceAddress; 2948 CsrWifiSmeDeviceInfo clientDeviceInfo; 2949 } CsrWifiSmeP2pClientInfoType; 2950 2951 /******************************************************************************* 2952 2953 NAME 2954 CsrWifiSmeP2pGroupInfo 2955 2956 DESCRIPTION 2957 P2P Information for a P2P Group 2958 2959 MEMBERS 2960 groupCapability - P2P group capabilities 2961 p2pDeviceAddress - Device Address of the GO 2962 p2pClientInfoCount - Number of P2P Clients that belong to the group. 2963 p2PClientInfo - Pointer to the list containing client information for 2964 each client in the group 2965 2966 *******************************************************************************/ 2967 typedef struct 2968 { 2969 CsrWifiSmeP2pGroupCapabilityMask groupCapability; 2970 CsrWifiMacAddress p2pDeviceAddress; 2971 u8 p2pClientInfoCount; 2972 CsrWifiSmeP2pClientInfoType *p2PClientInfo; 2973 } CsrWifiSmeP2pGroupInfo; 2974 2975 /******************************************************************************* 2976 2977 NAME 2978 CsrWifiSmePowerConfig 2979 2980 DESCRIPTION 2981 Configures the power-save behaviour of the driver and firmware. 2982 2983 MEMBERS 2984 powerSaveLevel - Power Save Level option 2985 listenIntervalTu - Interval for waking to receive beacon frames 2986 rxDtims - If TRUE, wake for DTIM every beacon period, to 2987 allow the reception broadcast packets 2988 d3AutoScanMode - Defines whether the autonomous scanning will be 2989 turned off or will stay on during a D3 suspended 2990 period 2991 clientTrafficWindow - Deprecated 2992 opportunisticPowerSave - Deprecated 2993 noticeOfAbsence - Deprecated 2994 2995 *******************************************************************************/ 2996 typedef struct 2997 { 2998 CsrWifiSmePowerSaveLevel powerSaveLevel; 2999 u16 listenIntervalTu; 3000 u8 rxDtims; 3001 CsrWifiSmeD3AutoScanMode d3AutoScanMode; 3002 u8 clientTrafficWindow; 3003 u8 opportunisticPowerSave; 3004 u8 noticeOfAbsence; 3005 } CsrWifiSmePowerConfig; 3006 3007 /******************************************************************************* 3008 3009 NAME 3010 CsrWifiSmeRoamingConfig 3011 3012 DESCRIPTION 3013 Configures the roaming behaviour of the driver and firmware 3014 3015 MEMBERS 3016 roamingBands - Defines the thresholds to determine the usability 3017 level of the current connection. 3018 roamingBands is indexed by the first 3 entries of 3019 the CsrWifiSmeBasicUsability enum 3020 disableSmoothRoaming - Disable the RSSI/SNR triggers from the Firmware 3021 that the SME uses to detect the quality of the 3022 connection. 3023 This implicitly disables disableRoamScans 3024 disableRoamScans - Disables the scanning for the roaming operation 3025 reconnectLimit - Maximum number of times SME may reconnect in the 3026 given interval 3027 reconnectLimitIntervalMs - Interval for maximum number of times SME may 3028 reconnect to the same Access Point 3029 roamScanCfg - Scanning behaviour for the specifically aimed at 3030 improving roaming performance. 3031 roamScanCfg is indexed by the first 3 entries of 3032 the CsrWifiSmeBasicUsability enum 3033 3034 *******************************************************************************/ 3035 typedef struct 3036 { 3037 CsrWifiSmeRoamingBandData roamingBands[3]; 3038 u8 disableSmoothRoaming; 3039 u8 disableRoamScans; 3040 u8 reconnectLimit; 3041 u16 reconnectLimitIntervalMs; 3042 CsrWifiSmeScanConfigData roamScanCfg[3]; 3043 } CsrWifiSmeRoamingConfig; 3044 3045 /******************************************************************************* 3046 3047 NAME 3048 CsrWifiSmeScanConfig 3049 3050 DESCRIPTION 3051 Parameters for the autonomous scanning behaviour of the system 3052 3053 MEMBERS 3054 scanCfg - Scan configuration data. 3055 Indexed by the CsrWifiSmeBasicUsability enum 3056 disableAutonomousScans - Enables or disables the autonomous scan 3057 maxResults - Maximum number of results to be cached in the SME 3058 highRssiThreshold - High received signal strength indication threshold 3059 in dBm for an AP above which the system will 3060 report scan indications 3061 lowRssiThreshold - Low received signal strength indication threshold 3062 in dBm for an AP below which the system will 3063 report scan indications 3064 deltaRssiThreshold - Minimum difference for received signal strength 3065 indication in dBm for an AP which trigger a scan 3066 indication to be sent. 3067 highSnrThreshold - High Signal to Noise Ratio threshold in dB for an 3068 AP above which the system will report scan 3069 indications 3070 lowSnrThreshold - Low Signal to Noise Ratio threshold in dB for an 3071 AP below which the system will report scan 3072 indications 3073 deltaSnrThreshold - Minimum difference for Signal to Noise Ratio in dB 3074 for an AP which trigger a scan indication to be 3075 sent. 3076 passiveChannelListCount - Number of channels to be scanned passively. 3077 passiveChannelList - Points to the first channel to be scanned 3078 passively , if any. 3079 3080 *******************************************************************************/ 3081 typedef struct 3082 { 3083 CsrWifiSmeScanConfigData scanCfg[4]; 3084 u8 disableAutonomousScans; 3085 u16 maxResults; 3086 s8 highRssiThreshold; 3087 s8 lowRssiThreshold; 3088 s8 deltaRssiThreshold; 3089 s8 highSnrThreshold; 3090 s8 lowSnrThreshold; 3091 s8 deltaSnrThreshold; 3092 u16 passiveChannelListCount; 3093 u8 *passiveChannelList; 3094 } CsrWifiSmeScanConfig; 3095 3096 /******************************************************************************* 3097 3098 NAME 3099 CsrWifiSmeScanResult 3100 3101 DESCRIPTION 3102 This structure defines the scan result for each BSS found 3103 3104 MEMBERS 3105 ssid - Service set identifier 3106 bssid - BSS identifier 3107 rssi - Received signal strength indication in dBm 3108 snr - Signal to noise ratio in dB 3109 ifIndex - Indicates the radio interface 3110 beaconPeriodTu - Interval between beacon frames 3111 timeStamp - Timestamp in the BSS 3112 localTime - Timestamp in the Access Point 3113 channelFrequency - Channel frequency 3114 capabilityInformation - Capabilities of the BSS. 3115 channelNumber - Channel number 3116 usability - Indicates the usability level. 3117 bssType - Type of BSS. 3118 informationElementsLength - Number of bytes of the information elements 3119 received as part of the beacon or probe 3120 response. 3121 informationElements - Points to the first byte of the IEs received 3122 as part of the beacon or probe response. 3123 The format of the IEs is as specified in the 3124 IEEE 802.11 specification. 3125 p2pDeviceRole - Role of the P2P device. 3126 Relevant only if bssType is 3127 CSR_WIFI_SME_BSS_TYPE_P2P 3128 deviceInfo - Union containing P2P device info which 3129 depends on p2pDeviceRole parameter. 3130 deviceInforeservedCli - 3131 deviceInfogroupInfo - 3132 deviceInforeservedNone - 3133 deviceInfostandalonedevInfo - 3134 3135 *******************************************************************************/ 3136 typedef struct 3137 { 3138 CsrWifiSsid ssid; 3139 CsrWifiMacAddress bssid; 3140 s16 rssi; 3141 s16 snr; 3142 CsrWifiSmeRadioIF ifIndex; 3143 u16 beaconPeriodTu; 3144 CsrWifiSmeTsfTime timeStamp; 3145 CsrWifiSmeTsfTime localTime; 3146 u16 channelFrequency; 3147 u16 capabilityInformation; 3148 u8 channelNumber; 3149 CsrWifiSmeBasicUsability usability; 3150 CsrWifiSmeBssType bssType; 3151 u16 informationElementsLength; 3152 u8 *informationElements; 3153 CsrWifiSmeP2pRole p2pDeviceRole; 3154 union { 3155 CsrWifiSmeEmpty reservedCli; 3156 CsrWifiSmeP2pGroupInfo groupInfo; 3157 CsrWifiSmeEmpty reservedNone; 3158 CsrWifiSmeDeviceInfo standalonedevInfo; 3159 } deviceInfo; 3160 } CsrWifiSmeScanResult; 3161 3162 /******************************************************************************* 3163 3164 NAME 3165 CsrWifiSmeStaConfig 3166 3167 DESCRIPTION 3168 Station configuration options in the SME 3169 3170 MEMBERS 3171 connectionQualityRssiChangeTrigger - Sets the difference of RSSI 3172 measurements which triggers reports 3173 from the Firmware 3174 connectionQualitySnrChangeTrigger - Sets the difference of SNR measurements 3175 which triggers reports from the 3176 Firmware 3177 wmmModeMask - Mask containing one or more values from 3178 CsrWifiSmeWmmMode 3179 ifIndex - Indicates the band of frequencies used 3180 allowUnicastUseGroupCipher - If TRUE, it allows to use groupwise 3181 keys if no pairwise key is specified 3182 enableOpportunisticKeyCaching - If TRUE, enables the Opportunistic Key 3183 Caching feature 3184 3185 *******************************************************************************/ 3186 typedef struct 3187 { 3188 u8 connectionQualityRssiChangeTrigger; 3189 u8 connectionQualitySnrChangeTrigger; 3190 CsrWifiSmeWmmModeMask wmmModeMask; 3191 CsrWifiSmeRadioIF ifIndex; 3192 u8 allowUnicastUseGroupCipher; 3193 u8 enableOpportunisticKeyCaching; 3194 } CsrWifiSmeStaConfig; 3195 3196 /******************************************************************************* 3197 3198 NAME 3199 CsrWifiSmeWep128Keys 3200 3201 DESCRIPTION 3202 Structure holding WEP Authentication Type and WEP keys that can be used 3203 when using WEP128. 3204 3205 MEMBERS 3206 wepAuthType - Mask to select the WEP authentication type (Open or Shared) 3207 selectedWepKey - Index to one of the four keys below indicating the 3208 currently used WEP key. Mapping From SME/User -> firmware. 3209 Key 1 -> Index 0. Key 2 -> Index 1. key 3 -> Index 2. Key 3210 4-> Index 3. 3211 key1 - Value for key number 1. 3212 key2 - Value for key number 2. 3213 key3 - Value for key number 3. 3214 key4 - Value for key number 4. 3215 3216 *******************************************************************************/ 3217 typedef struct 3218 { 3219 CsrWifiSmeWepAuthMode wepAuthType; 3220 u8 selectedWepKey; 3221 u8 key1[13]; 3222 u8 key2[13]; 3223 u8 key3[13]; 3224 u8 key4[13]; 3225 } CsrWifiSmeWep128Keys; 3226 3227 /******************************************************************************* 3228 3229 NAME 3230 CsrWifiSmeWep64Keys 3231 3232 DESCRIPTION 3233 Structure holding WEP Authentication Type and WEP keys that can be used 3234 when using WEP64. 3235 3236 MEMBERS 3237 wepAuthType - Mask to select the WEP authentication type (Open or Shared) 3238 selectedWepKey - Index to one of the four keys below indicating the 3239 currently used WEP key. Mapping From SME/User -> firmware. 3240 Key 1 -> Index 0. Key 2 -> Index 1. key 3 -> Index 2. Key 3241 4-> Index 3. 3242 key1 - Value for key number 1. 3243 key2 - Value for key number 2. 3244 key3 - Value for key number 3. 3245 key4 - Value for key number 4. 3246 3247 *******************************************************************************/ 3248 typedef struct 3249 { 3250 CsrWifiSmeWepAuthMode wepAuthType; 3251 u8 selectedWepKey; 3252 u8 key1[5]; 3253 u8 key2[5]; 3254 u8 key3[5]; 3255 u8 key4[5]; 3256 } CsrWifiSmeWep64Keys; 3257 3258 /******************************************************************************* 3259 3260 NAME 3261 CsrWifiSmeWepAuth 3262 3263 DESCRIPTION 3264 WEP authentication parameter structure 3265 3266 MEMBERS 3267 wepKeyType - WEP key try (128 bit or 64 bit) 3268 wepCredentials - Union containing credentials which depends on 3269 wepKeyType parameter. 3270 wepCredentialswep128Key - 3271 wepCredentialswep64Key - 3272 3273 *******************************************************************************/ 3274 typedef struct 3275 { 3276 CsrWifiSmeWepCredentialType wepKeyType; 3277 union { 3278 CsrWifiSmeWep128Keys wep128Key; 3279 CsrWifiSmeWep64Keys wep64Key; 3280 } wepCredentials; 3281 } CsrWifiSmeWepAuth; 3282 3283 /******************************************************************************* 3284 3285 NAME 3286 CsrWifiSmeWpsConfig 3287 3288 DESCRIPTION 3289 Structure holding AP WPS Config data. 3290 3291 MEMBERS 3292 wpsVersion - wpsVersion should be 0x10 for WPS1.0h or 0x20 for 3293 WSC2.0 3294 uuid - uuid. 3295 deviceName - Device name upto 32 characters without '\0'. 3296 deviceNameLength - deviceNameLen. 3297 manufacturer - manufacturer: CSR 3298 manufacturerLength - manufacturerLen. 3299 modelName - modelName Unifi 3300 modelNameLength - modelNameLen. 3301 modelNumber - modelNumber 3302 modelNumberLength - modelNumberLen. 3303 serialNumber - serialNumber 3304 primDeviceType - Primary WPS device type 3305 secondaryDeviceTypeCount - Number of secondary device types 3306 secondaryDeviceType - list of secondary WPS device types 3307 configMethods - Supported WPS config methods 3308 rfBands - RfBands. 3309 osVersion - Os version on which the device is running 3310 3311 *******************************************************************************/ 3312 typedef struct 3313 { 3314 u8 wpsVersion; 3315 u8 uuid[16]; 3316 u8 deviceName[32]; 3317 u8 deviceNameLength; 3318 u8 manufacturer[64]; 3319 u8 manufacturerLength; 3320 u8 modelName[32]; 3321 u8 modelNameLength; 3322 u8 modelNumber[32]; 3323 u8 modelNumberLength; 3324 u8 serialNumber[32]; 3325 CsrWifiSmeWpsDeviceType primDeviceType; 3326 u8 secondaryDeviceTypeCount; 3327 CsrWifiSmeWpsDeviceType *secondaryDeviceType; 3328 CsrWifiSmeWpsConfigTypeMask configMethods; 3329 u8 rfBands; 3330 u8 osVersion[4]; 3331 } CsrWifiSmeWpsConfig; 3332 3333 3334 /* Downstream */ 3335 #define CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST (0x0000) 3336 3337 #define CSR_WIFI_SME_ACTIVATE_REQ ((CsrWifiSmePrim) (0x0000 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3338 #define CSR_WIFI_SME_ADHOC_CONFIG_GET_REQ ((CsrWifiSmePrim) (0x0001 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3339 #define CSR_WIFI_SME_ADHOC_CONFIG_SET_REQ ((CsrWifiSmePrim) (0x0002 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3340 #define CSR_WIFI_SME_BLACKLIST_REQ ((CsrWifiSmePrim) (0x0003 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3341 #define CSR_WIFI_SME_CALIBRATION_DATA_GET_REQ ((CsrWifiSmePrim) (0x0004 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3342 #define CSR_WIFI_SME_CALIBRATION_DATA_SET_REQ ((CsrWifiSmePrim) (0x0005 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3343 #define CSR_WIFI_SME_CCX_CONFIG_GET_REQ ((CsrWifiSmePrim) (0x0006 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3344 #define CSR_WIFI_SME_CCX_CONFIG_SET_REQ ((CsrWifiSmePrim) (0x0007 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3345 #define CSR_WIFI_SME_COEX_CONFIG_GET_REQ ((CsrWifiSmePrim) (0x0008 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3346 #define CSR_WIFI_SME_COEX_CONFIG_SET_REQ ((CsrWifiSmePrim) (0x0009 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3347 #define CSR_WIFI_SME_COEX_INFO_GET_REQ ((CsrWifiSmePrim) (0x000A + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3348 #define CSR_WIFI_SME_CONNECT_REQ ((CsrWifiSmePrim) (0x000B + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3349 #define CSR_WIFI_SME_CONNECTION_CONFIG_GET_REQ ((CsrWifiSmePrim) (0x000C + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3350 #define CSR_WIFI_SME_CONNECTION_INFO_GET_REQ ((CsrWifiSmePrim) (0x000D + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3351 #define CSR_WIFI_SME_CONNECTION_STATS_GET_REQ ((CsrWifiSmePrim) (0x000E + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3352 #define CSR_WIFI_SME_DEACTIVATE_REQ ((CsrWifiSmePrim) (0x000F + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3353 #define CSR_WIFI_SME_DISCONNECT_REQ ((CsrWifiSmePrim) (0x0010 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3354 #define CSR_WIFI_SME_EVENT_MASK_SET_REQ ((CsrWifiSmePrim) (0x0011 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3355 #define CSR_WIFI_SME_HOST_CONFIG_GET_REQ ((CsrWifiSmePrim) (0x0012 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3356 #define CSR_WIFI_SME_HOST_CONFIG_SET_REQ ((CsrWifiSmePrim) (0x0013 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3357 #define CSR_WIFI_SME_KEY_REQ ((CsrWifiSmePrim) (0x0014 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3358 #define CSR_WIFI_SME_LINK_QUALITY_GET_REQ ((CsrWifiSmePrim) (0x0015 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3359 #define CSR_WIFI_SME_MIB_CONFIG_GET_REQ ((CsrWifiSmePrim) (0x0016 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3360 #define CSR_WIFI_SME_MIB_CONFIG_SET_REQ ((CsrWifiSmePrim) (0x0017 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3361 #define CSR_WIFI_SME_MIB_GET_NEXT_REQ ((CsrWifiSmePrim) (0x0018 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3362 #define CSR_WIFI_SME_MIB_GET_REQ ((CsrWifiSmePrim) (0x0019 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3363 #define CSR_WIFI_SME_MIB_SET_REQ ((CsrWifiSmePrim) (0x001A + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3364 #define CSR_WIFI_SME_MULTICAST_ADDRESS_REQ ((CsrWifiSmePrim) (0x001B + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3365 #define CSR_WIFI_SME_PACKET_FILTER_SET_REQ ((CsrWifiSmePrim) (0x001C + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3366 #define CSR_WIFI_SME_PERMANENT_MAC_ADDRESS_GET_REQ ((CsrWifiSmePrim) (0x001D + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3367 #define CSR_WIFI_SME_PMKID_REQ ((CsrWifiSmePrim) (0x001E + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3368 #define CSR_WIFI_SME_POWER_CONFIG_GET_REQ ((CsrWifiSmePrim) (0x001F + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3369 #define CSR_WIFI_SME_POWER_CONFIG_SET_REQ ((CsrWifiSmePrim) (0x0020 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3370 #define CSR_WIFI_SME_REGULATORY_DOMAIN_INFO_GET_REQ ((CsrWifiSmePrim) (0x0021 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3371 #define CSR_WIFI_SME_ROAMING_CONFIG_GET_REQ ((CsrWifiSmePrim) (0x0022 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3372 #define CSR_WIFI_SME_ROAMING_CONFIG_SET_REQ ((CsrWifiSmePrim) (0x0023 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3373 #define CSR_WIFI_SME_SCAN_CONFIG_GET_REQ ((CsrWifiSmePrim) (0x0024 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3374 #define CSR_WIFI_SME_SCAN_CONFIG_SET_REQ ((CsrWifiSmePrim) (0x0025 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3375 #define CSR_WIFI_SME_SCAN_FULL_REQ ((CsrWifiSmePrim) (0x0026 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3376 #define CSR_WIFI_SME_SCAN_RESULTS_FLUSH_REQ ((CsrWifiSmePrim) (0x0027 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3377 #define CSR_WIFI_SME_SCAN_RESULTS_GET_REQ ((CsrWifiSmePrim) (0x0028 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3378 #define CSR_WIFI_SME_SME_STA_CONFIG_GET_REQ ((CsrWifiSmePrim) (0x0029 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3379 #define CSR_WIFI_SME_SME_STA_CONFIG_SET_REQ ((CsrWifiSmePrim) (0x002A + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3380 #define CSR_WIFI_SME_STATION_MAC_ADDRESS_GET_REQ ((CsrWifiSmePrim) (0x002B + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3381 #define CSR_WIFI_SME_TSPEC_REQ ((CsrWifiSmePrim) (0x002C + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3382 #define CSR_WIFI_SME_VERSIONS_GET_REQ ((CsrWifiSmePrim) (0x002D + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3383 #define CSR_WIFI_SME_WIFI_FLIGHTMODE_REQ ((CsrWifiSmePrim) (0x002E + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3384 #define CSR_WIFI_SME_WIFI_OFF_REQ ((CsrWifiSmePrim) (0x002F + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3385 #define CSR_WIFI_SME_WIFI_ON_REQ ((CsrWifiSmePrim) (0x0030 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3386 #define CSR_WIFI_SME_CLOAKED_SSIDS_SET_REQ ((CsrWifiSmePrim) (0x0031 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3387 #define CSR_WIFI_SME_CLOAKED_SSIDS_GET_REQ ((CsrWifiSmePrim) (0x0032 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3388 #define CSR_WIFI_SME_SME_COMMON_CONFIG_GET_REQ ((CsrWifiSmePrim) (0x0033 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3389 #define CSR_WIFI_SME_SME_COMMON_CONFIG_SET_REQ ((CsrWifiSmePrim) (0x0034 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3390 #define CSR_WIFI_SME_INTERFACE_CAPABILITY_GET_REQ ((CsrWifiSmePrim) (0x0035 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3391 #define CSR_WIFI_SME_WPS_CONFIGURATION_REQ ((CsrWifiSmePrim) (0x0036 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3392 #define CSR_WIFI_SME_SET_REQ ((CsrWifiSmePrim) (0x0037 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST)) 3393 3394 3395 #define CSR_WIFI_SME_PRIM_DOWNSTREAM_HIGHEST (0x0037 + CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST) 3396 3397 /* Upstream */ 3398 #define CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST (0x0000 + CSR_PRIM_UPSTREAM) 3399 3400 #define CSR_WIFI_SME_ACTIVATE_CFM ((CsrWifiSmePrim)(0x0000 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3401 #define CSR_WIFI_SME_ADHOC_CONFIG_GET_CFM ((CsrWifiSmePrim)(0x0001 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3402 #define CSR_WIFI_SME_ADHOC_CONFIG_SET_CFM ((CsrWifiSmePrim)(0x0002 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3403 #define CSR_WIFI_SME_ASSOCIATION_COMPLETE_IND ((CsrWifiSmePrim)(0x0003 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3404 #define CSR_WIFI_SME_ASSOCIATION_START_IND ((CsrWifiSmePrim)(0x0004 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3405 #define CSR_WIFI_SME_BLACKLIST_CFM ((CsrWifiSmePrim)(0x0005 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3406 #define CSR_WIFI_SME_CALIBRATION_DATA_GET_CFM ((CsrWifiSmePrim)(0x0006 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3407 #define CSR_WIFI_SME_CALIBRATION_DATA_SET_CFM ((CsrWifiSmePrim)(0x0007 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3408 #define CSR_WIFI_SME_CCX_CONFIG_GET_CFM ((CsrWifiSmePrim)(0x0008 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3409 #define CSR_WIFI_SME_CCX_CONFIG_SET_CFM ((CsrWifiSmePrim)(0x0009 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3410 #define CSR_WIFI_SME_COEX_CONFIG_GET_CFM ((CsrWifiSmePrim)(0x000A + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3411 #define CSR_WIFI_SME_COEX_CONFIG_SET_CFM ((CsrWifiSmePrim)(0x000B + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3412 #define CSR_WIFI_SME_COEX_INFO_GET_CFM ((CsrWifiSmePrim)(0x000C + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3413 #define CSR_WIFI_SME_CONNECT_CFM ((CsrWifiSmePrim)(0x000D + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3414 #define CSR_WIFI_SME_CONNECTION_CONFIG_GET_CFM ((CsrWifiSmePrim)(0x000E + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3415 #define CSR_WIFI_SME_CONNECTION_INFO_GET_CFM ((CsrWifiSmePrim)(0x000F + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3416 #define CSR_WIFI_SME_CONNECTION_QUALITY_IND ((CsrWifiSmePrim)(0x0010 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3417 #define CSR_WIFI_SME_CONNECTION_STATS_GET_CFM ((CsrWifiSmePrim)(0x0011 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3418 #define CSR_WIFI_SME_DEACTIVATE_CFM ((CsrWifiSmePrim)(0x0012 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3419 #define CSR_WIFI_SME_DISCONNECT_CFM ((CsrWifiSmePrim)(0x0013 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3420 #define CSR_WIFI_SME_EVENT_MASK_SET_CFM ((CsrWifiSmePrim)(0x0014 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3421 #define CSR_WIFI_SME_HOST_CONFIG_GET_CFM ((CsrWifiSmePrim)(0x0015 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3422 #define CSR_WIFI_SME_HOST_CONFIG_SET_CFM ((CsrWifiSmePrim)(0x0016 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3423 #define CSR_WIFI_SME_IBSS_STATION_IND ((CsrWifiSmePrim)(0x0017 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3424 #define CSR_WIFI_SME_KEY_CFM ((CsrWifiSmePrim)(0x0018 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3425 #define CSR_WIFI_SME_LINK_QUALITY_GET_CFM ((CsrWifiSmePrim)(0x0019 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3426 #define CSR_WIFI_SME_MEDIA_STATUS_IND ((CsrWifiSmePrim)(0x001A + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3427 #define CSR_WIFI_SME_MIB_CONFIG_GET_CFM ((CsrWifiSmePrim)(0x001B + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3428 #define CSR_WIFI_SME_MIB_CONFIG_SET_CFM ((CsrWifiSmePrim)(0x001C + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3429 #define CSR_WIFI_SME_MIB_GET_CFM ((CsrWifiSmePrim)(0x001D + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3430 #define CSR_WIFI_SME_MIB_GET_NEXT_CFM ((CsrWifiSmePrim)(0x001E + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3431 #define CSR_WIFI_SME_MIB_SET_CFM ((CsrWifiSmePrim)(0x001F + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3432 #define CSR_WIFI_SME_MIC_FAILURE_IND ((CsrWifiSmePrim)(0x0020 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3433 #define CSR_WIFI_SME_MULTICAST_ADDRESS_CFM ((CsrWifiSmePrim)(0x0021 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3434 #define CSR_WIFI_SME_PACKET_FILTER_SET_CFM ((CsrWifiSmePrim)(0x0022 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3435 #define CSR_WIFI_SME_PERMANENT_MAC_ADDRESS_GET_CFM ((CsrWifiSmePrim)(0x0023 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3436 #define CSR_WIFI_SME_PMKID_CANDIDATE_LIST_IND ((CsrWifiSmePrim)(0x0024 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3437 #define CSR_WIFI_SME_PMKID_CFM ((CsrWifiSmePrim)(0x0025 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3438 #define CSR_WIFI_SME_POWER_CONFIG_GET_CFM ((CsrWifiSmePrim)(0x0026 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3439 #define CSR_WIFI_SME_POWER_CONFIG_SET_CFM ((CsrWifiSmePrim)(0x0027 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3440 #define CSR_WIFI_SME_REGULATORY_DOMAIN_INFO_GET_CFM ((CsrWifiSmePrim)(0x0028 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3441 #define CSR_WIFI_SME_ROAM_COMPLETE_IND ((CsrWifiSmePrim)(0x0029 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3442 #define CSR_WIFI_SME_ROAM_START_IND ((CsrWifiSmePrim)(0x002A + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3443 #define CSR_WIFI_SME_ROAMING_CONFIG_GET_CFM ((CsrWifiSmePrim)(0x002B + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3444 #define CSR_WIFI_SME_ROAMING_CONFIG_SET_CFM ((CsrWifiSmePrim)(0x002C + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3445 #define CSR_WIFI_SME_SCAN_CONFIG_GET_CFM ((CsrWifiSmePrim)(0x002D + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3446 #define CSR_WIFI_SME_SCAN_CONFIG_SET_CFM ((CsrWifiSmePrim)(0x002E + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3447 #define CSR_WIFI_SME_SCAN_FULL_CFM ((CsrWifiSmePrim)(0x002F + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3448 #define CSR_WIFI_SME_SCAN_RESULT_IND ((CsrWifiSmePrim)(0x0030 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3449 #define CSR_WIFI_SME_SCAN_RESULTS_FLUSH_CFM ((CsrWifiSmePrim)(0x0031 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3450 #define CSR_WIFI_SME_SCAN_RESULTS_GET_CFM ((CsrWifiSmePrim)(0x0032 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3451 #define CSR_WIFI_SME_SME_STA_CONFIG_GET_CFM ((CsrWifiSmePrim)(0x0033 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3452 #define CSR_WIFI_SME_SME_STA_CONFIG_SET_CFM ((CsrWifiSmePrim)(0x0034 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3453 #define CSR_WIFI_SME_STATION_MAC_ADDRESS_GET_CFM ((CsrWifiSmePrim)(0x0035 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3454 #define CSR_WIFI_SME_TSPEC_IND ((CsrWifiSmePrim)(0x0036 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3455 #define CSR_WIFI_SME_TSPEC_CFM ((CsrWifiSmePrim)(0x0037 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3456 #define CSR_WIFI_SME_VERSIONS_GET_CFM ((CsrWifiSmePrim)(0x0038 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3457 #define CSR_WIFI_SME_WIFI_FLIGHTMODE_CFM ((CsrWifiSmePrim)(0x0039 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3458 #define CSR_WIFI_SME_WIFI_OFF_IND ((CsrWifiSmePrim)(0x003A + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3459 #define CSR_WIFI_SME_WIFI_OFF_CFM ((CsrWifiSmePrim)(0x003B + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3460 #define CSR_WIFI_SME_WIFI_ON_CFM ((CsrWifiSmePrim)(0x003C + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3461 #define CSR_WIFI_SME_CLOAKED_SSIDS_SET_CFM ((CsrWifiSmePrim)(0x003D + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3462 #define CSR_WIFI_SME_CLOAKED_SSIDS_GET_CFM ((CsrWifiSmePrim)(0x003E + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3463 #define CSR_WIFI_SME_WIFI_ON_IND ((CsrWifiSmePrim)(0x003F + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3464 #define CSR_WIFI_SME_SME_COMMON_CONFIG_GET_CFM ((CsrWifiSmePrim)(0x0040 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3465 #define CSR_WIFI_SME_SME_COMMON_CONFIG_SET_CFM ((CsrWifiSmePrim)(0x0041 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3466 #define CSR_WIFI_SME_INTERFACE_CAPABILITY_GET_CFM ((CsrWifiSmePrim)(0x0042 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3467 #define CSR_WIFI_SME_ERROR_IND ((CsrWifiSmePrim)(0x0043 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3468 #define CSR_WIFI_SME_INFO_IND ((CsrWifiSmePrim)(0x0044 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3469 #define CSR_WIFI_SME_CORE_DUMP_IND ((CsrWifiSmePrim)(0x0045 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3470 #define CSR_WIFI_SME_AMP_STATUS_CHANGE_IND ((CsrWifiSmePrim)(0x0046 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3471 #define CSR_WIFI_SME_WPS_CONFIGURATION_CFM ((CsrWifiSmePrim)(0x0047 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST)) 3472 3473 #define CSR_WIFI_SME_PRIM_UPSTREAM_HIGHEST (0x0047 + CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST) 3474 3475 #define CSR_WIFI_SME_PRIM_DOWNSTREAM_COUNT (CSR_WIFI_SME_PRIM_DOWNSTREAM_HIGHEST + 1 - CSR_WIFI_SME_PRIM_DOWNSTREAM_LOWEST) 3476 #define CSR_WIFI_SME_PRIM_UPSTREAM_COUNT (CSR_WIFI_SME_PRIM_UPSTREAM_HIGHEST + 1 - CSR_WIFI_SME_PRIM_UPSTREAM_LOWEST) 3477 3478 /******************************************************************************* 3479 3480 NAME 3481 CsrWifiSmeActivateReq 3482 3483 DESCRIPTION 3484 The WMA sends this primitive to activate the SME. 3485 The WMA must activate the SME before it can send any other primitive. 3486 3487 MEMBERS 3488 common - Common header for use with the CsrWifiFsm Module 3489 3490 *******************************************************************************/ 3491 typedef struct 3492 { 3493 CsrWifiFsmEvent common; 3494 } CsrWifiSmeActivateReq; 3495 3496 /******************************************************************************* 3497 3498 NAME 3499 CsrWifiSmeAdhocConfigGetReq 3500 3501 DESCRIPTION 3502 This primitive gets the value of the adHocConfig parameter. 3503 3504 MEMBERS 3505 common - Common header for use with the CsrWifiFsm Module 3506 3507 *******************************************************************************/ 3508 typedef struct 3509 { 3510 CsrWifiFsmEvent common; 3511 } CsrWifiSmeAdhocConfigGetReq; 3512 3513 /******************************************************************************* 3514 3515 NAME 3516 CsrWifiSmeAdhocConfigSetReq 3517 3518 DESCRIPTION 3519 This primitive sets the value of the adHocConfig parameter. 3520 3521 MEMBERS 3522 common - Common header for use with the CsrWifiFsm Module 3523 adHocConfig - Sets the values to use when starting an ad hoc network. 3524 3525 *******************************************************************************/ 3526 typedef struct 3527 { 3528 CsrWifiFsmEvent common; 3529 CsrWifiSmeAdHocConfig adHocConfig; 3530 } CsrWifiSmeAdhocConfigSetReq; 3531 3532 /******************************************************************************* 3533 3534 NAME 3535 CsrWifiSmeBlacklistReq 3536 3537 DESCRIPTION 3538 The wireless manager application should call this primitive to notify the 3539 driver of any networks that should not be connected to. The interface 3540 allows the wireless manager application to query, add, remove, and flush 3541 the BSSIDs that the driver may not connect or roam to. 3542 When this primitive adds to the black list the BSSID to which the SME is 3543 currently connected, the SME will try to roam, if applicable, to another 3544 BSSID in the same ESS; if the roaming procedure fails, the SME will 3545 disconnect. 3546 3547 MEMBERS 3548 common - Common header for use with the CsrWifiFsm Module 3549 interfaceTag - Interface Identifier; unique identifier of an interface 3550 action - The value of the CsrWifiSmeListAction parameter instructs 3551 the driver to modify or provide the list of blacklisted 3552 networks. 3553 setAddressCount - Number of BSSIDs sent with this primitive 3554 setAddresses - Pointer to the list of BBSIDs sent with the primitive, set 3555 to NULL if none is sent. 3556 3557 *******************************************************************************/ 3558 typedef struct 3559 { 3560 CsrWifiFsmEvent common; 3561 u16 interfaceTag; 3562 CsrWifiSmeListAction action; 3563 u8 setAddressCount; 3564 CsrWifiMacAddress *setAddresses; 3565 } CsrWifiSmeBlacklistReq; 3566 3567 /******************************************************************************* 3568 3569 NAME 3570 CsrWifiSmeCalibrationDataGetReq 3571 3572 DESCRIPTION 3573 This primitive retrieves the Wi-Fi radio calibration data. 3574 3575 MEMBERS 3576 common - Common header for use with the CsrWifiFsm Module 3577 3578 *******************************************************************************/ 3579 typedef struct 3580 { 3581 CsrWifiFsmEvent common; 3582 } CsrWifiSmeCalibrationDataGetReq; 3583 3584 /******************************************************************************* 3585 3586 NAME 3587 CsrWifiSmeCalibrationDataSetReq 3588 3589 DESCRIPTION 3590 This primitive sets the Wi-Fi radio calibration data. 3591 The usage of the primitive with proper calibration data will avoid 3592 time-consuming configuration after power-up. 3593 3594 MEMBERS 3595 common - Common header for use with the CsrWifiFsm Module 3596 calibrationDataLength - Number of bytes in the buffer pointed by 3597 calibrationData 3598 calibrationData - Pointer to a buffer of length calibrationDataLength 3599 containing the calibration data 3600 3601 *******************************************************************************/ 3602 typedef struct 3603 { 3604 CsrWifiFsmEvent common; 3605 u16 calibrationDataLength; 3606 u8 *calibrationData; 3607 } CsrWifiSmeCalibrationDataSetReq; 3608 3609 /******************************************************************************* 3610 3611 NAME 3612 CsrWifiSmeCcxConfigGetReq 3613 3614 DESCRIPTION 3615 This primitive gets the value of the CcxConfig parameter. 3616 CURRENTLY NOT SUPPORTED. 3617 3618 MEMBERS 3619 common - Common header for use with the CsrWifiFsm Module 3620 interfaceTag - Interface Identifier; unique identifier of an interface 3621 3622 *******************************************************************************/ 3623 typedef struct 3624 { 3625 CsrWifiFsmEvent common; 3626 u16 interfaceTag; 3627 } CsrWifiSmeCcxConfigGetReq; 3628 3629 /******************************************************************************* 3630 3631 NAME 3632 CsrWifiSmeCcxConfigSetReq 3633 3634 DESCRIPTION 3635 This primitive sets the value of the CcxConfig parameter. 3636 CURRENTLY NOT SUPPORTED. 3637 3638 MEMBERS 3639 common - Common header for use with the CsrWifiFsm Module 3640 interfaceTag - Interface Identifier; unique identifier of an interface 3641 ccxConfig - Currently not supported 3642 3643 *******************************************************************************/ 3644 typedef struct 3645 { 3646 CsrWifiFsmEvent common; 3647 u16 interfaceTag; 3648 CsrWifiSmeCcxConfig ccxConfig; 3649 } CsrWifiSmeCcxConfigSetReq; 3650 3651 /******************************************************************************* 3652 3653 NAME 3654 CsrWifiSmeCoexConfigGetReq 3655 3656 DESCRIPTION 3657 This primitive gets the value of the CoexConfig parameter. 3658 3659 MEMBERS 3660 common - Common header for use with the CsrWifiFsm Module 3661 3662 *******************************************************************************/ 3663 typedef struct 3664 { 3665 CsrWifiFsmEvent common; 3666 } CsrWifiSmeCoexConfigGetReq; 3667 3668 /******************************************************************************* 3669 3670 NAME 3671 CsrWifiSmeCoexConfigSetReq 3672 3673 DESCRIPTION 3674 This primitive sets the value of the CoexConfig parameter. 3675 3676 MEMBERS 3677 common - Common header for use with the CsrWifiFsm Module 3678 coexConfig - Configures the coexistence behaviour 3679 3680 *******************************************************************************/ 3681 typedef struct 3682 { 3683 CsrWifiFsmEvent common; 3684 CsrWifiSmeCoexConfig coexConfig; 3685 } CsrWifiSmeCoexConfigSetReq; 3686 3687 /******************************************************************************* 3688 3689 NAME 3690 CsrWifiSmeCoexInfoGetReq 3691 3692 DESCRIPTION 3693 This primitive gets the value of the CoexInfo parameter. 3694 3695 MEMBERS 3696 common - Common header for use with the CsrWifiFsm Module 3697 3698 *******************************************************************************/ 3699 typedef struct 3700 { 3701 CsrWifiFsmEvent common; 3702 } CsrWifiSmeCoexInfoGetReq; 3703 3704 /******************************************************************************* 3705 3706 NAME 3707 CsrWifiSmeConnectReq 3708 3709 DESCRIPTION 3710 The wireless manager application calls this primitive to start the 3711 process of joining an 802.11 wireless network or to start an ad hoc 3712 network. 3713 The structure pointed by connectionConfig contains parameters describing 3714 the network to join or, in case of an ad hoc network, to host or join. 3715 The SME will select a network, perform the IEEE 802.11 Join, Authenticate 3716 and Associate exchanges. 3717 The SME selects the networks from the current scan list that match both 3718 the SSID and BSSID, however either or both of these may be the wildcard 3719 value. Using this rule, the following operations are possible: 3720 * To connect to a network by name, specify the SSID and set the BSSID to 3721 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF. If there are two or more networks visible, 3722 the SME will select the one with the strongest signal. 3723 * To connect to a specific network, specify the BSSID. The SSID is 3724 optional, but if given it must match the SSID of the network. An empty 3725 SSID may be specified by setting the SSID length to zero. Please note 3726 that if the BSSID is specified (i.e. not equal to 0xFF 0xFF 0xFF 0xFF 3727 0xFF 0xFF), the SME will not attempt to roam if signal conditions become 3728 poor, even if there is an alternative AP with an SSID that matches the 3729 current network SSID. 3730 * To connect to any network matching the other parameters (i.e. security, 3731 etc), set the SSID length to zero and set the BSSID to 0xFF 0xFF 0xFF 3732 0xFF 0xFF 0xFF. In this case, the SME will order all available networks 3733 by their signal strengths and will iterate through this list until it 3734 successfully connects. 3735 NOTE: Specifying the BSSID will restrict the selection to one specific 3736 network. If SSID and BSSID are given, they must both match the network 3737 for it to be selected. To select a network based on the SSID only, the 3738 wireless manager application must set the BSSID to 0xFF 0xFF 0xFF 0xFF 3739 0xFF 0xFF. 3740 The SME will try to connect to each network that matches the provided 3741 parameters, one by one, until it succeeds or has tried unsuccessfully 3742 with all the matching networks. 3743 If there is no network that matches the parameters and the request allows 3744 to host an ad hoc network, the SME will advertise a new ad hoc network 3745 instead. 3746 If the SME cannot connect, it will notify the failure in the confirm. 3747 3748 MEMBERS 3749 common - Common header for use with the CsrWifiFsm Module 3750 interfaceTag - Interface Identifier; unique identifier of an interface 3751 connectionConfig - Describes the candidate network to join or to host. 3752 3753 *******************************************************************************/ 3754 typedef struct 3755 { 3756 CsrWifiFsmEvent common; 3757 u16 interfaceTag; 3758 CsrWifiSmeConnectionConfig connectionConfig; 3759 } CsrWifiSmeConnectReq; 3760 3761 /******************************************************************************* 3762 3763 NAME 3764 CsrWifiSmeConnectionConfigGetReq 3765 3766 DESCRIPTION 3767 This primitive gets the value of the ConnectionConfig parameter. 3768 3769 MEMBERS 3770 common - Common header for use with the CsrWifiFsm Module 3771 interfaceTag - Interface Identifier; unique identifier of an interface 3772 3773 *******************************************************************************/ 3774 typedef struct 3775 { 3776 CsrWifiFsmEvent common; 3777 u16 interfaceTag; 3778 } CsrWifiSmeConnectionConfigGetReq; 3779 3780 /******************************************************************************* 3781 3782 NAME 3783 CsrWifiSmeConnectionInfoGetReq 3784 3785 DESCRIPTION 3786 This primitive gets the value of the ConnectionInfo parameter. 3787 3788 MEMBERS 3789 common - Common header for use with the CsrWifiFsm Module 3790 interfaceTag - Interface Identifier; unique identifier of an interface 3791 3792 *******************************************************************************/ 3793 typedef struct 3794 { 3795 CsrWifiFsmEvent common; 3796 u16 interfaceTag; 3797 } CsrWifiSmeConnectionInfoGetReq; 3798 3799 /******************************************************************************* 3800 3801 NAME 3802 CsrWifiSmeConnectionStatsGetReq 3803 3804 DESCRIPTION 3805 This primitive gets the value of the ConnectionStats parameter. 3806 3807 MEMBERS 3808 common - Common header for use with the CsrWifiFsm Module 3809 interfaceTag - Interface Identifier; unique identifier of an interface 3810 3811 *******************************************************************************/ 3812 typedef struct 3813 { 3814 CsrWifiFsmEvent common; 3815 u16 interfaceTag; 3816 } CsrWifiSmeConnectionStatsGetReq; 3817 3818 /******************************************************************************* 3819 3820 NAME 3821 CsrWifiSmeDeactivateReq 3822 3823 DESCRIPTION 3824 The WMA sends this primitive to deactivate the SME. 3825 3826 MEMBERS 3827 common - Common header for use with the CsrWifiFsm Module 3828 3829 *******************************************************************************/ 3830 typedef struct 3831 { 3832 CsrWifiFsmEvent common; 3833 } CsrWifiSmeDeactivateReq; 3834 3835 /******************************************************************************* 3836 3837 NAME 3838 CsrWifiSmeDisconnectReq 3839 3840 DESCRIPTION 3841 The wireless manager application may disconnect from the current network 3842 by calling this primitive 3843 3844 MEMBERS 3845 common - Common header for use with the CsrWifiFsm Module 3846 interfaceTag - Interface Identifier; unique identifier of an interface 3847 3848 *******************************************************************************/ 3849 typedef struct 3850 { 3851 CsrWifiFsmEvent common; 3852 u16 interfaceTag; 3853 } CsrWifiSmeDisconnectReq; 3854 3855 /******************************************************************************* 3856 3857 NAME 3858 CsrWifiSmeEventMaskSetReq 3859 3860 DESCRIPTION 3861 The wireless manager application may register with the SME to receive 3862 notification of interesting events. Indications will be sent only if the 3863 wireless manager explicitly registers to be notified of that event. 3864 indMask is a bit mask of values defined in CsrWifiSmeIndicationsMask. 3865 3866 MEMBERS 3867 common - Common header for use with the CsrWifiFsm Module 3868 indMask - Set mask with values from CsrWifiSmeIndications 3869 3870 *******************************************************************************/ 3871 typedef struct 3872 { 3873 CsrWifiFsmEvent common; 3874 CsrWifiSmeIndicationsMask indMask; 3875 } CsrWifiSmeEventMaskSetReq; 3876 3877 /******************************************************************************* 3878 3879 NAME 3880 CsrWifiSmeHostConfigGetReq 3881 3882 DESCRIPTION 3883 This primitive gets the value of the hostConfig parameter. 3884 3885 MEMBERS 3886 common - Common header for use with the CsrWifiFsm Module 3887 interfaceTag - Interface Identifier; unique identifier of an interface 3888 3889 *******************************************************************************/ 3890 typedef struct 3891 { 3892 CsrWifiFsmEvent common; 3893 u16 interfaceTag; 3894 } CsrWifiSmeHostConfigGetReq; 3895 3896 /******************************************************************************* 3897 3898 NAME 3899 CsrWifiSmeHostConfigSetReq 3900 3901 DESCRIPTION 3902 This primitive sets the value of the hostConfig parameter. 3903 3904 MEMBERS 3905 common - Common header for use with the CsrWifiFsm Module 3906 interfaceTag - Interface Identifier; unique identifier of an interface 3907 hostConfig - Communicates a change of host power state (for example, on 3908 mains power, on battery power etc) and of the periodicity of 3909 traffic data 3910 3911 *******************************************************************************/ 3912 typedef struct 3913 { 3914 CsrWifiFsmEvent common; 3915 u16 interfaceTag; 3916 CsrWifiSmeHostConfig hostConfig; 3917 } CsrWifiSmeHostConfigSetReq; 3918 3919 /******************************************************************************* 3920 3921 NAME 3922 CsrWifiSmeKeyReq 3923 3924 DESCRIPTION 3925 The wireless manager application calls this primitive to add or remove 3926 keys that the chip should use for encryption of data. 3927 The interface allows the wireless manager application to add and remove 3928 keys according to the specified action. 3929 3930 MEMBERS 3931 common - Common header for use with the CsrWifiFsm Module 3932 interfaceTag - Interface Identifier; unique identifier of an interface 3933 action - The value of the CsrWifiSmeListAction parameter instructs the 3934 driver to modify or provide the list of keys. 3935 CSR_WIFI_SME_LIST_ACTION_GET is not supported here. 3936 key - Key to be added or removed 3937 3938 *******************************************************************************/ 3939 typedef struct 3940 { 3941 CsrWifiFsmEvent common; 3942 u16 interfaceTag; 3943 CsrWifiSmeListAction action; 3944 CsrWifiSmeKey key; 3945 } CsrWifiSmeKeyReq; 3946 3947 /******************************************************************************* 3948 3949 NAME 3950 CsrWifiSmeLinkQualityGetReq 3951 3952 DESCRIPTION 3953 This primitive gets the value of the LinkQuality parameter. 3954 3955 MEMBERS 3956 common - Common header for use with the CsrWifiFsm Module 3957 interfaceTag - Interface Identifier; unique identifier of an interface 3958 3959 *******************************************************************************/ 3960 typedef struct 3961 { 3962 CsrWifiFsmEvent common; 3963 u16 interfaceTag; 3964 } CsrWifiSmeLinkQualityGetReq; 3965 3966 /******************************************************************************* 3967 3968 NAME 3969 CsrWifiSmeMibConfigGetReq 3970 3971 DESCRIPTION 3972 This primitive gets the value of the MibConfig parameter. 3973 3974 MEMBERS 3975 common - Common header for use with the CsrWifiFsm Module 3976 3977 *******************************************************************************/ 3978 typedef struct 3979 { 3980 CsrWifiFsmEvent common; 3981 } CsrWifiSmeMibConfigGetReq; 3982 3983 /******************************************************************************* 3984 3985 NAME 3986 CsrWifiSmeMibConfigSetReq 3987 3988 DESCRIPTION 3989 This primitive sets the value of the MibConfig parameter. 3990 3991 MEMBERS 3992 common - Common header for use with the CsrWifiFsm Module 3993 mibConfig - Conveys the desired value of various IEEE 802.11 attributes as 3994 currently configured 3995 3996 *******************************************************************************/ 3997 typedef struct 3998 { 3999 CsrWifiFsmEvent common; 4000 CsrWifiSmeMibConfig mibConfig; 4001 } CsrWifiSmeMibConfigSetReq; 4002 4003 /******************************************************************************* 4004 4005 NAME 4006 CsrWifiSmeMibGetNextReq 4007 4008 DESCRIPTION 4009 To read a sequence of MIB parameters, for example a table, call this 4010 primitive to find the name of the next MIB variable 4011 4012 MEMBERS 4013 common - Common header for use with the CsrWifiFsm Module 4014 mibAttributeLength - Length of mibAttribute 4015 mibAttribute - Points to a VarBind or VarBindList containing the 4016 name(s) of the MIB variable(s) to search from. 4017 4018 *******************************************************************************/ 4019 typedef struct 4020 { 4021 CsrWifiFsmEvent common; 4022 u16 mibAttributeLength; 4023 u8 *mibAttribute; 4024 } CsrWifiSmeMibGetNextReq; 4025 4026 /******************************************************************************* 4027 4028 NAME 4029 CsrWifiSmeMibGetReq 4030 4031 DESCRIPTION 4032 The wireless manager application calls this primitive to retrieve one or 4033 more MIB variables. 4034 4035 MEMBERS 4036 common - Common header for use with the CsrWifiFsm Module 4037 mibAttributeLength - Length of mibAttribute 4038 mibAttribute - Points to the VarBind or VarBindList containing the 4039 names of the MIB variables to be retrieved 4040 4041 *******************************************************************************/ 4042 typedef struct 4043 { 4044 CsrWifiFsmEvent common; 4045 u16 mibAttributeLength; 4046 u8 *mibAttribute; 4047 } CsrWifiSmeMibGetReq; 4048 4049 /******************************************************************************* 4050 4051 NAME 4052 CsrWifiSmeMibSetReq 4053 4054 DESCRIPTION 4055 The SME provides raw access to the MIB on the chip, which may be used by 4056 some configuration or diagnostic utilities, but is not normally needed by 4057 the wireless manager application. 4058 The MIB access functions use BER encoded names (OID) of the MIB 4059 parameters and BER encoded values, as described in the chip Host 4060 Interface Protocol Specification. 4061 The MIB parameters are described in 'Wi-Fi 5.0.0 Management Information 4062 Base Reference Guide'. 4063 The wireless manager application calls this primitive to set one or more 4064 MIB variables 4065 4066 MEMBERS 4067 common - Common header for use with the CsrWifiFsm Module 4068 mibAttributeLength - Length of mibAttribute 4069 mibAttribute - Points to the VarBind or VarBindList containing the 4070 names and values of the MIB variables to set 4071 4072 *******************************************************************************/ 4073 typedef struct 4074 { 4075 CsrWifiFsmEvent common; 4076 u16 mibAttributeLength; 4077 u8 *mibAttribute; 4078 } CsrWifiSmeMibSetReq; 4079 4080 /******************************************************************************* 4081 4082 NAME 4083 CsrWifiSmeMulticastAddressReq 4084 4085 DESCRIPTION 4086 The wireless manager application calls this primitive to specify the 4087 multicast addresses which the chip should recognise. The interface allows 4088 the wireless manager application to query, add, remove and flush the 4089 multicast addresses for the network interface according to the specified 4090 action. 4091 4092 MEMBERS 4093 common - Common header for use with the CsrWifiFsm Module 4094 interfaceTag - Interface Identifier; unique identifier of an interface 4095 action - The value of the CsrWifiSmeListAction parameter 4096 instructs the driver to modify or provide the list of 4097 MAC addresses. 4098 setAddressesCount - Number of MAC addresses sent with the primitive 4099 setAddresses - Pointer to the list of MAC Addresses sent with the 4100 primitive, set to NULL if none is sent. 4101 4102 *******************************************************************************/ 4103 typedef struct 4104 { 4105 CsrWifiFsmEvent common; 4106 u16 interfaceTag; 4107 CsrWifiSmeListAction action; 4108 u8 setAddressesCount; 4109 CsrWifiMacAddress *setAddresses; 4110 } CsrWifiSmeMulticastAddressReq; 4111 4112 /******************************************************************************* 4113 4114 NAME 4115 CsrWifiSmePacketFilterSetReq 4116 4117 DESCRIPTION 4118 The wireless manager application should call this primitive to enable or 4119 disable filtering of broadcast packets: uninteresting broadcast packets 4120 will be dropped by the Wi-Fi chip, instead of passing them up to the 4121 host. 4122 This has the advantage of saving power in the host application processor 4123 as it removes the need to process unwanted packets. 4124 All broadcast packets are filtered according to the filter and the filter 4125 mode provided, except ARP packets, which are filtered using 4126 arpFilterAddress. 4127 Filters are not cumulative: only the parameters specified in the most 4128 recent successful request are significant. 4129 For more information, see 'UniFi Firmware API Specification'. 4130 4131 MEMBERS 4132 common - Common header for use with the CsrWifiFsm Module 4133 interfaceTag - Interface Identifier; unique identifier of an interface 4134 filterLength - Length of the filter in bytes. 4135 filterLength=0 disables the filter previously set 4136 filter - Points to the first byte of the filter provided, if any. 4137 This shall include zero or more instance of the 4138 information elements of one of these types 4139 * Traffic Classification (TCLAS) elements 4140 * WMM-SA TCLAS elements 4141 mode - Specifies whether the filter selects or excludes packets 4142 matching the filter 4143 arpFilterAddress - IPv4 address to be used for filtering the ARP packets. 4144 * If the specified address is the IPv4 broadcast address 4145 (255.255.255.255), all ARP packets are reported to the 4146 host, 4147 * If the specified address is NOT the IPv4 broadcast 4148 address, only ARP packets with the specified address in 4149 the Source or Target Protocol Address fields are reported 4150 to the host 4151 4152 *******************************************************************************/ 4153 typedef struct 4154 { 4155 CsrWifiFsmEvent common; 4156 u16 interfaceTag; 4157 u16 filterLength; 4158 u8 *filter; 4159 CsrWifiSmePacketFilterMode mode; 4160 CsrWifiIp4Address arpFilterAddress; 4161 } CsrWifiSmePacketFilterSetReq; 4162 4163 /******************************************************************************* 4164 4165 NAME 4166 CsrWifiSmePermanentMacAddressGetReq 4167 4168 DESCRIPTION 4169 This primitive retrieves the MAC address stored in EEPROM 4170 4171 MEMBERS 4172 common - Common header for use with the CsrWifiFsm Module 4173 4174 *******************************************************************************/ 4175 typedef struct 4176 { 4177 CsrWifiFsmEvent common; 4178 } CsrWifiSmePermanentMacAddressGetReq; 4179 4180 /******************************************************************************* 4181 4182 NAME 4183 CsrWifiSmePmkidReq 4184 4185 DESCRIPTION 4186 The wireless manager application calls this primitive to request an 4187 operation on the SME PMKID list. 4188 The action argument specifies the operation to perform. 4189 When the connection is complete, the wireless manager application may 4190 then send and receive EAPOL packets to complete WPA or WPA2 4191 authentication if appropriate. 4192 The wireless manager application can then pass the resulting encryption 4193 keys using this primitive. 4194 4195 MEMBERS 4196 common - Common header for use with the CsrWifiFsm Module 4197 interfaceTag - Interface Identifier; unique identifier of an interface 4198 action - The value of the CsrWifiSmeListAction parameter instructs 4199 the driver to modify or provide the list of PMKIDs. 4200 setPmkidsCount - Number of PMKIDs sent with the primitive 4201 setPmkids - Pointer to the list of PMKIDs sent with the primitive, set 4202 to NULL if none is sent. 4203 4204 *******************************************************************************/ 4205 typedef struct 4206 { 4207 CsrWifiFsmEvent common; 4208 u16 interfaceTag; 4209 CsrWifiSmeListAction action; 4210 u8 setPmkidsCount; 4211 CsrWifiSmePmkid *setPmkids; 4212 } CsrWifiSmePmkidReq; 4213 4214 /******************************************************************************* 4215 4216 NAME 4217 CsrWifiSmePowerConfigGetReq 4218 4219 DESCRIPTION 4220 This primitive gets the value of the PowerConfig parameter. 4221 4222 MEMBERS 4223 common - Common header for use with the CsrWifiFsm Module 4224 4225 *******************************************************************************/ 4226 typedef struct 4227 { 4228 CsrWifiFsmEvent common; 4229 } CsrWifiSmePowerConfigGetReq; 4230 4231 /******************************************************************************* 4232 4233 NAME 4234 CsrWifiSmePowerConfigSetReq 4235 4236 DESCRIPTION 4237 This primitive sets the value of the PowerConfig parameter. 4238 4239 MEMBERS 4240 common - Common header for use with the CsrWifiFsm Module 4241 powerConfig - Power saving configuration 4242 4243 *******************************************************************************/ 4244 typedef struct 4245 { 4246 CsrWifiFsmEvent common; 4247 CsrWifiSmePowerConfig powerConfig; 4248 } CsrWifiSmePowerConfigSetReq; 4249 4250 /******************************************************************************* 4251 4252 NAME 4253 CsrWifiSmeRegulatoryDomainInfoGetReq 4254 4255 DESCRIPTION 4256 This primitive gets the value of the RegulatoryDomainInfo parameter. 4257 4258 MEMBERS 4259 common - Common header for use with the CsrWifiFsm Module 4260 4261 *******************************************************************************/ 4262 typedef struct 4263 { 4264 CsrWifiFsmEvent common; 4265 } CsrWifiSmeRegulatoryDomainInfoGetReq; 4266 4267 /******************************************************************************* 4268 4269 NAME 4270 CsrWifiSmeRoamingConfigGetReq 4271 4272 DESCRIPTION 4273 This primitive gets the value of the RoamingConfig parameter. 4274 4275 MEMBERS 4276 common - Common header for use with the CsrWifiFsm Module 4277 interfaceTag - Interface Identifier; unique identifier of an interface 4278 4279 *******************************************************************************/ 4280 typedef struct 4281 { 4282 CsrWifiFsmEvent common; 4283 u16 interfaceTag; 4284 } CsrWifiSmeRoamingConfigGetReq; 4285 4286 /******************************************************************************* 4287 4288 NAME 4289 CsrWifiSmeRoamingConfigSetReq 4290 4291 DESCRIPTION 4292 This primitive sets the value of the RoamingConfig parameter. 4293 4294 MEMBERS 4295 common - Common header for use with the CsrWifiFsm Module 4296 interfaceTag - Interface Identifier; unique identifier of an interface 4297 roamingConfig - Desired roaming behaviour values 4298 4299 *******************************************************************************/ 4300 typedef struct 4301 { 4302 CsrWifiFsmEvent common; 4303 u16 interfaceTag; 4304 CsrWifiSmeRoamingConfig roamingConfig; 4305 } CsrWifiSmeRoamingConfigSetReq; 4306 4307 /******************************************************************************* 4308 4309 NAME 4310 CsrWifiSmeScanConfigGetReq 4311 4312 DESCRIPTION 4313 This primitive gets the value of the ScanConfig parameter. 4314 4315 MEMBERS 4316 common - Common header for use with the CsrWifiFsm Module 4317 4318 *******************************************************************************/ 4319 typedef struct 4320 { 4321 CsrWifiFsmEvent common; 4322 } CsrWifiSmeScanConfigGetReq; 4323 4324 /******************************************************************************* 4325 4326 NAME 4327 CsrWifiSmeScanConfigSetReq 4328 4329 DESCRIPTION 4330 This primitive sets the value of the ScanConfig parameter. 4331 The SME normally configures the firmware to perform autonomous scanning 4332 without involving the host. 4333 The firmware passes beacon / probe response or indicates loss of beacon 4334 on certain changes of state, for example: 4335 * A new AP is seen for the first time 4336 * An AP is no longer visible 4337 * The signal strength of an AP changes by more than a certain amount, as 4338 configured by the thresholds in the scanConfig parameter 4339 In addition to the autonomous scan, the wireless manager application may 4340 request a scan at any time using CSR_WIFI_SME_SCAN_FULL_REQ. 4341 4342 MEMBERS 4343 common - Common header for use with the CsrWifiFsm Module 4344 scanConfig - Reports the configuration for the autonomous scanning behaviour 4345 of the firmware 4346 4347 *******************************************************************************/ 4348 typedef struct 4349 { 4350 CsrWifiFsmEvent common; 4351 CsrWifiSmeScanConfig scanConfig; 4352 } CsrWifiSmeScanConfigSetReq; 4353 4354 /******************************************************************************* 4355 4356 NAME 4357 CsrWifiSmeScanFullReq 4358 4359 DESCRIPTION 4360 The wireless manager application should call this primitive to request a 4361 full scan. 4362 Channels are scanned actively or passively according to the requirement 4363 set by regulatory domain. 4364 If the SME receives this primitive while a full scan is going on, the new 4365 request is buffered and it will be served after the current full scan is 4366 completed. 4367 4368 MEMBERS 4369 common - Common header for use with the CsrWifiFsm Module 4370 ssidCount - Number of SSIDs provided. 4371 If it is 0, the SME will attempt to detect any network 4372 ssid - Points to the first SSID provided, if any. 4373 bssid - BSS identifier. 4374 If it is equal to FF-FF-FF-FF-FF, the SME will listen for 4375 messages from any BSS. 4376 If it is different from FF-FF-FF-FF-FF and any SSID is 4377 provided, one SSID must match the network of the BSS. 4378 forceScan - Forces the scan even if the SME is in a state which would 4379 normally prevent it (e.g. autonomous scan is running). 4380 bssType - Type of BSS to scan for 4381 scanType - Type of scan to perform 4382 channelListCount - Number of channels provided. 4383 If it is 0, the SME will initiate a scan of all the 4384 supported channels that are permitted by the current 4385 regulatory domain. 4386 channelList - Points to the first channel , or NULL if channelListCount 4387 is zero. 4388 probeIeLength - Length of the information element in bytes to be sent 4389 with the probe message. 4390 probeIe - Points to the first byte of the information element to be 4391 sent with the probe message. 4392 4393 *******************************************************************************/ 4394 typedef struct 4395 { 4396 CsrWifiFsmEvent common; 4397 u8 ssidCount; 4398 CsrWifiSsid *ssid; 4399 CsrWifiMacAddress bssid; 4400 u8 forceScan; 4401 CsrWifiSmeBssType bssType; 4402 CsrWifiSmeScanType scanType; 4403 u16 channelListCount; 4404 u8 *channelList; 4405 u16 probeIeLength; 4406 u8 *probeIe; 4407 } CsrWifiSmeScanFullReq; 4408 4409 /******************************************************************************* 4410 4411 NAME 4412 CsrWifiSmeScanResultsFlushReq 4413 4414 DESCRIPTION 4415 The Wireless Manager calls this primitive to ask the SME to delete all 4416 scan results from its cache, except for the scan result of any currently 4417 connected network. 4418 As scan results are received by the SME from the firmware, they are 4419 cached in the SME memory. 4420 Any time the Wireless Manager requests scan results, they are returned 4421 from the SME internal cache. 4422 For some applications it may be desirable to clear this cache prior to 4423 requesting that a scan be performed; this will ensure that the cache then 4424 only contains the networks detected in the most recent scan. 4425 4426 MEMBERS 4427 common - Common header for use with the CsrWifiFsm Module 4428 4429 *******************************************************************************/ 4430 typedef struct 4431 { 4432 CsrWifiFsmEvent common; 4433 } CsrWifiSmeScanResultsFlushReq; 4434 4435 /******************************************************************************* 4436 4437 NAME 4438 CsrWifiSmeScanResultsGetReq 4439 4440 DESCRIPTION 4441 The wireless manager application calls this primitive to retrieve the 4442 current set of scan results, either after receiving a successful 4443 CSR_WIFI_SME_SCAN_FULL_CFM, or to get autonomous scan results. 4444 4445 MEMBERS 4446 common - Common header for use with the CsrWifiFsm Module 4447 4448 *******************************************************************************/ 4449 typedef struct 4450 { 4451 CsrWifiFsmEvent common; 4452 } CsrWifiSmeScanResultsGetReq; 4453 4454 /******************************************************************************* 4455 4456 NAME 4457 CsrWifiSmeSmeStaConfigGetReq 4458 4459 DESCRIPTION 4460 This primitive gets the value of the SmeStaConfig parameter. 4461 4462 MEMBERS 4463 common - Common header for use with the CsrWifiFsm Module 4464 interfaceTag - Interface Identifier; unique identifier of an interface 4465 4466 *******************************************************************************/ 4467 typedef struct 4468 { 4469 CsrWifiFsmEvent common; 4470 u16 interfaceTag; 4471 } CsrWifiSmeSmeStaConfigGetReq; 4472 4473 /******************************************************************************* 4474 4475 NAME 4476 CsrWifiSmeSmeStaConfigSetReq 4477 4478 DESCRIPTION 4479 This primitive sets the value of the SmeConfig parameter. 4480 4481 MEMBERS 4482 common - Common header for use with the CsrWifiFsm Module 4483 interfaceTag - Interface Identifier; unique identifier of an interface 4484 smeConfig - SME Station Parameters to be set 4485 4486 *******************************************************************************/ 4487 typedef struct 4488 { 4489 CsrWifiFsmEvent common; 4490 u16 interfaceTag; 4491 CsrWifiSmeStaConfig smeConfig; 4492 } CsrWifiSmeSmeStaConfigSetReq; 4493 4494 /******************************************************************************* 4495 4496 NAME 4497 CsrWifiSmeStationMacAddressGetReq 4498 4499 DESCRIPTION 4500 This primitives is used to retrieve the current MAC address used by the 4501 station. 4502 4503 MEMBERS 4504 common - Common header for use with the CsrWifiFsm Module 4505 4506 *******************************************************************************/ 4507 typedef struct 4508 { 4509 CsrWifiFsmEvent common; 4510 } CsrWifiSmeStationMacAddressGetReq; 4511 4512 /******************************************************************************* 4513 4514 NAME 4515 CsrWifiSmeTspecReq 4516 4517 DESCRIPTION 4518 The wireless manager application should call this primitive to use the 4519 TSPEC feature. 4520 The chip supports the use of TSPECs and TCLAS for the use of IEEE 4521 802.11/WMM Quality of Service features. 4522 The API allows the wireless manager application to supply a correctly 4523 formatted TSPEC and TCLAS pair to the driver. 4524 After performing basic validation, the driver negotiates the installation 4525 of the TSPEC with the AP as defined by the 802.11 specification. 4526 The driver retains all TSPEC and TCLAS pairs until they are specifically 4527 removed. 4528 It is not compulsory for a TSPEC to have a TCLAS (NULL is used to 4529 indicate that no TCLAS is supplied), while a TCLASS always require a 4530 TSPEC. 4531 The format of the TSPEC element is specified in 'WMM (including WMM Power 4532 Save) Specification - Version 1.1' and 'ANSI/IEEE Std 802.11-REVmb/D3.0'. 4533 For more information, see 'UniFi Configuring WMM and WMM-PS'. 4534 4535 MEMBERS 4536 common - Common header for use with the CsrWifiFsm Module 4537 interfaceTag - Interface Identifier; unique identifier of an interface 4538 action - Specifies the action to be carried out on the list of TSPECs. 4539 CSR_WIFI_SME_LIST_ACTION_FLUSH is not applicable here. 4540 transactionId - Unique Transaction ID for the TSPEC, as assigned by the 4541 driver 4542 strict - If it set to false, allows the SME to perform automatic 4543 TSPEC negotiation 4544 ctrlMask - Additional TSPEC configuration for CCX. 4545 Set mask with values from CsrWifiSmeTspecCtrl. 4546 CURRENTLY NOT SUPPORTED 4547 tspecLength - Length of the TSPEC. 4548 tspec - Points to the first byte of the TSPEC 4549 tclasLength - Length of the TCLAS. 4550 If it is equal to 0, no TCLASS is provided for the TSPEC 4551 tclas - Points to the first byte of the TCLAS, if any. 4552 4553 *******************************************************************************/ 4554 typedef struct 4555 { 4556 CsrWifiFsmEvent common; 4557 u16 interfaceTag; 4558 CsrWifiSmeListAction action; 4559 u32 transactionId; 4560 u8 strict; 4561 CsrWifiSmeTspecCtrlMask ctrlMask; 4562 u16 tspecLength; 4563 u8 *tspec; 4564 u16 tclasLength; 4565 u8 *tclas; 4566 } CsrWifiSmeTspecReq; 4567 4568 /******************************************************************************* 4569 4570 NAME 4571 CsrWifiSmeVersionsGetReq 4572 4573 DESCRIPTION 4574 This primitive gets the value of the Versions parameter. 4575 4576 MEMBERS 4577 common - Common header for use with the CsrWifiFsm Module 4578 4579 *******************************************************************************/ 4580 typedef struct 4581 { 4582 CsrWifiFsmEvent common; 4583 } CsrWifiSmeVersionsGetReq; 4584 4585 /******************************************************************************* 4586 4587 NAME 4588 CsrWifiSmeWifiFlightmodeReq 4589 4590 DESCRIPTION 4591 The wireless manager application may call this primitive on boot-up of 4592 the platform to ensure that the chip is placed in a mode that prevents 4593 any emission of RF energy. 4594 This primitive is an alternative to CSR_WIFI_SME_WIFI_ON_REQ. 4595 As in CSR_WIFI_SME_WIFI_ON_REQ, it causes the download of the patch file 4596 (if any) and the programming of the initial MIB settings (if supplied by 4597 the WMA), but it also ensures that the chip is left in its lowest 4598 possible power-mode with the radio subsystems disabled. 4599 This feature is useful on platforms where power cannot be removed from 4600 the chip (leaving the chip not initialised will cause it to consume more 4601 power so calling this function ensures that the chip is initialised into 4602 a low power mode but without entering a state where it could emit any RF 4603 energy). 4604 NOTE: this primitive does not cause the Wi-Fi to change state: Wi-Fi 4605 stays conceptually off. Configuration primitives can be sent after 4606 CSR_WIFI_SME_WIFI_FLIGHTMODE_REQ and the configuration will be maintained. 4607 Requests that require the state of the Wi-Fi to be ON will return 4608 CSR_WIFI_SME_STATUS_WIFI_OFF in their confirms. 4609 4610 MEMBERS 4611 common - Common header for use with the CsrWifiFsm Module 4612 address - Optionally specifies a station MAC address. 4613 In normal use, the manager should set the address to 0xFF 4614 0xFF 0xFF 0xFF 0xFF 0xFF, which will cause the chip to use 4615 the MAC address in the MIB. 4616 mibFilesCount - Number of provided data blocks with initial MIB values 4617 mibFiles - Points to the first data block with initial MIB values. 4618 These data blocks are typically the contents of the provided 4619 files ufmib.dat and localmib.dat, available from the host 4620 file system, if they exist. 4621 These files typically contain radio tuning and calibration 4622 values. 4623 More values can be created using the Host Tools. 4624 4625 *******************************************************************************/ 4626 typedef struct 4627 { 4628 CsrWifiFsmEvent common; 4629 CsrWifiMacAddress address; 4630 u16 mibFilesCount; 4631 CsrWifiSmeDataBlock *mibFiles; 4632 } CsrWifiSmeWifiFlightmodeReq; 4633 4634 /******************************************************************************* 4635 4636 NAME 4637 CsrWifiSmeWifiOffReq 4638 4639 DESCRIPTION 4640 The wireless manager application calls this primitive to turn off the 4641 chip, thus saving power when Wi-Fi is not in use. 4642 4643 MEMBERS 4644 common - Common header for use with the CsrWifiFsm Module 4645 4646 *******************************************************************************/ 4647 typedef struct 4648 { 4649 CsrWifiFsmEvent common; 4650 } CsrWifiSmeWifiOffReq; 4651 4652 /******************************************************************************* 4653 4654 NAME 4655 CsrWifiSmeWifiOnReq 4656 4657 DESCRIPTION 4658 The wireless manager application calls this primitive to turn on the 4659 Wi-Fi chip. 4660 If the Wi-Fi chip is currently off, the SME turns the Wi-Fi chip on, 4661 downloads the patch file (if any), and programs the initial MIB settings 4662 (if supplied by the WMA). 4663 The patch file is not provided with the SME API; its downloading is 4664 automatic and handled internally by the system. 4665 The MIB settings, when provided, override the default values that the 4666 firmware loads from EEPROM. 4667 If the Wi-Fi chip is already on, the SME takes no action and returns a 4668 successful status in the confirm. 4669 4670 MEMBERS 4671 common - Common header for use with the CsrWifiFsm Module 4672 address - Optionally specifies a station MAC address. 4673 In normal use, the manager should set the address to 0xFF 4674 0xFF 0xFF 0xFF 0xFF 0xFF, which will cause the chip to use 4675 the MAC address in the MIB 4676 mibFilesCount - Number of provided data blocks with initial MIB values 4677 mibFiles - Points to the first data block with initial MIB values. 4678 These data blocks are typically the contents of the provided 4679 files ufmib.dat and localmib.dat, available from the host 4680 file system, if they exist. 4681 These files typically contain radio tuning and calibration 4682 values. 4683 More values can be created using the Host Tools. 4684 4685 *******************************************************************************/ 4686 typedef struct 4687 { 4688 CsrWifiFsmEvent common; 4689 CsrWifiMacAddress address; 4690 u16 mibFilesCount; 4691 CsrWifiSmeDataBlock *mibFiles; 4692 } CsrWifiSmeWifiOnReq; 4693 4694 /******************************************************************************* 4695 4696 NAME 4697 CsrWifiSmeCloakedSsidsSetReq 4698 4699 DESCRIPTION 4700 This primitive sets the list of cloaked SSIDs for which the WMA possesses 4701 profiles. 4702 When the driver detects a cloaked AP, the SME will explicitly scan for it 4703 using the list of cloaked SSIDs provided it, and, if the scan succeeds, 4704 it will report the AP to the WMA either via CSR_WIFI_SME_SCAN_RESULT_IND 4705 (if registered) or via CSR_WIFI_SCAN_RESULT_GET_CFM. 4706 4707 MEMBERS 4708 common - Common header for use with the CsrWifiFsm Module 4709 cloakedSsids - Sets the list of cloaked SSIDs 4710 4711 *******************************************************************************/ 4712 typedef struct 4713 { 4714 CsrWifiFsmEvent common; 4715 CsrWifiSmeCloakedSsidConfig cloakedSsids; 4716 } CsrWifiSmeCloakedSsidsSetReq; 4717 4718 /******************************************************************************* 4719 4720 NAME 4721 CsrWifiSmeCloakedSsidsGetReq 4722 4723 DESCRIPTION 4724 This primitive gets the value of the CloakedSsids parameter. 4725 4726 MEMBERS 4727 common - Common header for use with the CsrWifiFsm Module 4728 4729 *******************************************************************************/ 4730 typedef struct 4731 { 4732 CsrWifiFsmEvent common; 4733 } CsrWifiSmeCloakedSsidsGetReq; 4734 4735 /******************************************************************************* 4736 4737 NAME 4738 CsrWifiSmeSmeCommonConfigGetReq 4739 4740 DESCRIPTION 4741 This primitive gets the value of the Sme common parameter. 4742 4743 MEMBERS 4744 common - Common header for use with the CsrWifiFsm Module 4745 4746 *******************************************************************************/ 4747 typedef struct 4748 { 4749 CsrWifiFsmEvent common; 4750 } CsrWifiSmeSmeCommonConfigGetReq; 4751 4752 /******************************************************************************* 4753 4754 NAME 4755 CsrWifiSmeSmeCommonConfigSetReq 4756 4757 DESCRIPTION 4758 This primitive sets the value of the Sme common. 4759 4760 MEMBERS 4761 common - Common header for use with the CsrWifiFsm Module 4762 deviceConfig - Configuration options in the SME 4763 4764 *******************************************************************************/ 4765 typedef struct 4766 { 4767 CsrWifiFsmEvent common; 4768 CsrWifiSmeDeviceConfig deviceConfig; 4769 } CsrWifiSmeSmeCommonConfigSetReq; 4770 4771 /******************************************************************************* 4772 4773 NAME 4774 CsrWifiSmeInterfaceCapabilityGetReq 4775 4776 DESCRIPTION 4777 The Wireless Manager calls this primitive to ask the SME for the 4778 capabilities of the supported interfaces 4779 4780 MEMBERS 4781 common - Common header for use with the CsrWifiFsm Module 4782 4783 *******************************************************************************/ 4784 typedef struct 4785 { 4786 CsrWifiFsmEvent common; 4787 } CsrWifiSmeInterfaceCapabilityGetReq; 4788 4789 /******************************************************************************* 4790 4791 NAME 4792 CsrWifiSmeWpsConfigurationReq 4793 4794 DESCRIPTION 4795 This primitive passes the WPS information for the device to SME. This may 4796 be accepted only if no interface is active. 4797 4798 MEMBERS 4799 common - Common header for use with the CsrWifiFsm Module 4800 wpsConfig - WPS config. 4801 4802 *******************************************************************************/ 4803 typedef struct 4804 { 4805 CsrWifiFsmEvent common; 4806 CsrWifiSmeWpsConfig wpsConfig; 4807 } CsrWifiSmeWpsConfigurationReq; 4808 4809 /******************************************************************************* 4810 4811 NAME 4812 CsrWifiSmeSetReq 4813 4814 DESCRIPTION 4815 Used to pass custom data to the SME. Format is the same as 802.11 Info 4816 Elements => | Id | Length | Data 4817 1) Cmanr Test Mode "Id:0 Length:1 Data:0x00 = OFF 0x01 = ON" "0x00 0x01 4818 (0x00|0x01)" 4819 4820 MEMBERS 4821 common - Common header for use with the CsrWifiFsm Module 4822 dataLength - Number of bytes in the buffer pointed to by 'data' 4823 data - Pointer to the buffer containing 'dataLength' bytes 4824 4825 *******************************************************************************/ 4826 typedef struct 4827 { 4828 CsrWifiFsmEvent common; 4829 u32 dataLength; 4830 u8 *data; 4831 } CsrWifiSmeSetReq; 4832 4833 /******************************************************************************* 4834 4835 NAME 4836 CsrWifiSmeActivateCfm 4837 4838 DESCRIPTION 4839 The SME sends this primitive when the activation is complete. 4840 4841 MEMBERS 4842 common - Common header for use with the CsrWifiFsm Module 4843 status - Reports the result of the request 4844 4845 *******************************************************************************/ 4846 typedef struct 4847 { 4848 CsrWifiFsmEvent common; 4849 CsrResult status; 4850 } CsrWifiSmeActivateCfm; 4851 4852 /******************************************************************************* 4853 4854 NAME 4855 CsrWifiSmeAdhocConfigGetCfm 4856 4857 DESCRIPTION 4858 This primitive reports the result of the request. 4859 4860 MEMBERS 4861 common - Common header for use with the CsrWifiFsm Module 4862 status - Reports the result of the request 4863 adHocConfig - Contains the values used when starting an Ad-hoc (IBSS) 4864 connection. 4865 4866 *******************************************************************************/ 4867 typedef struct 4868 { 4869 CsrWifiFsmEvent common; 4870 CsrResult status; 4871 CsrWifiSmeAdHocConfig adHocConfig; 4872 } CsrWifiSmeAdhocConfigGetCfm; 4873 4874 /******************************************************************************* 4875 4876 NAME 4877 CsrWifiSmeAdhocConfigSetCfm 4878 4879 DESCRIPTION 4880 This primitive reports the result of the request. 4881 4882 MEMBERS 4883 common - Common header for use with the CsrWifiFsm Module 4884 status - Reports the result of the request 4885 4886 *******************************************************************************/ 4887 typedef struct 4888 { 4889 CsrWifiFsmEvent common; 4890 CsrResult status; 4891 } CsrWifiSmeAdhocConfigSetCfm; 4892 4893 /******************************************************************************* 4894 4895 NAME 4896 CsrWifiSmeAssociationCompleteInd 4897 4898 DESCRIPTION 4899 The SME will send this primitive to all the tasks that have registered to 4900 receive it whenever it completes an attempt to associate with an AP. If 4901 the association was successful, status will be set to 4902 CSR_WIFI_SME_STATUS_SUCCESS, otherwise status and deauthReason shall be 4903 set to appropriate error codes. 4904 4905 MEMBERS 4906 common - Common header for use with the CsrWifiFsm Module 4907 interfaceTag - Interface Identifier; unique identifier of an interface 4908 status - Reports the result of the association procedure 4909 connectionInfo - This parameter is relevant only if result is 4910 CSR_WIFI_SME_STATUS_SUCCESS: 4911 it points to the connection information for the new network 4912 deauthReason - This parameter is relevant only if result is not 4913 CSR_WIFI_SME_STATUS_SUCCESS: 4914 if the AP deauthorised the station, it gives the reason of 4915 the deauthorization 4916 4917 *******************************************************************************/ 4918 typedef struct 4919 { 4920 CsrWifiFsmEvent common; 4921 u16 interfaceTag; 4922 CsrResult status; 4923 CsrWifiSmeConnectionInfo connectionInfo; 4924 CsrWifiSmeIEEE80211Reason deauthReason; 4925 } CsrWifiSmeAssociationCompleteInd; 4926 4927 /******************************************************************************* 4928 4929 NAME 4930 CsrWifiSmeAssociationStartInd 4931 4932 DESCRIPTION 4933 The SME will send this primitive to all the tasks that have registered to 4934 receive it whenever it begins an attempt to associate with an AP. 4935 4936 MEMBERS 4937 common - Common header for use with the CsrWifiFsm Module 4938 interfaceTag - Interface Identifier; unique identifier of an interface 4939 address - BSSID of the associating network 4940 ssid - Service Set identifier of the associating network 4941 4942 *******************************************************************************/ 4943 typedef struct 4944 { 4945 CsrWifiFsmEvent common; 4946 u16 interfaceTag; 4947 CsrWifiMacAddress address; 4948 CsrWifiSsid ssid; 4949 } CsrWifiSmeAssociationStartInd; 4950 4951 /******************************************************************************* 4952 4953 NAME 4954 CsrWifiSmeBlacklistCfm 4955 4956 DESCRIPTION 4957 The SME will call this primitive when the action on the blacklist has 4958 completed. For a GET action, this primitive also reports the list of 4959 BBSIDs in the blacklist. 4960 4961 MEMBERS 4962 common - Common header for use with the CsrWifiFsm Module 4963 interfaceTag - Interface Identifier; unique identifier of an interface 4964 status - Reports the result of the request 4965 action - Action in the request 4966 getAddressCount - This parameter is only relevant if action is 4967 CSR_WIFI_SME_LIST_ACTION_GET: 4968 number of BSSIDs sent with this primitive 4969 getAddresses - Pointer to the list of BBSIDs sent with the primitive, set 4970 to NULL if none is sent. 4971 4972 *******************************************************************************/ 4973 typedef struct 4974 { 4975 CsrWifiFsmEvent common; 4976 u16 interfaceTag; 4977 CsrResult status; 4978 CsrWifiSmeListAction action; 4979 u8 getAddressCount; 4980 CsrWifiMacAddress *getAddresses; 4981 } CsrWifiSmeBlacklistCfm; 4982 4983 /******************************************************************************* 4984 4985 NAME 4986 CsrWifiSmeCalibrationDataGetCfm 4987 4988 DESCRIPTION 4989 This primitive reports the result of the request. 4990 4991 MEMBERS 4992 common - Common header for use with the CsrWifiFsm Module 4993 status - Reports the result of the request 4994 calibrationDataLength - Number of bytes in the buffer pointed by 4995 calibrationData 4996 calibrationData - Pointer to a buffer of length calibrationDataLength 4997 containing the calibration data 4998 4999 *******************************************************************************/ 5000 typedef struct 5001 { 5002 CsrWifiFsmEvent common; 5003 CsrResult status; 5004 u16 calibrationDataLength; 5005 u8 *calibrationData; 5006 } CsrWifiSmeCalibrationDataGetCfm; 5007 5008 /******************************************************************************* 5009 5010 NAME 5011 CsrWifiSmeCalibrationDataSetCfm 5012 5013 DESCRIPTION 5014 This primitive reports the result of the request. 5015 5016 MEMBERS 5017 common - Common header for use with the CsrWifiFsm Module 5018 status - Reports the result of the request 5019 5020 *******************************************************************************/ 5021 typedef struct 5022 { 5023 CsrWifiFsmEvent common; 5024 CsrResult status; 5025 } CsrWifiSmeCalibrationDataSetCfm; 5026 5027 /******************************************************************************* 5028 5029 NAME 5030 CsrWifiSmeCcxConfigGetCfm 5031 5032 DESCRIPTION 5033 This primitive reports the result of the request. 5034 5035 MEMBERS 5036 common - Common header for use with the CsrWifiFsm Module 5037 interfaceTag - Interface Identifier; unique identifier of an interface 5038 status - Reports the result of the request 5039 ccxConfig - Currently not supported 5040 5041 *******************************************************************************/ 5042 typedef struct 5043 { 5044 CsrWifiFsmEvent common; 5045 u16 interfaceTag; 5046 CsrResult status; 5047 CsrWifiSmeCcxConfig ccxConfig; 5048 } CsrWifiSmeCcxConfigGetCfm; 5049 5050 /******************************************************************************* 5051 5052 NAME 5053 CsrWifiSmeCcxConfigSetCfm 5054 5055 DESCRIPTION 5056 This primitive reports the result of the request. 5057 5058 MEMBERS 5059 common - Common header for use with the CsrWifiFsm Module 5060 interfaceTag - Interface Identifier; unique identifier of an interface 5061 status - Reports the result of the request 5062 5063 *******************************************************************************/ 5064 typedef struct 5065 { 5066 CsrWifiFsmEvent common; 5067 u16 interfaceTag; 5068 CsrResult status; 5069 } CsrWifiSmeCcxConfigSetCfm; 5070 5071 /******************************************************************************* 5072 5073 NAME 5074 CsrWifiSmeCoexConfigGetCfm 5075 5076 DESCRIPTION 5077 This primitive reports the result of the request. 5078 5079 MEMBERS 5080 common - Common header for use with the CsrWifiFsm Module 5081 status - Reports the result of the request 5082 coexConfig - Reports the parameters used to configure the coexistence 5083 behaviour 5084 5085 *******************************************************************************/ 5086 typedef struct 5087 { 5088 CsrWifiFsmEvent common; 5089 CsrResult status; 5090 CsrWifiSmeCoexConfig coexConfig; 5091 } CsrWifiSmeCoexConfigGetCfm; 5092 5093 /******************************************************************************* 5094 5095 NAME 5096 CsrWifiSmeCoexConfigSetCfm 5097 5098 DESCRIPTION 5099 This primitive reports the result of the request. 5100 5101 MEMBERS 5102 common - Common header for use with the CsrWifiFsm Module 5103 status - Reports the result of the request 5104 5105 *******************************************************************************/ 5106 typedef struct 5107 { 5108 CsrWifiFsmEvent common; 5109 CsrResult status; 5110 } CsrWifiSmeCoexConfigSetCfm; 5111 5112 /******************************************************************************* 5113 5114 NAME 5115 CsrWifiSmeCoexInfoGetCfm 5116 5117 DESCRIPTION 5118 This primitive reports the result of the request. 5119 5120 MEMBERS 5121 common - Common header for use with the CsrWifiFsm Module 5122 status - Reports the result of the request 5123 coexInfo - Reports information and state related to coexistence. 5124 5125 *******************************************************************************/ 5126 typedef struct 5127 { 5128 CsrWifiFsmEvent common; 5129 CsrResult status; 5130 CsrWifiSmeCoexInfo coexInfo; 5131 } CsrWifiSmeCoexInfoGetCfm; 5132 5133 /******************************************************************************* 5134 5135 NAME 5136 CsrWifiSmeConnectCfm 5137 5138 DESCRIPTION 5139 The SME calls this primitive when the connection exchange is complete or 5140 all connection attempts fail. 5141 5142 MEMBERS 5143 common - Common header for use with the CsrWifiFsm Module 5144 interfaceTag - Interface Identifier; unique identifier of an interface 5145 status - Reports the result of the request. 5146 CSR_WIFI_SME_STATUS_NOT_FOUND: all attempts by the SME to 5147 locate the requested AP failed 5148 5149 *******************************************************************************/ 5150 typedef struct 5151 { 5152 CsrWifiFsmEvent common; 5153 u16 interfaceTag; 5154 CsrResult status; 5155 } CsrWifiSmeConnectCfm; 5156 5157 /******************************************************************************* 5158 5159 NAME 5160 CsrWifiSmeConnectionConfigGetCfm 5161 5162 DESCRIPTION 5163 This primitive reports the result of the request. 5164 5165 MEMBERS 5166 common - Common header for use with the CsrWifiFsm Module 5167 interfaceTag - Interface Identifier; unique identifier of an interface 5168 status - Reports the result of the request 5169 connectionConfig - Parameters used by the SME for selecting a network 5170 5171 *******************************************************************************/ 5172 typedef struct 5173 { 5174 CsrWifiFsmEvent common; 5175 u16 interfaceTag; 5176 CsrResult status; 5177 CsrWifiSmeConnectionConfig connectionConfig; 5178 } CsrWifiSmeConnectionConfigGetCfm; 5179 5180 /******************************************************************************* 5181 5182 NAME 5183 CsrWifiSmeConnectionInfoGetCfm 5184 5185 DESCRIPTION 5186 This primitive reports the result of the request. 5187 5188 MEMBERS 5189 common - Common header for use with the CsrWifiFsm Module 5190 interfaceTag - Interface Identifier; unique identifier of an interface 5191 status - Reports the result of the request 5192 connectionInfo - Information about the current connection 5193 5194 *******************************************************************************/ 5195 typedef struct 5196 { 5197 CsrWifiFsmEvent common; 5198 u16 interfaceTag; 5199 CsrResult status; 5200 CsrWifiSmeConnectionInfo connectionInfo; 5201 } CsrWifiSmeConnectionInfoGetCfm; 5202 5203 /******************************************************************************* 5204 5205 NAME 5206 CsrWifiSmeConnectionQualityInd 5207 5208 DESCRIPTION 5209 The SME sends this primitive to all the tasks that have registered to 5210 receive it whenever the value of the current connection quality 5211 parameters change by more than a certain configurable amount. 5212 The wireless manager application may configure the trigger thresholds for 5213 this indication using the field in smeConfig parameter of 5214 CSR_WIFI_SME_SME_CONFIG_SET_REQ. 5215 Connection quality messages can be suppressed by setting both thresholds 5216 to zero. 5217 5218 MEMBERS 5219 common - Common header for use with the CsrWifiFsm Module 5220 interfaceTag - Interface Identifier; unique identifier of an interface 5221 linkQuality - Indicates the quality of the link 5222 5223 *******************************************************************************/ 5224 typedef struct 5225 { 5226 CsrWifiFsmEvent common; 5227 u16 interfaceTag; 5228 CsrWifiSmeLinkQuality linkQuality; 5229 } CsrWifiSmeConnectionQualityInd; 5230 5231 /******************************************************************************* 5232 5233 NAME 5234 CsrWifiSmeConnectionStatsGetCfm 5235 5236 DESCRIPTION 5237 This primitive reports the result of the request. 5238 5239 MEMBERS 5240 common - Common header for use with the CsrWifiFsm Module 5241 interfaceTag - Interface Identifier; unique identifier of an interface 5242 status - Reports the result of the request 5243 connectionStats - Statistics for current connection. 5244 5245 *******************************************************************************/ 5246 typedef struct 5247 { 5248 CsrWifiFsmEvent common; 5249 u16 interfaceTag; 5250 CsrResult status; 5251 CsrWifiSmeConnectionStats connectionStats; 5252 } CsrWifiSmeConnectionStatsGetCfm; 5253 5254 /******************************************************************************* 5255 5256 NAME 5257 CsrWifiSmeDeactivateCfm 5258 5259 DESCRIPTION 5260 The SME sends this primitive when the deactivation is complete. 5261 The WMA cannot send any more primitives until it actives the SME again 5262 sending another CSR_WIFI_SME_ACTIVATE_REQ. 5263 5264 MEMBERS 5265 common - Common header for use with the CsrWifiFsm Module 5266 status - Reports the result of the request 5267 5268 *******************************************************************************/ 5269 typedef struct 5270 { 5271 CsrWifiFsmEvent common; 5272 CsrResult status; 5273 } CsrWifiSmeDeactivateCfm; 5274 5275 /******************************************************************************* 5276 5277 NAME 5278 CsrWifiSmeDisconnectCfm 5279 5280 DESCRIPTION 5281 On reception of CSR_WIFI_SME_DISCONNECT_REQ the SME will perform a 5282 disconnect operation, sending a CsrWifiSmeMediaStatusInd with 5283 CSR_WIFI_SME_MEDIA_STATUS_DISCONNECTED and then call this primitive when 5284 disconnection is complete. 5285 5286 MEMBERS 5287 common - Common header for use with the CsrWifiFsm Module 5288 interfaceTag - Interface Identifier; unique identifier of an interface 5289 status - Reports the result of the request 5290 5291 *******************************************************************************/ 5292 typedef struct 5293 { 5294 CsrWifiFsmEvent common; 5295 u16 interfaceTag; 5296 CsrResult status; 5297 } CsrWifiSmeDisconnectCfm; 5298 5299 /******************************************************************************* 5300 5301 NAME 5302 CsrWifiSmeEventMaskSetCfm 5303 5304 DESCRIPTION 5305 The SME calls the primitive to report the result of the request 5306 primitive. 5307 5308 MEMBERS 5309 common - Common header for use with the CsrWifiFsm Module 5310 status - Reports the result of the request 5311 5312 *******************************************************************************/ 5313 typedef struct 5314 { 5315 CsrWifiFsmEvent common; 5316 CsrResult status; 5317 } CsrWifiSmeEventMaskSetCfm; 5318 5319 /******************************************************************************* 5320 5321 NAME 5322 CsrWifiSmeHostConfigGetCfm 5323 5324 DESCRIPTION 5325 This primitive reports the result of the request. 5326 5327 MEMBERS 5328 common - Common header for use with the CsrWifiFsm Module 5329 interfaceTag - Interface Identifier; unique identifier of an interface 5330 status - Reports the result of the request 5331 hostConfig - Current host power state. 5332 5333 *******************************************************************************/ 5334 typedef struct 5335 { 5336 CsrWifiFsmEvent common; 5337 u16 interfaceTag; 5338 CsrResult status; 5339 CsrWifiSmeHostConfig hostConfig; 5340 } CsrWifiSmeHostConfigGetCfm; 5341 5342 /******************************************************************************* 5343 5344 NAME 5345 CsrWifiSmeHostConfigSetCfm 5346 5347 DESCRIPTION 5348 This primitive reports the result of the request. 5349 5350 MEMBERS 5351 common - Common header for use with the CsrWifiFsm Module 5352 interfaceTag - Interface Identifier; unique identifier of an interface 5353 status - Reports the result of the request 5354 5355 *******************************************************************************/ 5356 typedef struct 5357 { 5358 CsrWifiFsmEvent common; 5359 u16 interfaceTag; 5360 CsrResult status; 5361 } CsrWifiSmeHostConfigSetCfm; 5362 5363 /******************************************************************************* 5364 5365 NAME 5366 CsrWifiSmeIbssStationInd 5367 5368 DESCRIPTION 5369 The SME will send this primitive to indicate that a station has joined or 5370 left the ad-hoc network. 5371 5372 MEMBERS 5373 common - Common header for use with the CsrWifiFsm Module 5374 address - MAC address of the station that has joined or left 5375 isconnected - TRUE if the station joined, FALSE if the station left 5376 5377 *******************************************************************************/ 5378 typedef struct 5379 { 5380 CsrWifiFsmEvent common; 5381 CsrWifiMacAddress address; 5382 u8 isconnected; 5383 } CsrWifiSmeIbssStationInd; 5384 5385 /******************************************************************************* 5386 5387 NAME 5388 CsrWifiSmeKeyCfm 5389 5390 DESCRIPTION 5391 The SME calls the primitive to report the result of the request 5392 primitive. 5393 5394 MEMBERS 5395 common - Common header for use with the CsrWifiFsm Module 5396 interfaceTag - Interface Identifier; unique identifier of an interface 5397 status - Reports the result of the request 5398 action - Action in the request 5399 keyType - Type of the key added/deleted 5400 peerMacAddress - Peer MAC Address of the key added/deleted 5401 5402 *******************************************************************************/ 5403 typedef struct 5404 { 5405 CsrWifiFsmEvent common; 5406 u16 interfaceTag; 5407 CsrResult status; 5408 CsrWifiSmeListAction action; 5409 CsrWifiSmeKeyType keyType; 5410 CsrWifiMacAddress peerMacAddress; 5411 } CsrWifiSmeKeyCfm; 5412 5413 /******************************************************************************* 5414 5415 NAME 5416 CsrWifiSmeLinkQualityGetCfm 5417 5418 DESCRIPTION 5419 This primitive reports the result of the request. 5420 5421 MEMBERS 5422 common - Common header for use with the CsrWifiFsm Module 5423 interfaceTag - Interface Identifier; unique identifier of an interface 5424 status - Reports the result of the request 5425 linkQuality - Indicates the quality of the link 5426 5427 *******************************************************************************/ 5428 typedef struct 5429 { 5430 CsrWifiFsmEvent common; 5431 u16 interfaceTag; 5432 CsrResult status; 5433 CsrWifiSmeLinkQuality linkQuality; 5434 } CsrWifiSmeLinkQualityGetCfm; 5435 5436 /******************************************************************************* 5437 5438 NAME 5439 CsrWifiSmeMediaStatusInd 5440 5441 DESCRIPTION 5442 The SME sends this primitive to all the tasks that have registered to 5443 receive it when a network connection is established, lost or has moved to 5444 another AP. 5445 5446 MEMBERS 5447 common - Common header for use with the CsrWifiFsm Module 5448 interfaceTag - Interface Identifier; unique identifier of an interface 5449 mediaStatus - Indicates the media status 5450 connectionInfo - This parameter is relevant only if the mediaStatus is 5451 CSR_WIFI_SME_MEDIA_STATUS_CONNECTED: 5452 it points to the connection information for the new network 5453 disassocReason - This parameter is relevant only if the mediaStatus is 5454 CSR_WIFI_SME_MEDIA_STATUS_DISCONNECTED: 5455 if a disassociation has occurred it gives the reason of the 5456 disassociation 5457 deauthReason - This parameter is relevant only if the mediaStatus is 5458 CSR_WIFI_SME_MEDIA_STATUS_DISCONNECTED: 5459 if a deauthentication has occurred it gives the reason of 5460 the deauthentication 5461 5462 *******************************************************************************/ 5463 typedef struct 5464 { 5465 CsrWifiFsmEvent common; 5466 u16 interfaceTag; 5467 CsrWifiSmeMediaStatus mediaStatus; 5468 CsrWifiSmeConnectionInfo connectionInfo; 5469 CsrWifiSmeIEEE80211Reason disassocReason; 5470 CsrWifiSmeIEEE80211Reason deauthReason; 5471 } CsrWifiSmeMediaStatusInd; 5472 5473 /******************************************************************************* 5474 5475 NAME 5476 CsrWifiSmeMibConfigGetCfm 5477 5478 DESCRIPTION 5479 This primitive reports the result of the request. 5480 5481 MEMBERS 5482 common - Common header for use with the CsrWifiFsm Module 5483 status - Reports the result of the request 5484 mibConfig - Reports various IEEE 802.11 attributes as currently configured 5485 5486 *******************************************************************************/ 5487 typedef struct 5488 { 5489 CsrWifiFsmEvent common; 5490 CsrResult status; 5491 CsrWifiSmeMibConfig mibConfig; 5492 } CsrWifiSmeMibConfigGetCfm; 5493 5494 /******************************************************************************* 5495 5496 NAME 5497 CsrWifiSmeMibConfigSetCfm 5498 5499 DESCRIPTION 5500 This primitive reports the result of the request. 5501 5502 MEMBERS 5503 common - Common header for use with the CsrWifiFsm Module 5504 status - Reports the result of the request 5505 5506 *******************************************************************************/ 5507 typedef struct 5508 { 5509 CsrWifiFsmEvent common; 5510 CsrResult status; 5511 } CsrWifiSmeMibConfigSetCfm; 5512 5513 /******************************************************************************* 5514 5515 NAME 5516 CsrWifiSmeMibGetCfm 5517 5518 DESCRIPTION 5519 The SME calls this primitive to return the requested MIB variable values. 5520 5521 MEMBERS 5522 common - Common header for use with the CsrWifiFsm Module 5523 status - Reports the result of the request 5524 mibAttributeLength - Length of mibAttribute 5525 mibAttribute - Points to the VarBind or VarBindList containing the 5526 names and values of the MIB variables requested 5527 5528 *******************************************************************************/ 5529 typedef struct 5530 { 5531 CsrWifiFsmEvent common; 5532 CsrResult status; 5533 u16 mibAttributeLength; 5534 u8 *mibAttribute; 5535 } CsrWifiSmeMibGetCfm; 5536 5537 /******************************************************************************* 5538 5539 NAME 5540 CsrWifiSmeMibGetNextCfm 5541 5542 DESCRIPTION 5543 The SME calls this primitive to return the requested MIB name(s). 5544 The wireless manager application can then read the value of the MIB 5545 variable using CSR_WIFI_SME_MIB_GET_REQ, using the names provided. 5546 5547 MEMBERS 5548 common - Common header for use with the CsrWifiFsm Module 5549 status - Reports the result of the request 5550 mibAttributeLength - Length of mibAttribute 5551 mibAttribute - Points to a VarBind or VarBindList containing the 5552 name(s) of the MIB variable(s) lexicographically 5553 following the name(s) given in the request 5554 5555 *******************************************************************************/ 5556 typedef struct 5557 { 5558 CsrWifiFsmEvent common; 5559 CsrResult status; 5560 u16 mibAttributeLength; 5561 u8 *mibAttribute; 5562 } CsrWifiSmeMibGetNextCfm; 5563 5564 /******************************************************************************* 5565 5566 NAME 5567 CsrWifiSmeMibSetCfm 5568 5569 DESCRIPTION 5570 The SME calls the primitive to report the result of the set primitive. 5571 5572 MEMBERS 5573 common - Common header for use with the CsrWifiFsm Module 5574 status - Reports the result of the request 5575 5576 *******************************************************************************/ 5577 typedef struct 5578 { 5579 CsrWifiFsmEvent common; 5580 CsrResult status; 5581 } CsrWifiSmeMibSetCfm; 5582 5583 /******************************************************************************* 5584 5585 NAME 5586 CsrWifiSmeMicFailureInd 5587 5588 DESCRIPTION 5589 The SME sends this primitive to all the tasks that have registered to 5590 receive it whenever the chip firmware reports a MIC failure. 5591 5592 MEMBERS 5593 common - Common header for use with the CsrWifiFsm Module 5594 interfaceTag - Interface Identifier; unique identifier of an interface 5595 secondFailure - TRUE if this indication is for a second failure in 60 5596 seconds 5597 count - The number of MIC failure events since the connection was 5598 established 5599 address - MAC address of the transmitter that caused the MIC failure 5600 keyType - Type of key for which the failure occurred 5601 5602 *******************************************************************************/ 5603 typedef struct 5604 { 5605 CsrWifiFsmEvent common; 5606 u16 interfaceTag; 5607 u8 secondFailure; 5608 u16 count; 5609 CsrWifiMacAddress address; 5610 CsrWifiSmeKeyType keyType; 5611 } CsrWifiSmeMicFailureInd; 5612 5613 /******************************************************************************* 5614 5615 NAME 5616 CsrWifiSmeMulticastAddressCfm 5617 5618 DESCRIPTION 5619 The SME will call this primitive when the operation is complete. For a 5620 GET action, this primitive reports the current list of MAC addresses. 5621 5622 MEMBERS 5623 common - Common header for use with the CsrWifiFsm Module 5624 interfaceTag - Interface Identifier; unique identifier of an interface 5625 status - Reports the result of the request 5626 action - Action in the request 5627 getAddressesCount - This parameter is only relevant if action is 5628 CSR_WIFI_SME_LIST_ACTION_GET: 5629 number of MAC addresses sent with the primitive 5630 getAddresses - Pointer to the list of MAC Addresses sent with the 5631 primitive, set to NULL if none is sent. 5632 5633 *******************************************************************************/ 5634 typedef struct 5635 { 5636 CsrWifiFsmEvent common; 5637 u16 interfaceTag; 5638 CsrResult status; 5639 CsrWifiSmeListAction action; 5640 u8 getAddressesCount; 5641 CsrWifiMacAddress *getAddresses; 5642 } CsrWifiSmeMulticastAddressCfm; 5643 5644 /******************************************************************************* 5645 5646 NAME 5647 CsrWifiSmePacketFilterSetCfm 5648 5649 DESCRIPTION 5650 The SME calls the primitive to report the result of the set primitive. 5651 5652 MEMBERS 5653 common - Common header for use with the CsrWifiFsm Module 5654 interfaceTag - Interface Identifier; unique identifier of an interface 5655 status - Reports the result of the request 5656 5657 *******************************************************************************/ 5658 typedef struct 5659 { 5660 CsrWifiFsmEvent common; 5661 u16 interfaceTag; 5662 CsrResult status; 5663 } CsrWifiSmePacketFilterSetCfm; 5664 5665 /******************************************************************************* 5666 5667 NAME 5668 CsrWifiSmePermanentMacAddressGetCfm 5669 5670 DESCRIPTION 5671 This primitive reports the result of the request. 5672 5673 MEMBERS 5674 common - Common header for use with the CsrWifiFsm Module 5675 status - Reports the result of the request 5676 permanentMacAddress - MAC address stored in the EEPROM 5677 5678 *******************************************************************************/ 5679 typedef struct 5680 { 5681 CsrWifiFsmEvent common; 5682 CsrResult status; 5683 CsrWifiMacAddress permanentMacAddress; 5684 } CsrWifiSmePermanentMacAddressGetCfm; 5685 5686 /******************************************************************************* 5687 5688 NAME 5689 CsrWifiSmePmkidCandidateListInd 5690 5691 DESCRIPTION 5692 The SME will send this primitive to all the tasks that have registered to 5693 receive it when a new network supporting preauthentication and/or PMK 5694 caching is seen. 5695 5696 MEMBERS 5697 common - Common header for use with the CsrWifiFsm Module 5698 interfaceTag - Interface Identifier; unique identifier of an 5699 interface 5700 pmkidCandidatesCount - Number of PMKID candidates provided 5701 pmkidCandidates - Points to the first PMKID candidate 5702 5703 *******************************************************************************/ 5704 typedef struct 5705 { 5706 CsrWifiFsmEvent common; 5707 u16 interfaceTag; 5708 u8 pmkidCandidatesCount; 5709 CsrWifiSmePmkidCandidate *pmkidCandidates; 5710 } CsrWifiSmePmkidCandidateListInd; 5711 5712 /******************************************************************************* 5713 5714 NAME 5715 CsrWifiSmePmkidCfm 5716 5717 DESCRIPTION 5718 The SME will call this primitive when the operation is complete. For a 5719 GET action, this primitive reports the current list of PMKIDs 5720 5721 MEMBERS 5722 common - Common header for use with the CsrWifiFsm Module 5723 interfaceTag - Interface Identifier; unique identifier of an interface 5724 status - Reports the result of the request 5725 action - Action in the request 5726 getPmkidsCount - This parameter is only relevant if action is 5727 CSR_WIFI_SME_LIST_ACTION_GET: 5728 number of PMKIDs sent with the primitive 5729 getPmkids - Pointer to the list of PMKIDs sent with the primitive, set 5730 to NULL if none is sent. 5731 5732 *******************************************************************************/ 5733 typedef struct 5734 { 5735 CsrWifiFsmEvent common; 5736 u16 interfaceTag; 5737 CsrResult status; 5738 CsrWifiSmeListAction action; 5739 u8 getPmkidsCount; 5740 CsrWifiSmePmkid *getPmkids; 5741 } CsrWifiSmePmkidCfm; 5742 5743 /******************************************************************************* 5744 5745 NAME 5746 CsrWifiSmePowerConfigGetCfm 5747 5748 DESCRIPTION 5749 This primitive reports the result of the request. 5750 5751 MEMBERS 5752 common - Common header for use with the CsrWifiFsm Module 5753 status - Reports the result of the request 5754 powerConfig - Returns the current parameters for the power configuration of 5755 the firmware 5756 5757 *******************************************************************************/ 5758 typedef struct 5759 { 5760 CsrWifiFsmEvent common; 5761 CsrResult status; 5762 CsrWifiSmePowerConfig powerConfig; 5763 } CsrWifiSmePowerConfigGetCfm; 5764 5765 /******************************************************************************* 5766 5767 NAME 5768 CsrWifiSmePowerConfigSetCfm 5769 5770 DESCRIPTION 5771 This primitive reports the result of the request. 5772 5773 MEMBERS 5774 common - Common header for use with the CsrWifiFsm Module 5775 status - Reports the result of the request 5776 5777 *******************************************************************************/ 5778 typedef struct 5779 { 5780 CsrWifiFsmEvent common; 5781 CsrResult status; 5782 } CsrWifiSmePowerConfigSetCfm; 5783 5784 /******************************************************************************* 5785 5786 NAME 5787 CsrWifiSmeRegulatoryDomainInfoGetCfm 5788 5789 DESCRIPTION 5790 This primitive reports the result of the request. 5791 5792 MEMBERS 5793 common - Common header for use with the CsrWifiFsm Module 5794 status - Reports the result of the request 5795 regDomInfo - Reports information and state related to regulatory domain 5796 operation. 5797 5798 *******************************************************************************/ 5799 typedef struct 5800 { 5801 CsrWifiFsmEvent common; 5802 CsrResult status; 5803 CsrWifiSmeRegulatoryDomainInfo regDomInfo; 5804 } CsrWifiSmeRegulatoryDomainInfoGetCfm; 5805 5806 /******************************************************************************* 5807 5808 NAME 5809 CsrWifiSmeRoamCompleteInd 5810 5811 DESCRIPTION 5812 The SME will send this primitive to all the tasks that have registered to 5813 receive it whenever it completes an attempt to roam to an AP. If the roam 5814 attempt was successful, status will be set to CSR_WIFI_SME_SUCCESS, 5815 otherwise it shall be set to the appropriate error code. 5816 5817 MEMBERS 5818 common - Common header for use with the CsrWifiFsm Module 5819 interfaceTag - Interface Identifier; unique identifier of an interface 5820 status - Reports the result of the roaming procedure 5821 5822 *******************************************************************************/ 5823 typedef struct 5824 { 5825 CsrWifiFsmEvent common; 5826 u16 interfaceTag; 5827 CsrResult status; 5828 } CsrWifiSmeRoamCompleteInd; 5829 5830 /******************************************************************************* 5831 5832 NAME 5833 CsrWifiSmeRoamStartInd 5834 5835 DESCRIPTION 5836 The SME will send this primitive to all the tasks that have registered to 5837 receive it whenever it begins an attempt to roam to an AP. 5838 If the wireless manager application connect request specified the SSID 5839 and the BSSID was set to the broadcast address (0xFF 0xFF 0xFF 0xFF 0xFF 5840 0xFF), the SME monitors the signal quality and maintains a list of 5841 candidates to roam to. When the signal quality of the current connection 5842 falls below a threshold, and there is a candidate with better quality, 5843 the SME will attempt to the candidate AP. 5844 If the roaming procedure succeeds, the SME will also issue a Media 5845 Connect indication to inform the wireless manager application of the 5846 change. 5847 NOTE: to prevent the SME from initiating roaming the WMA must specify the 5848 BSSID in the connection request; this forces the SME to connect only to 5849 that AP. 5850 The wireless manager application can obtain statistics for roaming 5851 purposes using CSR_WIFI_SME_CONNECTION_QUALITY_IND and 5852 CSR_WIFI_SME_CONNECTION_STATS_GET_REQ. 5853 When the wireless manager application wishes to roam to another AP, it 5854 must issue a connection request specifying the BSSID of the desired AP. 5855 5856 MEMBERS 5857 common - Common header for use with the CsrWifiFsm Module 5858 interfaceTag - Interface Identifier; unique identifier of an interface 5859 roamReason - Indicates the reason for starting the roaming procedure 5860 reason80211 - Indicates the reason for deauthentication or disassociation 5861 5862 *******************************************************************************/ 5863 typedef struct 5864 { 5865 CsrWifiFsmEvent common; 5866 u16 interfaceTag; 5867 CsrWifiSmeRoamReason roamReason; 5868 CsrWifiSmeIEEE80211Reason reason80211; 5869 } CsrWifiSmeRoamStartInd; 5870 5871 /******************************************************************************* 5872 5873 NAME 5874 CsrWifiSmeRoamingConfigGetCfm 5875 5876 DESCRIPTION 5877 This primitive reports the result of the request. 5878 5879 MEMBERS 5880 common - Common header for use with the CsrWifiFsm Module 5881 interfaceTag - Interface Identifier; unique identifier of an interface 5882 status - Reports the result of the request 5883 roamingConfig - Reports the roaming behaviour of the driver and firmware 5884 5885 *******************************************************************************/ 5886 typedef struct 5887 { 5888 CsrWifiFsmEvent common; 5889 u16 interfaceTag; 5890 CsrResult status; 5891 CsrWifiSmeRoamingConfig roamingConfig; 5892 } CsrWifiSmeRoamingConfigGetCfm; 5893 5894 /******************************************************************************* 5895 5896 NAME 5897 CsrWifiSmeRoamingConfigSetCfm 5898 5899 DESCRIPTION 5900 This primitive sets the value of the RoamingConfig parameter. 5901 5902 MEMBERS 5903 common - Common header for use with the CsrWifiFsm Module 5904 interfaceTag - Interface Identifier; unique identifier of an interface 5905 status - Reports the result of the request 5906 5907 *******************************************************************************/ 5908 typedef struct 5909 { 5910 CsrWifiFsmEvent common; 5911 u16 interfaceTag; 5912 CsrResult status; 5913 } CsrWifiSmeRoamingConfigSetCfm; 5914 5915 /******************************************************************************* 5916 5917 NAME 5918 CsrWifiSmeScanConfigGetCfm 5919 5920 DESCRIPTION 5921 This primitive reports the result of the request. 5922 5923 MEMBERS 5924 common - Common header for use with the CsrWifiFsm Module 5925 status - Reports the result of the request 5926 scanConfig - Returns the current parameters for the autonomous scanning 5927 behaviour of the firmware 5928 5929 *******************************************************************************/ 5930 typedef struct 5931 { 5932 CsrWifiFsmEvent common; 5933 CsrResult status; 5934 CsrWifiSmeScanConfig scanConfig; 5935 } CsrWifiSmeScanConfigGetCfm; 5936 5937 /******************************************************************************* 5938 5939 NAME 5940 CsrWifiSmeScanConfigSetCfm 5941 5942 DESCRIPTION 5943 This primitive reports the result of the request. 5944 5945 MEMBERS 5946 common - Common header for use with the CsrWifiFsm Module 5947 status - Reports the result of the request 5948 5949 *******************************************************************************/ 5950 typedef struct 5951 { 5952 CsrWifiFsmEvent common; 5953 CsrResult status; 5954 } CsrWifiSmeScanConfigSetCfm; 5955 5956 /******************************************************************************* 5957 5958 NAME 5959 CsrWifiSmeScanFullCfm 5960 5961 DESCRIPTION 5962 The SME calls this primitive when the results from the scan are 5963 available. 5964 5965 MEMBERS 5966 common - Common header for use with the CsrWifiFsm Module 5967 status - Reports the result of the request 5968 5969 *******************************************************************************/ 5970 typedef struct 5971 { 5972 CsrWifiFsmEvent common; 5973 CsrResult status; 5974 } CsrWifiSmeScanFullCfm; 5975 5976 /******************************************************************************* 5977 5978 NAME 5979 CsrWifiSmeScanResultInd 5980 5981 DESCRIPTION 5982 The SME sends this primitive to all the tasks that have registered to 5983 receive it whenever a scan indication is received from the firmware. 5984 5985 MEMBERS 5986 common - Common header for use with the CsrWifiFsm Module 5987 result - Points to a buffer containing a scan result. 5988 5989 *******************************************************************************/ 5990 typedef struct 5991 { 5992 CsrWifiFsmEvent common; 5993 CsrWifiSmeScanResult result; 5994 } CsrWifiSmeScanResultInd; 5995 5996 /******************************************************************************* 5997 5998 NAME 5999 CsrWifiSmeScanResultsFlushCfm 6000 6001 DESCRIPTION 6002 The SME will call this primitive when the cache has been cleared. 6003 6004 MEMBERS 6005 common - Common header for use with the CsrWifiFsm Module 6006 status - Reports the result of the request 6007 6008 *******************************************************************************/ 6009 typedef struct 6010 { 6011 CsrWifiFsmEvent common; 6012 CsrResult status; 6013 } CsrWifiSmeScanResultsFlushCfm; 6014 6015 /******************************************************************************* 6016 6017 NAME 6018 CsrWifiSmeScanResultsGetCfm 6019 6020 DESCRIPTION 6021 The SME sends this primitive to provide the current set of scan results. 6022 6023 MEMBERS 6024 common - Common header for use with the CsrWifiFsm Module 6025 status - Reports the result of the request 6026 scanResultsCount - Number of scan results 6027 scanResults - Points to a buffer containing an array of 6028 CsrWifiSmeScanResult structures. 6029 6030 *******************************************************************************/ 6031 typedef struct 6032 { 6033 CsrWifiFsmEvent common; 6034 CsrResult status; 6035 u16 scanResultsCount; 6036 CsrWifiSmeScanResult *scanResults; 6037 } CsrWifiSmeScanResultsGetCfm; 6038 6039 /******************************************************************************* 6040 6041 NAME 6042 CsrWifiSmeSmeStaConfigGetCfm 6043 6044 DESCRIPTION 6045 This primitive reports the result of the request. 6046 6047 MEMBERS 6048 common - Common header for use with the CsrWifiFsm Module 6049 interfaceTag - Interface Identifier; unique identifier of an interface 6050 status - Reports the result of the request 6051 smeConfig - Current SME Station Parameters 6052 6053 *******************************************************************************/ 6054 typedef struct 6055 { 6056 CsrWifiFsmEvent common; 6057 u16 interfaceTag; 6058 CsrResult status; 6059 CsrWifiSmeStaConfig smeConfig; 6060 } CsrWifiSmeSmeStaConfigGetCfm; 6061 6062 /******************************************************************************* 6063 6064 NAME 6065 CsrWifiSmeSmeStaConfigSetCfm 6066 6067 DESCRIPTION 6068 This primitive reports the result of the request. 6069 6070 MEMBERS 6071 common - Common header for use with the CsrWifiFsm Module 6072 interfaceTag - Interface Identifier; unique identifier of an interface 6073 status - Reports the result of the request 6074 6075 *******************************************************************************/ 6076 typedef struct 6077 { 6078 CsrWifiFsmEvent common; 6079 u16 interfaceTag; 6080 CsrResult status; 6081 } CsrWifiSmeSmeStaConfigSetCfm; 6082 6083 /******************************************************************************* 6084 6085 NAME 6086 CsrWifiSmeStationMacAddressGetCfm 6087 6088 DESCRIPTION 6089 This primitive reports the result of the request. 6090 6091 MEMBERS 6092 common - Common header for use with the CsrWifiFsm Module 6093 status - Reports the result of the request 6094 stationMacAddress - Current MAC address of the station. 6095 6096 *******************************************************************************/ 6097 typedef struct 6098 { 6099 CsrWifiFsmEvent common; 6100 CsrResult status; 6101 CsrWifiMacAddress stationMacAddress[2]; 6102 } CsrWifiSmeStationMacAddressGetCfm; 6103 6104 /******************************************************************************* 6105 6106 NAME 6107 CsrWifiSmeTspecInd 6108 6109 DESCRIPTION 6110 The SME will send this primitive to all the task that have registered to 6111 receive it when a status change in the TSPEC occurs. 6112 6113 MEMBERS 6114 common - Common header for use with the CsrWifiFsm Module 6115 interfaceTag - Interface Identifier; unique identifier of an interface 6116 transactionId - Unique Transaction ID for the TSPEC, as assigned by the 6117 driver 6118 tspecResultCode - Specifies the TSPEC operation requested by the peer 6119 station 6120 tspecLength - Length of the TSPEC. 6121 tspec - Points to the first byte of the TSPEC 6122 6123 *******************************************************************************/ 6124 typedef struct 6125 { 6126 CsrWifiFsmEvent common; 6127 u16 interfaceTag; 6128 u32 transactionId; 6129 CsrWifiSmeTspecResultCode tspecResultCode; 6130 u16 tspecLength; 6131 u8 *tspec; 6132 } CsrWifiSmeTspecInd; 6133 6134 /******************************************************************************* 6135 6136 NAME 6137 CsrWifiSmeTspecCfm 6138 6139 DESCRIPTION 6140 The SME calls the primitive to report the result of the TSpec primitive 6141 request. 6142 6143 MEMBERS 6144 common - Common header for use with the CsrWifiFsm Module 6145 interfaceTag - Interface Identifier; unique identifier of an interface 6146 status - Reports the result of the request 6147 transactionId - Unique Transaction ID for the TSPEC, as assigned by the 6148 driver 6149 tspecResultCode - Specifies the result of the negotiated TSPEC operation 6150 tspecLength - Length of the TSPEC. 6151 tspec - Points to the first byte of the TSPEC 6152 6153 *******************************************************************************/ 6154 typedef struct 6155 { 6156 CsrWifiFsmEvent common; 6157 u16 interfaceTag; 6158 CsrResult status; 6159 u32 transactionId; 6160 CsrWifiSmeTspecResultCode tspecResultCode; 6161 u16 tspecLength; 6162 u8 *tspec; 6163 } CsrWifiSmeTspecCfm; 6164 6165 /******************************************************************************* 6166 6167 NAME 6168 CsrWifiSmeVersionsGetCfm 6169 6170 DESCRIPTION 6171 This primitive reports the result of the request. 6172 6173 MEMBERS 6174 common - Common header for use with the CsrWifiFsm Module 6175 status - Reports the result of the request 6176 versions - Version IDs of the product 6177 6178 *******************************************************************************/ 6179 typedef struct 6180 { 6181 CsrWifiFsmEvent common; 6182 CsrResult status; 6183 CsrWifiSmeVersions versions; 6184 } CsrWifiSmeVersionsGetCfm; 6185 6186 /******************************************************************************* 6187 6188 NAME 6189 CsrWifiSmeWifiFlightmodeCfm 6190 6191 DESCRIPTION 6192 The SME calls this primitive when the chip is initialised for low power 6193 mode and with the radio subsystem disabled. To leave flight mode, and 6194 enable Wi-Fi, the wireless manager application should call 6195 CSR_WIFI_SME_WIFI_ON_REQ. 6196 6197 MEMBERS 6198 common - Common header for use with the CsrWifiFsm Module 6199 status - Reports the result of the request 6200 6201 *******************************************************************************/ 6202 typedef struct 6203 { 6204 CsrWifiFsmEvent common; 6205 CsrResult status; 6206 } CsrWifiSmeWifiFlightmodeCfm; 6207 6208 /******************************************************************************* 6209 6210 NAME 6211 CsrWifiSmeWifiOffInd 6212 6213 DESCRIPTION 6214 The SME sends this primitive to all the tasks that have registered to 6215 receive it to report that the chip has been turned off. 6216 6217 MEMBERS 6218 common - Common header for use with the CsrWifiFsm Module 6219 reason - Indicates the reason why the Wi-Fi has been switched off. 6220 6221 *******************************************************************************/ 6222 typedef struct 6223 { 6224 CsrWifiFsmEvent common; 6225 CsrWifiSmeControlIndication reason; 6226 } CsrWifiSmeWifiOffInd; 6227 6228 /******************************************************************************* 6229 6230 NAME 6231 CsrWifiSmeWifiOffCfm 6232 6233 DESCRIPTION 6234 After receiving CSR_WIFI_SME_WIFI_OFF_REQ, if the chip is connected to a 6235 network, the SME will perform a disconnect operation, will send a 6236 CSR_WIFI_SME_MEDIA_STATUS_IND with 6237 CSR_WIFI_SME_MEDIA_STATUS_DISCONNECTED, and then will call 6238 CSR_WIFI_SME_WIFI_OFF_CFM when the chip is off. 6239 6240 MEMBERS 6241 common - Common header for use with the CsrWifiFsm Module 6242 status - Reports the result of the request 6243 6244 *******************************************************************************/ 6245 typedef struct 6246 { 6247 CsrWifiFsmEvent common; 6248 CsrResult status; 6249 } CsrWifiSmeWifiOffCfm; 6250 6251 /******************************************************************************* 6252 6253 NAME 6254 CsrWifiSmeWifiOnCfm 6255 6256 DESCRIPTION 6257 The SME sends this primitive to the task that has sent the request once 6258 the chip has been initialised and is available for use. 6259 6260 MEMBERS 6261 common - Common header for use with the CsrWifiFsm Module 6262 status - Reports the result of the request 6263 6264 *******************************************************************************/ 6265 typedef struct 6266 { 6267 CsrWifiFsmEvent common; 6268 CsrResult status; 6269 } CsrWifiSmeWifiOnCfm; 6270 6271 /******************************************************************************* 6272 6273 NAME 6274 CsrWifiSmeCloakedSsidsSetCfm 6275 6276 DESCRIPTION 6277 This primitive reports the result of the request. 6278 6279 MEMBERS 6280 common - Common header for use with the CsrWifiFsm Module 6281 status - Reports the result of the request 6282 6283 *******************************************************************************/ 6284 typedef struct 6285 { 6286 CsrWifiFsmEvent common; 6287 CsrResult status; 6288 } CsrWifiSmeCloakedSsidsSetCfm; 6289 6290 /******************************************************************************* 6291 6292 NAME 6293 CsrWifiSmeCloakedSsidsGetCfm 6294 6295 DESCRIPTION 6296 This primitive reports the result of the request. 6297 6298 MEMBERS 6299 common - Common header for use with the CsrWifiFsm Module 6300 status - Reports the result of the request 6301 cloakedSsids - Reports list of cloaked SSIDs that are explicitly scanned for 6302 by the driver 6303 6304 *******************************************************************************/ 6305 typedef struct 6306 { 6307 CsrWifiFsmEvent common; 6308 CsrResult status; 6309 CsrWifiSmeCloakedSsidConfig cloakedSsids; 6310 } CsrWifiSmeCloakedSsidsGetCfm; 6311 6312 /******************************************************************************* 6313 6314 NAME 6315 CsrWifiSmeWifiOnInd 6316 6317 DESCRIPTION 6318 The SME sends this primitive to all tasks that have registered to receive 6319 it once the chip becomes available and ready to use. 6320 6321 MEMBERS 6322 common - Common header for use with the CsrWifiFsm Module 6323 address - Current MAC address 6324 6325 *******************************************************************************/ 6326 typedef struct 6327 { 6328 CsrWifiFsmEvent common; 6329 CsrWifiMacAddress address; 6330 } CsrWifiSmeWifiOnInd; 6331 6332 /******************************************************************************* 6333 6334 NAME 6335 CsrWifiSmeSmeCommonConfigGetCfm 6336 6337 DESCRIPTION 6338 This primitive reports the result of the request. 6339 6340 MEMBERS 6341 common - Common header for use with the CsrWifiFsm Module 6342 status - Reports the result of the request 6343 deviceConfig - Configuration options in the SME 6344 6345 *******************************************************************************/ 6346 typedef struct 6347 { 6348 CsrWifiFsmEvent common; 6349 CsrResult status; 6350 CsrWifiSmeDeviceConfig deviceConfig; 6351 } CsrWifiSmeSmeCommonConfigGetCfm; 6352 6353 /******************************************************************************* 6354 6355 NAME 6356 CsrWifiSmeSmeCommonConfigSetCfm 6357 6358 DESCRIPTION 6359 Reports the result of the request 6360 6361 MEMBERS 6362 common - Common header for use with the CsrWifiFsm Module 6363 status - Reports the result of the request 6364 6365 *******************************************************************************/ 6366 typedef struct 6367 { 6368 CsrWifiFsmEvent common; 6369 CsrResult status; 6370 } CsrWifiSmeSmeCommonConfigSetCfm; 6371 6372 /******************************************************************************* 6373 6374 NAME 6375 CsrWifiSmeInterfaceCapabilityGetCfm 6376 6377 DESCRIPTION 6378 This primitive reports the result of the request. 6379 6380 MEMBERS 6381 common - Common header for use with the CsrWifiFsm Module 6382 status - Result of the request 6383 numInterfaces - Number of the interfaces supported 6384 capBitmap - Points to the list of capabilities bitmaps provided for each 6385 interface. 6386 The bits represent the following capabilities: 6387 -bits 7 to 4-Reserved 6388 -bit 3-AMP 6389 -bit 2-P2P 6390 -bit 1-AP 6391 -bit 0-STA 6392 6393 *******************************************************************************/ 6394 typedef struct 6395 { 6396 CsrWifiFsmEvent common; 6397 CsrResult status; 6398 u16 numInterfaces; 6399 u8 capBitmap[2]; 6400 } CsrWifiSmeInterfaceCapabilityGetCfm; 6401 6402 /******************************************************************************* 6403 6404 NAME 6405 CsrWifiSmeErrorInd 6406 6407 DESCRIPTION 6408 Important error message indicating a error of some importance 6409 6410 MEMBERS 6411 common - Common header for use with the CsrWifiFsm Module 6412 errorMessage - Contains the error message. 6413 6414 *******************************************************************************/ 6415 typedef struct 6416 { 6417 CsrWifiFsmEvent common; 6418 char *errorMessage; 6419 } CsrWifiSmeErrorInd; 6420 6421 /******************************************************************************* 6422 6423 NAME 6424 CsrWifiSmeInfoInd 6425 6426 DESCRIPTION 6427 Message indicating a some info about current activity. Mostly of interest 6428 in testing but may be useful in the field. 6429 6430 MEMBERS 6431 common - Common header for use with the CsrWifiFsm Module 6432 infoMessage - Contains the message. 6433 6434 *******************************************************************************/ 6435 typedef struct 6436 { 6437 CsrWifiFsmEvent common; 6438 char *infoMessage; 6439 } CsrWifiSmeInfoInd; 6440 6441 /******************************************************************************* 6442 6443 NAME 6444 CsrWifiSmeCoreDumpInd 6445 6446 DESCRIPTION 6447 The SME will send this primitive to all the tasks that have registered to 6448 receive Wi-Fi Chip core dump data. 6449 The core dump data may be fragmented and sent using more than one 6450 indication. 6451 To indicate that all the data has been sent, the last indication contains 6452 a 'length' of 0 and 'data' of NULL. 6453 6454 MEMBERS 6455 common - Common header for use with the CsrWifiFsm Module 6456 dataLength - Number of bytes in the buffer pointed to by 'data' 6457 data - Pointer to the buffer containing 'dataLength' bytes of core 6458 dump data 6459 6460 *******************************************************************************/ 6461 typedef struct 6462 { 6463 CsrWifiFsmEvent common; 6464 u32 dataLength; 6465 u8 *data; 6466 } CsrWifiSmeCoreDumpInd; 6467 6468 /******************************************************************************* 6469 6470 NAME 6471 CsrWifiSmeAmpStatusChangeInd 6472 6473 DESCRIPTION 6474 Indication of change to AMP activity. 6475 6476 MEMBERS 6477 common - Common header for use with the CsrWifiFsm Module 6478 interfaceTag - Interface on which the AMP activity changed. 6479 ampStatus - The new status of AMP activity.Range: {AMP_ACTIVE, 6480 AMP_INACTIVE}. 6481 6482 *******************************************************************************/ 6483 typedef struct 6484 { 6485 CsrWifiFsmEvent common; 6486 u16 interfaceTag; 6487 CsrWifiSmeAmpStatus ampStatus; 6488 } CsrWifiSmeAmpStatusChangeInd; 6489 6490 /******************************************************************************* 6491 6492 NAME 6493 CsrWifiSmeWpsConfigurationCfm 6494 6495 DESCRIPTION 6496 Confirm. 6497 6498 MEMBERS 6499 common - Common header for use with the CsrWifiFsm Module 6500 status - Status of the request. 6501 6502 *******************************************************************************/ 6503 typedef struct 6504 { 6505 CsrWifiFsmEvent common; 6506 CsrResult status; 6507 } CsrWifiSmeWpsConfigurationCfm; 6508 6509 #endif /* CSR_WIFI_SME_PRIM_H__ */ 6510 6511