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_AP_PRIM_H__ 14 #define CSR_WIFI_SME_AP_PRIM_H__ 15 16 #include "csr_prim_defs.h" 17 #include "csr_sched.h" 18 #include "csr_wifi_common.h" 19 #include "csr_result.h" 20 #include "csr_wifi_fsm_event.h" 21 #include "csr_wifi_sme_prim.h" 22 23 #ifndef CSR_WIFI_AP_ENABLE 24 #error CSR_WIFI_AP_ENABLE MUST be defined inorder to use csr_wifi_sme_ap_prim.h 25 #endif 26 27 #define CSR_WIFI_SME_AP_PRIM (0x0407) 28 29 typedef CsrPrim CsrWifiSmeApPrim; 30 31 32 /******************************************************************************* 33 34 NAME 35 CsrWifiSmeApAccessType 36 37 DESCRIPTION 38 Allow or deny STAs based on MAC address 39 40 VALUES 41 CSR_WIFI_AP_ACCESS_TYPE_NONE - None 42 CSR_WIFI_AP_ACCESS_TYPE_ALLOW - Allow only if MAC address is from the list 43 CSR_WIFI_AP_ACCESS_TYPE_DENY - Disallow if MAC address is from the list 44 45 *******************************************************************************/ 46 typedef u8 CsrWifiSmeApAccessType; 47 #define CSR_WIFI_AP_ACCESS_TYPE_NONE ((CsrWifiSmeApAccessType) 0x00) 48 #define CSR_WIFI_AP_ACCESS_TYPE_ALLOW ((CsrWifiSmeApAccessType) 0x01) 49 #define CSR_WIFI_AP_ACCESS_TYPE_DENY ((CsrWifiSmeApAccessType) 0x02) 50 51 /******************************************************************************* 52 53 NAME 54 CsrWifiSmeApAuthSupport 55 56 DESCRIPTION 57 Define bits for AP authentication support 58 59 VALUES 60 CSR_WIFI_SME_RSN_AUTH_WPAPSK - RSN WPA-PSK Support 61 CSR_WIFI_SME_RSN_AUTH_WPA2PSK - RSN WPA2-PSK Support 62 CSR_WIFI_SME_AUTH_WAPIPSK - WAPI-PSK Support 63 64 *******************************************************************************/ 65 typedef u8 CsrWifiSmeApAuthSupport; 66 #define CSR_WIFI_SME_RSN_AUTH_WPAPSK ((CsrWifiSmeApAuthSupport) 0x01) 67 #define CSR_WIFI_SME_RSN_AUTH_WPA2PSK ((CsrWifiSmeApAuthSupport) 0x02) 68 #define CSR_WIFI_SME_AUTH_WAPIPSK ((CsrWifiSmeApAuthSupport) 0x04) 69 70 /******************************************************************************* 71 72 NAME 73 CsrWifiSmeApAuthType 74 75 DESCRIPTION 76 Definition of the SME AP Authentication Options 77 78 VALUES 79 CSR_WIFI_SME_AP_AUTH_TYPE_OPEN_SYSTEM 80 - Open authentication 81 CSR_WIFI_SME_AP_AUTH_TYPE_PERSONAL 82 - Personal authentication using a passphrase or a pre-shared 83 key. 84 CSR_WIFI_SME_AP_AUTH_TYPE_WEP 85 - WEP authentication. This can be either open or shared key 86 87 *******************************************************************************/ 88 typedef u8 CsrWifiSmeApAuthType; 89 #define CSR_WIFI_SME_AP_AUTH_TYPE_OPEN_SYSTEM ((CsrWifiSmeApAuthType) 0x00) 90 #define CSR_WIFI_SME_AP_AUTH_TYPE_PERSONAL ((CsrWifiSmeApAuthType) 0x01) 91 #define CSR_WIFI_SME_AP_AUTH_TYPE_WEP ((CsrWifiSmeApAuthType) 0x02) 92 93 /******************************************************************************* 94 95 NAME 96 CsrWifiSmeApDirection 97 98 DESCRIPTION 99 Definition of Direction 100 101 VALUES 102 CSR_WIFI_AP_DIRECTION_RECEIPIENT - Receipient 103 CSR_WIFI_AP_DIRECTION_ORIGINATOR - Originator 104 105 *******************************************************************************/ 106 typedef u8 CsrWifiSmeApDirection; 107 #define CSR_WIFI_AP_DIRECTION_RECEIPIENT ((CsrWifiSmeApDirection) 0x00) 108 #define CSR_WIFI_AP_DIRECTION_ORIGINATOR ((CsrWifiSmeApDirection) 0x01) 109 110 /******************************************************************************* 111 112 NAME 113 CsrWifiSmeApPhySupport 114 115 DESCRIPTION 116 Define bits for CsrWifiSmeApPhySupportMask 117 118 VALUES 119 CSR_WIFI_SME_AP_PHY_SUPPORT_A - 802.11a. It is not supported in the current 120 release. 121 CSR_WIFI_SME_AP_PHY_SUPPORT_B - 802.11b 122 CSR_WIFI_SME_AP_PHY_SUPPORT_G - 802.11g 123 CSR_WIFI_SME_AP_PHY_SUPPORT_N - 802.11n 124 125 *******************************************************************************/ 126 typedef u8 CsrWifiSmeApPhySupport; 127 #define CSR_WIFI_SME_AP_PHY_SUPPORT_A ((CsrWifiSmeApPhySupport) 0x01) 128 #define CSR_WIFI_SME_AP_PHY_SUPPORT_B ((CsrWifiSmeApPhySupport) 0x02) 129 #define CSR_WIFI_SME_AP_PHY_SUPPORT_G ((CsrWifiSmeApPhySupport) 0x04) 130 #define CSR_WIFI_SME_AP_PHY_SUPPORT_N ((CsrWifiSmeApPhySupport) 0x08) 131 132 /******************************************************************************* 133 134 NAME 135 CsrWifiSmeApType 136 137 DESCRIPTION 138 Definition of AP types 139 140 VALUES 141 CSR_WIFI_AP_TYPE_LEGACY - Legacy AP 142 CSR_WIFI_AP_TYPE_P2P - P2P Group Owner(GO) 143 144 *******************************************************************************/ 145 typedef u8 CsrWifiSmeApType; 146 #define CSR_WIFI_AP_TYPE_LEGACY ((CsrWifiSmeApType) 0x00) 147 #define CSR_WIFI_AP_TYPE_P2P ((CsrWifiSmeApType) 0x01) 148 149 150 /******************************************************************************* 151 152 NAME 153 CsrWifiSmeApAuthSupportMask 154 155 DESCRIPTION 156 See CsrWifiSmeApAuthSupport for bit definitions 157 158 *******************************************************************************/ 159 typedef u8 CsrWifiSmeApAuthSupportMask; 160 /******************************************************************************* 161 162 NAME 163 CsrWifiSmeApPhySupportMask 164 165 DESCRIPTION 166 Mask type for use with the values defined by CsrWifiSmeApPhySupport 167 168 *******************************************************************************/ 169 typedef u8 CsrWifiSmeApPhySupportMask; 170 /******************************************************************************* 171 172 NAME 173 CsrWifiSmeApRsnCapabilities 174 175 DESCRIPTION 176 Set to 0 for the current release 177 178 *******************************************************************************/ 179 typedef u16 CsrWifiSmeApRsnCapabilities; 180 /******************************************************************************* 181 182 NAME 183 CsrWifiSmeApRsnCapabilitiesMask 184 185 DESCRIPTION 186 Mask type for use with the values defined by CsrWifiSmeApRsnCapabilities 187 188 *******************************************************************************/ 189 typedef u16 CsrWifiSmeApRsnCapabilitiesMask; 190 /******************************************************************************* 191 192 NAME 193 CsrWifiSmeApWapiCapabilities 194 195 DESCRIPTION 196 Ignored by the stack as WAPI is not supported for AP operations in the 197 current release 198 199 *******************************************************************************/ 200 typedef u16 CsrWifiSmeApWapiCapabilities; 201 /******************************************************************************* 202 203 NAME 204 CsrWifiSmeApWapiCapabilitiesMask 205 206 DESCRIPTION 207 Mask type for use with the values defined by CsrWifiSmeApWapiCapabilities 208 209 *******************************************************************************/ 210 typedef u16 CsrWifiSmeApWapiCapabilitiesMask; 211 212 213 /******************************************************************************* 214 215 NAME 216 CsrWifiSmeApHtParams 217 218 DESCRIPTION 219 Structure holding HT parameters 220 221 MEMBERS 222 greenfieldSupported - Indicates if the AP supports Htgreenfield operation 223 subject to the chip capability. If the chip does not 224 support Htgreenfield operation, this parameter will be 225 ignored. 226 NOTE: if shortGi20MHz is set to TRUE and the chip 227 supports short GI operation for 20MHz this field will 228 be be ignored and the AP will not support Htgreenfield 229 operation. 230 NOTE: This field is ignored by the Wi-Fi stack for the 231 current release. It implies that AP does not support 232 greenfield operation. 233 shortGi20MHz - Indicates if the AP support short GI operation for 234 20MHz subject to the chip capability.If the chip does 235 not support short GI for 20MHz, this parameter is 236 ignored 237 rxStbc - Support for STBC for receive. 0 => No support for STBC 238 , 1=> Use STBC for Rx 239 rifsModeAllowed - RIFS Mode is allowed to protect overlapping non-HT BSS 240 htProtection - Deprecated 241 dualCtsProtection - Dual CTS Protection enabled 242 243 *******************************************************************************/ 244 typedef struct 245 { 246 u8 greenfieldSupported; 247 u8 shortGi20MHz; 248 u8 rxStbc; 249 u8 rifsModeAllowed; 250 u8 htProtection; 251 u8 dualCtsProtection; 252 } CsrWifiSmeApHtParams; 253 254 /******************************************************************************* 255 256 NAME 257 CsrWifiSmeApP2pOperatingChanEntry 258 259 DESCRIPTION 260 261 MEMBERS 262 operatingClass - Channel operating class 263 operatingChannelCount - Number of channels in this entry 264 operatingChannel - List of channels 265 266 *******************************************************************************/ 267 typedef struct 268 { 269 u8 operatingClass; 270 u8 operatingChannelCount; 271 u8 *operatingChannel; 272 } CsrWifiSmeApP2pOperatingChanEntry; 273 274 /******************************************************************************* 275 276 NAME 277 CsrWifiSmeApP2pOperatingChanList 278 279 DESCRIPTION 280 This structure contains the lists of P2P operating channels 281 282 MEMBERS 283 country - Country 284 channelEntryListCount - Number of entries 285 channelEntryList - List of entries 286 287 *******************************************************************************/ 288 typedef struct 289 { 290 u8 country[3]; 291 u8 channelEntryListCount; 292 CsrWifiSmeApP2pOperatingChanEntry *channelEntryList; 293 } CsrWifiSmeApP2pOperatingChanList; 294 295 /******************************************************************************* 296 297 NAME 298 CsrWifiSmeApAuthPers 299 300 DESCRIPTION 301 302 MEMBERS 303 authSupport - 304 encryptionModeMask - 305 rsnCapabilities - 306 wapiCapabilities - 307 308 *******************************************************************************/ 309 typedef struct 310 { 311 CsrWifiSmeApAuthSupportMask authSupport; 312 CsrWifiSmeEncryptionMask encryptionModeMask; 313 CsrWifiSmeApRsnCapabilitiesMask rsnCapabilities; 314 CsrWifiSmeApWapiCapabilitiesMask wapiCapabilities; 315 } CsrWifiSmeApAuthPers; 316 317 /******************************************************************************* 318 319 NAME 320 CsrWifiSmeApBaSession 321 322 DESCRIPTION 323 324 MEMBERS 325 peerMacAddress - Indicates MAC address of the peer station 326 tid - Specifies the TID of the MSDUs for which this Block Ack has 327 been set up. Range: 0-15 328 direction - Specifies if the AP is the originator or the recipient of 329 the data stream that uses the Block Ack. 330 331 *******************************************************************************/ 332 typedef struct 333 { 334 CsrWifiMacAddress peerMacAddress; 335 u8 tid; 336 CsrWifiSmeApDirection direction; 337 } CsrWifiSmeApBaSession; 338 339 /******************************************************************************* 340 341 NAME 342 CsrWifiSmeApMacConfig 343 344 DESCRIPTION 345 Structure holding AP MAC configuration. 346 347 MEMBERS 348 phySupportedBitmap - Indicates supported physical layers 349 beaconInterval - Beacon interval in terms of TUs 350 dtimPeriod - DTIM period in terms of number of beacon intervals 351 maxListenInterval - Maximum allowed listen interval as number of beacon 352 intervals 353 supportedRatesCount - Number of supported rates. Range : 0 to 20 354 supportedRates - List of supportedRates. A rate is specied in the 355 units of 500kbps. An entry for a basic rate shall 356 have the MSB set to 1. 357 preamble - Preamble to be advertised in beacons and probe 358 responses 359 shortSlotTimeEnabled - TRUE indicates the AP shall use short slot time if 360 all the stations use short slot operation. 361 ctsProtectionType - CTS protection to be used 362 wmmEnabled - Indicate whether WMM is enabled or not. If set to 363 FALSE,the WMM parameters shall be ignored by the 364 receiver. 365 wmmApParams - WMM parameters to be used for local firmware queue 366 configuration. Array index corresponds to the ACI. 367 wmmApBcParams - WMM parameters to be advertised in beacon/probe 368 response. Array index corresponds to the ACI 369 accessType - Specifies whether the MAC addresses from the list 370 should be allowed or denied 371 macAddressListCount - Number of MAC addresses 372 macAddressList - List of MAC addresses 373 apHtParams - AP HT parameters. The stack shall use these 374 parameters only if phySupportedBitmap indicates 375 support for IEEE 802.11n 376 377 *******************************************************************************/ 378 typedef struct 379 { 380 CsrWifiSmeApPhySupportMask phySupportedBitmap; 381 u16 beaconInterval; 382 u8 dtimPeriod; 383 u16 maxListenInterval; 384 u8 supportedRatesCount; 385 u8 supportedRates[20]; 386 CsrWifiSmePreambleType preamble; 387 u8 shortSlotTimeEnabled; 388 CsrWifiSmeCtsProtectionType ctsProtectionType; 389 u8 wmmEnabled; 390 CsrWifiSmeWmmAcParams wmmApParams[4]; 391 CsrWifiSmeWmmAcParams wmmApBcParams[4]; 392 CsrWifiSmeApAccessType accessType; 393 u8 macAddressListCount; 394 CsrWifiMacAddress *macAddressList; 395 CsrWifiSmeApHtParams apHtParams; 396 } CsrWifiSmeApMacConfig; 397 398 /******************************************************************************* 399 400 NAME 401 CsrWifiSmeApP2pGoConfig 402 403 DESCRIPTION 404 405 MEMBERS 406 groupCapability - Indicates the P2P group capabilities 407 operatingChanList - List of operating channels in the order of 408 decreasing priority. It may contain channel 409 entry/entries not supported by the wifi stack. 410 These shall be filtered out by the wifi stack 411 opPsEnabled - Indicates whether opportunistic power save can 412 be used. 413 Note: This parameter is ignored by the WiFi 414 stack for the current release 415 ctWindow - Define Client Traffic window to be used in terms 416 of number of TUs. Range: 0 to 127. 417 Note: This parameter is ignored by the WiFi 418 stack for the current release. 419 noaConfigMethod - Notice of Absence configuration method. 420 Note: This parameter is ignored by the WiFi 421 stack for the current release. 422 allowNoaWithNonP2pDevices - Indicates if NOA should be allowed if non P2P 423 devices are connected. If allowed the non P2P 424 devices may suffer in throughput. 425 Note: This parameter is ignored by the WiFi 426 stack for the current release. 427 428 *******************************************************************************/ 429 typedef struct 430 { 431 CsrWifiSmeP2pGroupCapabilityMask groupCapability; 432 CsrWifiSmeApP2pOperatingChanList operatingChanList; 433 u8 opPsEnabled; 434 u8 ctWindow; 435 CsrWifiSmeP2pNoaConfigMethod noaConfigMethod; 436 u8 allowNoaWithNonP2pDevices; 437 } CsrWifiSmeApP2pGoConfig; 438 439 /******************************************************************************* 440 441 NAME 442 CsrWifiSmeApCredentials 443 444 DESCRIPTION 445 446 MEMBERS 447 authType - 448 smeAuthType - 449 smeAuthTypeopenSystemEmpty - 450 smeAuthTypeauthwep - 451 smeAuthTypeauthPers - 452 453 *******************************************************************************/ 454 typedef struct 455 { 456 CsrWifiSmeApAuthType authType; 457 union { 458 CsrWifiSmeEmpty openSystemEmpty; 459 CsrWifiSmeWepAuth authwep; 460 CsrWifiSmeApAuthPers authPers; 461 } smeAuthType; 462 } CsrWifiSmeApCredentials; 463 464 /******************************************************************************* 465 466 NAME 467 CsrWifiSmeApSecConfig 468 469 DESCRIPTION 470 471 MEMBERS 472 apCredentials - 473 wpsEnabled - 474 475 *******************************************************************************/ 476 typedef struct 477 { 478 CsrWifiSmeApCredentials apCredentials; 479 u8 wpsEnabled; 480 } CsrWifiSmeApSecConfig; 481 482 483 /* Downstream */ 484 #define CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_LOWEST (0x0000) 485 486 #define CSR_WIFI_SME_AP_BEACONING_START_REQ ((CsrWifiSmeApPrim) (0x0000 + CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_LOWEST)) 487 #define CSR_WIFI_SME_AP_BEACONING_STOP_REQ ((CsrWifiSmeApPrim) (0x0001 + CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_LOWEST)) 488 #define CSR_WIFI_SME_AP_WPS_REGISTRATION_STARTED_REQ ((CsrWifiSmeApPrim) (0x0002 + CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_LOWEST)) 489 #define CSR_WIFI_SME_AP_WPS_REGISTRATION_FINISHED_REQ ((CsrWifiSmeApPrim) (0x0003 + CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_LOWEST)) 490 #define CSR_WIFI_SME_AP_WMM_PARAM_UPDATE_REQ ((CsrWifiSmeApPrim) (0x0004 + CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_LOWEST)) 491 #define CSR_WIFI_SME_AP_STA_DISCONNECT_REQ ((CsrWifiSmeApPrim) (0x0005 + CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_LOWEST)) 492 #define CSR_WIFI_SME_AP_WPS_CONFIGURATION_REQ ((CsrWifiSmeApPrim) (0x0006 + CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_LOWEST)) 493 #define CSR_WIFI_SME_AP_ACTIVE_BA_GET_REQ ((CsrWifiSmeApPrim) (0x0007 + CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_LOWEST)) 494 #define CSR_WIFI_SME_AP_BA_DELETE_REQ ((CsrWifiSmeApPrim) (0x0008 + CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_LOWEST)) 495 496 497 #define CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_HIGHEST (0x0008 + CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_LOWEST) 498 499 /* Upstream */ 500 #define CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST (0x0000 + CSR_PRIM_UPSTREAM) 501 502 #define CSR_WIFI_SME_AP_BEACONING_START_CFM ((CsrWifiSmeApPrim)(0x0000 + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST)) 503 #define CSR_WIFI_SME_AP_BEACONING_STOP_CFM ((CsrWifiSmeApPrim)(0x0001 + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST)) 504 #define CSR_WIFI_SME_AP_STA_NOTIFY_IND ((CsrWifiSmeApPrim)(0x0002 + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST)) 505 #define CSR_WIFI_SME_AP_STA_CONNECT_START_IND ((CsrWifiSmeApPrim)(0x0003 + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST)) 506 #define CSR_WIFI_SME_AP_WPS_REGISTRATION_STARTED_CFM ((CsrWifiSmeApPrim)(0x0004 + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST)) 507 #define CSR_WIFI_SME_AP_WPS_REGISTRATION_FINISHED_CFM ((CsrWifiSmeApPrim)(0x0005 + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST)) 508 #define CSR_WIFI_SME_AP_WMM_PARAM_UPDATE_CFM ((CsrWifiSmeApPrim)(0x0006 + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST)) 509 #define CSR_WIFI_SME_AP_STA_DISCONNECT_CFM ((CsrWifiSmeApPrim)(0x0007 + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST)) 510 #define CSR_WIFI_SME_AP_WPS_CONFIGURATION_CFM ((CsrWifiSmeApPrim)(0x0008 + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST)) 511 #define CSR_WIFI_SME_AP_ERROR_IND ((CsrWifiSmeApPrim)(0x0009 + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST)) 512 #define CSR_WIFI_SME_AP_ACTIVE_BA_GET_CFM ((CsrWifiSmeApPrim)(0x000A + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST)) 513 #define CSR_WIFI_SME_AP_BA_DELETE_CFM ((CsrWifiSmeApPrim)(0x000B + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST)) 514 515 #define CSR_WIFI_SME_AP_PRIM_UPSTREAM_HIGHEST (0x000B + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST) 516 517 #define CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_COUNT (CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_HIGHEST + 1 - CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_LOWEST) 518 #define CSR_WIFI_SME_AP_PRIM_UPSTREAM_COUNT (CSR_WIFI_SME_AP_PRIM_UPSTREAM_HIGHEST + 1 - CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST) 519 520 /******************************************************************************* 521 522 NAME 523 CsrWifiSmeApBeaconingStartReq 524 525 DESCRIPTION 526 This primitive requests the SME to start AP or GO functionality 527 528 MEMBERS 529 common - Common header for use with the CsrWifiFsm Module 530 interfaceTag - 531 initialPresence - Set to 0, if Not in a group fomration phase, set to 1 , 532 during group formation phase 533 apType - apType : Legacy AP or P2PGO 534 cloakSsid - cloakSsid flag. 535 ssid - ssid. 536 ifIndex - Radio Interface 537 channel - channel. 538 maxConnections - Maximum Stations + P2PClients allowed 539 apCredentials - AP security credeitals used to advertise in beacon /probe 540 response 541 smeApConfig - AP configuration 542 p2pGoParam - P2P specific GO parameters. Ignored if it is a leagacy AP 543 544 *******************************************************************************/ 545 typedef struct 546 { 547 CsrWifiFsmEvent common; 548 u16 interfaceTag; 549 u8 initialPresence; 550 CsrWifiSmeApType apType; 551 u8 cloakSsid; 552 CsrWifiSsid ssid; 553 CsrWifiSmeRadioIF ifIndex; 554 u8 channel; 555 u8 maxConnections; 556 CsrWifiSmeApSecConfig apCredentials; 557 CsrWifiSmeApMacConfig smeApConfig; 558 CsrWifiSmeApP2pGoConfig p2pGoParam; 559 } CsrWifiSmeApBeaconingStartReq; 560 561 /******************************************************************************* 562 563 NAME 564 CsrWifiSmeApBeaconingStopReq 565 566 DESCRIPTION 567 This primitive requests the SME to STOP AP or P2PGO operation 568 569 MEMBERS 570 common - Common header for use with the CsrWifiFsm Module 571 interfaceTag - 572 573 *******************************************************************************/ 574 typedef struct 575 { 576 CsrWifiFsmEvent common; 577 u16 interfaceTag; 578 } CsrWifiSmeApBeaconingStopReq; 579 580 /******************************************************************************* 581 582 NAME 583 CsrWifiSmeApWpsRegistrationStartedReq 584 585 DESCRIPTION 586 This primitive tells SME that WPS registration procedure has started 587 588 MEMBERS 589 common - Common header for use with the CsrWifiFsm Module 590 interfaceTag - 591 SelectedDevicePasswordId - 592 SelectedconfigMethod - 593 594 *******************************************************************************/ 595 typedef struct 596 { 597 CsrWifiFsmEvent common; 598 u16 interfaceTag; 599 CsrWifiSmeWpsDpid SelectedDevicePasswordId; 600 CsrWifiSmeWpsConfigType SelectedconfigMethod; 601 } CsrWifiSmeApWpsRegistrationStartedReq; 602 603 /******************************************************************************* 604 605 NAME 606 CsrWifiSmeApWpsRegistrationFinishedReq 607 608 DESCRIPTION 609 This primitive tells SME that WPS registration procedure has finished 610 611 MEMBERS 612 common - Common header for use with the CsrWifiFsm Module 613 interfaceTag - 614 615 *******************************************************************************/ 616 typedef struct 617 { 618 CsrWifiFsmEvent common; 619 u16 interfaceTag; 620 } CsrWifiSmeApWpsRegistrationFinishedReq; 621 622 /******************************************************************************* 623 624 NAME 625 CsrWifiSmeApWmmParamUpdateReq 626 627 DESCRIPTION 628 Application uses this primitive to update the WMM parameters on the fly 629 630 MEMBERS 631 common - Common header for use with the CsrWifiFsm Module 632 interfaceTag - 633 wmmApParams - WMM parameters to be used for local firmware queue 634 configuration 635 wmmApBcParams - WMM parameters to be advertised in beacon/probe response 636 637 *******************************************************************************/ 638 typedef struct 639 { 640 CsrWifiFsmEvent common; 641 u16 interfaceTag; 642 CsrWifiSmeWmmAcParams wmmApParams[4]; 643 CsrWifiSmeWmmAcParams wmmApBcParams[4]; 644 } CsrWifiSmeApWmmParamUpdateReq; 645 646 /******************************************************************************* 647 648 NAME 649 CsrWifiSmeApStaDisconnectReq 650 651 DESCRIPTION 652 This primitive tells SME to deauth ot disassociate a particular station 653 within BSS 654 655 MEMBERS 656 common - Common header for use with the CsrWifiFsm Module 657 interfaceTag - 658 deauthReason - 659 disassocReason - 660 peerMacaddress - 661 keepBlocking - If TRUE, the station is blocked. If FALSE and the station 662 is connected, disconnect the station. If FALSE and the 663 station is not connected, no action is taken. 664 665 *******************************************************************************/ 666 typedef struct 667 { 668 CsrWifiFsmEvent common; 669 u16 interfaceTag; 670 CsrWifiSmeIEEE80211Reason deauthReason; 671 CsrWifiSmeIEEE80211Reason disassocReason; 672 CsrWifiMacAddress peerMacaddress; 673 u8 keepBlocking; 674 } CsrWifiSmeApStaDisconnectReq; 675 676 /******************************************************************************* 677 678 NAME 679 CsrWifiSmeApWpsConfigurationReq 680 681 DESCRIPTION 682 This primitive passes the WPS information for the device to SME. This may 683 be accepted only if no interface is active. 684 685 MEMBERS 686 common - Common header for use with the CsrWifiFsm Module 687 wpsConfig - WPS config. 688 689 *******************************************************************************/ 690 typedef struct 691 { 692 CsrWifiFsmEvent common; 693 CsrWifiSmeWpsConfig wpsConfig; 694 } CsrWifiSmeApWpsConfigurationReq; 695 696 /******************************************************************************* 697 698 NAME 699 CsrWifiSmeApActiveBaGetReq 700 701 DESCRIPTION 702 This primitive used to retrieve information related to the active block 703 ack sessions 704 705 MEMBERS 706 common - Common header for use with the CsrWifiFsm Module 707 interfaceTag - 708 709 *******************************************************************************/ 710 typedef struct 711 { 712 CsrWifiFsmEvent common; 713 u16 interfaceTag; 714 } CsrWifiSmeApActiveBaGetReq; 715 716 /******************************************************************************* 717 718 NAME 719 CsrWifiSmeApBaDeleteReq 720 721 DESCRIPTION 722 This primitive is used to delete an active block ack session 723 724 MEMBERS 725 common - Common header for use with the CsrWifiFsm Module 726 interfaceTag - 727 reason - 728 baSession - BA session to be deleted 729 730 *******************************************************************************/ 731 typedef struct 732 { 733 CsrWifiFsmEvent common; 734 u16 interfaceTag; 735 CsrWifiSmeIEEE80211Reason reason; 736 CsrWifiSmeApBaSession baSession; 737 } CsrWifiSmeApBaDeleteReq; 738 739 /******************************************************************************* 740 741 NAME 742 CsrWifiSmeApBeaconingStartCfm 743 744 DESCRIPTION 745 This primitive confirms the completion of the request along with the 746 status 747 748 MEMBERS 749 common - Common header for use with the CsrWifiFsm Module 750 interfaceTag - 751 status - 752 secIeLength - 753 secIe - 754 755 *******************************************************************************/ 756 typedef struct 757 { 758 CsrWifiFsmEvent common; 759 u16 interfaceTag; 760 CsrResult status; 761 u16 secIeLength; 762 u8 *secIe; 763 } CsrWifiSmeApBeaconingStartCfm; 764 765 /******************************************************************************* 766 767 NAME 768 CsrWifiSmeApBeaconingStopCfm 769 770 DESCRIPTION 771 This primitive confirms AP or P2PGO operation is terminated 772 773 MEMBERS 774 common - Common header for use with the CsrWifiFsm Module 775 interfaceTag - 776 status - 777 778 *******************************************************************************/ 779 typedef struct 780 { 781 CsrWifiFsmEvent common; 782 u16 interfaceTag; 783 CsrResult status; 784 } CsrWifiSmeApBeaconingStopCfm; 785 786 /******************************************************************************* 787 788 NAME 789 CsrWifiSmeApStaNotifyInd 790 791 DESCRIPTION 792 This primitive indicates that a station has joined or a previously joined 793 station has left the BSS/group 794 795 MEMBERS 796 common - Common header for use with the CsrWifiFsm Module 797 interfaceTag - 798 mediaStatus - 799 peerMacAddress - 800 peerDeviceAddress - 801 disassocReason - 802 deauthReason - 803 WpsRegistration - 804 secIeLength - 805 secIe - 806 groupKeyId - 807 seqNumber - 808 809 *******************************************************************************/ 810 typedef struct 811 { 812 CsrWifiFsmEvent common; 813 u16 interfaceTag; 814 CsrWifiSmeMediaStatus mediaStatus; 815 CsrWifiMacAddress peerMacAddress; 816 CsrWifiMacAddress peerDeviceAddress; 817 CsrWifiSmeIEEE80211Reason disassocReason; 818 CsrWifiSmeIEEE80211Reason deauthReason; 819 CsrWifiSmeWpsRegistration WpsRegistration; 820 u8 secIeLength; 821 u8 *secIe; 822 u8 groupKeyId; 823 u16 seqNumber[8]; 824 } CsrWifiSmeApStaNotifyInd; 825 826 /******************************************************************************* 827 828 NAME 829 CsrWifiSmeApStaConnectStartInd 830 831 DESCRIPTION 832 This primitive indicates that a stations request to join the group/BSS is 833 accepted 834 835 MEMBERS 836 common - Common header for use with the CsrWifiFsm Module 837 interfaceTag - 838 peerMacAddress - 839 840 *******************************************************************************/ 841 typedef struct 842 { 843 CsrWifiFsmEvent common; 844 u16 interfaceTag; 845 CsrWifiMacAddress peerMacAddress; 846 } CsrWifiSmeApStaConnectStartInd; 847 848 /******************************************************************************* 849 850 NAME 851 CsrWifiSmeApWpsRegistrationStartedCfm 852 853 DESCRIPTION 854 A confirm for UNIFI_MGT_AP_WPS_REGISTRATION_STARTED.request 855 856 MEMBERS 857 common - Common header for use with the CsrWifiFsm Module 858 interfaceTag - 859 status - 860 861 *******************************************************************************/ 862 typedef struct 863 { 864 CsrWifiFsmEvent common; 865 u16 interfaceTag; 866 CsrResult status; 867 } CsrWifiSmeApWpsRegistrationStartedCfm; 868 869 /******************************************************************************* 870 871 NAME 872 CsrWifiSmeApWpsRegistrationFinishedCfm 873 874 DESCRIPTION 875 A confirm for UNIFI_MGT_AP_WPS_REGISTRATION_FINISHED.request 876 877 MEMBERS 878 common - Common header for use with the CsrWifiFsm Module 879 interfaceTag - 880 status - 881 882 *******************************************************************************/ 883 typedef struct 884 { 885 CsrWifiFsmEvent common; 886 u16 interfaceTag; 887 CsrResult status; 888 } CsrWifiSmeApWpsRegistrationFinishedCfm; 889 890 /******************************************************************************* 891 892 NAME 893 CsrWifiSmeApWmmParamUpdateCfm 894 895 DESCRIPTION 896 A confirm for CSR_WIFI_SME_AP_WMM_PARAM_UPDATE.request 897 898 MEMBERS 899 common - Common header for use with the CsrWifiFsm Module 900 interfaceTag - 901 status - 902 903 *******************************************************************************/ 904 typedef struct 905 { 906 CsrWifiFsmEvent common; 907 u16 interfaceTag; 908 CsrResult status; 909 } CsrWifiSmeApWmmParamUpdateCfm; 910 911 /******************************************************************************* 912 913 NAME 914 CsrWifiSmeApStaDisconnectCfm 915 916 DESCRIPTION 917 This primitive confirms the station is disconnected 918 919 MEMBERS 920 common - Common header for use with the CsrWifiFsm Module 921 interfaceTag - 922 status - 923 peerMacaddress - 924 925 *******************************************************************************/ 926 typedef struct 927 { 928 CsrWifiFsmEvent common; 929 u16 interfaceTag; 930 CsrResult status; 931 CsrWifiMacAddress peerMacaddress; 932 } CsrWifiSmeApStaDisconnectCfm; 933 934 /******************************************************************************* 935 936 NAME 937 CsrWifiSmeApWpsConfigurationCfm 938 939 DESCRIPTION 940 Confirm. 941 942 MEMBERS 943 common - Common header for use with the CsrWifiFsm Module 944 status - Status of the request. 945 946 *******************************************************************************/ 947 typedef struct 948 { 949 CsrWifiFsmEvent common; 950 CsrResult status; 951 } CsrWifiSmeApWpsConfigurationCfm; 952 953 /******************************************************************************* 954 955 NAME 956 CsrWifiSmeApErrorInd 957 958 DESCRIPTION 959 This primitve is sent by SME to indicate some error in AP operationi 960 after AP operations were started successfully and continuing the AP 961 operation may lead to undesired behaviour. It is the responsibility of 962 the upper layers to stop AP operation if needed 963 964 MEMBERS 965 common - Common header for use with the CsrWifiFsm Module 966 interfaceTag - Range 0-1 967 apType - 968 status - Contains the error status 969 970 *******************************************************************************/ 971 typedef struct 972 { 973 CsrWifiFsmEvent common; 974 u16 interfaceTag; 975 CsrWifiSmeApType apType; 976 CsrResult status; 977 } CsrWifiSmeApErrorInd; 978 979 /******************************************************************************* 980 981 NAME 982 CsrWifiSmeApActiveBaGetCfm 983 984 DESCRIPTION 985 This primitive carries the information related to the active ba sessions 986 987 MEMBERS 988 common - Common header for use with the CsrWifiFsm Module 989 interfaceTag - 990 status - Reports the result of the request 991 activeBaCount - Number of active block ack session 992 activeBaSessions - Points to a buffer containing an array of 993 CsrWifiSmeApBaSession structures. 994 995 *******************************************************************************/ 996 typedef struct 997 { 998 CsrWifiFsmEvent common; 999 u16 interfaceTag; 1000 CsrResult status; 1001 u16 activeBaCount; 1002 CsrWifiSmeApBaSession *activeBaSessions; 1003 } CsrWifiSmeApActiveBaGetCfm; 1004 1005 /******************************************************************************* 1006 1007 NAME 1008 CsrWifiSmeApBaDeleteCfm 1009 1010 DESCRIPTION 1011 This primitive confirms the BA is deleted 1012 1013 MEMBERS 1014 common - Common header for use with the CsrWifiFsm Module 1015 interfaceTag - 1016 status - Reports the result of the request 1017 baSession - deleted BA session 1018 1019 *******************************************************************************/ 1020 typedef struct 1021 { 1022 CsrWifiFsmEvent common; 1023 u16 interfaceTag; 1024 CsrResult status; 1025 CsrWifiSmeApBaSession baSession; 1026 } CsrWifiSmeApBaDeleteCfm; 1027 1028 1029 #endif /* CSR_WIFI_SME_AP_PRIM_H__ */ 1030 1031