00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056 FILE_LICENCE ( GPL2_ONLY );
00057
00058 #ifndef _HFA384x_H
00059 #define _HFA384x_H
00060
00061
00062 #define HFA384x_FIRMWARE_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
00063
00064 #define HFA384x_LEVEL_TO_dBm(v) (0x100 + (v) * 100 / 255 - 100)
00065
00066
00067
00068 #define HFA384x_CMD_ALLOC_LEN_MIN ((UINT16)4)
00069 #define HFA384x_CMD_ALLOC_LEN_MAX ((UINT16)2400)
00070 #define HFA384x_BAP_DATALEN_MAX ((UINT16)4096)
00071 #define HFA384x_BAP_OFFSET_MAX ((UINT16)4096)
00072 #define HFA384x_PORTID_MAX ((UINT16)7)
00073 #define HFA384x_NUMPORTS_MAX ((UINT16)(HFA384x_PORTID_MAX+1))
00074 #define HFA384x_PDR_LEN_MAX ((UINT16)512)
00075 #define HFA384x_PDA_RECS_MAX ((UINT16)200)
00076 #define HFA384x_PDA_LEN_MAX ((UINT16)1024)
00077 #define HFA384x_SCANRESULT_MAX ((UINT16)31)
00078 #define HFA384x_HSCANRESULT_MAX ((UINT16)31)
00079 #define HFA384x_CHINFORESULT_MAX ((UINT16)16)
00080 #define HFA384x_DRVR_FIDSTACKLEN_MAX (10)
00081 #define HFA384x_DRVR_TXBUF_MAX (sizeof(hfa384x_tx_frame_t) + \
00082 WLAN_DATA_MAXLEN - \
00083 WLAN_WEP_IV_LEN - \
00084 WLAN_WEP_ICV_LEN + 2)
00085 #define HFA384x_DRVR_MAGIC (0x4a2d)
00086 #define HFA384x_INFODATA_MAXLEN (sizeof(hfa384x_infodata_t))
00087 #define HFA384x_INFOFRM_MAXLEN (sizeof(hfa384x_InfFrame_t))
00088 #define HFA384x_RID_GUESSING_MAXLEN 2048
00089 #define HFA384x_RIDDATA_MAXLEN HFA384x_RID_GUESSING_MAXLEN
00090 #define HFA384x_USB_RWMEM_MAXLEN 2048
00091
00092
00093 #define HFA384x_BAP_PROC ((UINT16)0)
00094 #define HFA384x_BAP_INT ((UINT16)1)
00095 #define HFA384x_PORTTYPE_IBSS ((UINT16)0)
00096 #define HFA384x_PORTTYPE_BSS ((UINT16)1)
00097 #define HFA384x_PORTTYPE_WDS ((UINT16)2)
00098 #define HFA384x_PORTTYPE_PSUEDOIBSS ((UINT16)3)
00099 #define HFA384x_PORTTYPE_HOSTAP ((UINT16)6)
00100 #define HFA384x_WEPFLAGS_PRIVINVOKED ((UINT16)BIT0)
00101 #define HFA384x_WEPFLAGS_EXCLUDE ((UINT16)BIT1)
00102 #define HFA384x_WEPFLAGS_DISABLE_TXCRYPT ((UINT16)BIT4)
00103 #define HFA384x_WEPFLAGS_DISABLE_RXCRYPT ((UINT16)BIT7)
00104 #define HFA384x_WEPFLAGS_DISALLOW_MIXED ((UINT16)BIT11)
00105 #define HFA384x_WEPFLAGS_IV_INTERVAL1 ((UINT16)0)
00106 #define HFA384x_WEPFLAGS_IV_INTERVAL10 ((UINT16)BIT5)
00107 #define HFA384x_WEPFLAGS_IV_INTERVAL50 ((UINT16)BIT6)
00108 #define HFA384x_WEPFLAGS_IV_INTERVAL100 ((UINT16)(BIT5 | BIT6))
00109 #define HFA384x_WEPFLAGS_FIRMWARE_WPA ((UINT16)BIT8)
00110 #define HFA384x_WEPFLAGS_HOST_MIC ((UINT16)BIT9)
00111 #define HFA384x_ROAMMODE_FWSCAN_FWROAM ((UINT16)1)
00112 #define HFA384x_ROAMMODE_FWSCAN_HOSTROAM ((UINT16)2)
00113 #define HFA384x_ROAMMODE_HOSTSCAN_HOSTROAM ((UINT16)3)
00114 #define HFA384x_PORTSTATUS_DISABLED ((UINT16)1)
00115 #define HFA384x_PORTSTATUS_INITSRCH ((UINT16)2)
00116 #define HFA384x_PORTSTATUS_CONN_IBSS ((UINT16)3)
00117 #define HFA384x_PORTSTATUS_CONN_ESS ((UINT16)4)
00118 #define HFA384x_PORTSTATUS_OOR_ESS ((UINT16)5)
00119 #define HFA384x_PORTSTATUS_CONN_WDS ((UINT16)6)
00120 #define HFA384x_PORTSTATUS_HOSTAP ((UINT16)8)
00121 #define HFA384x_RATEBIT_1 ((UINT16)1)
00122 #define HFA384x_RATEBIT_2 ((UINT16)2)
00123 #define HFA384x_RATEBIT_5dot5 ((UINT16)4)
00124 #define HFA384x_RATEBIT_11 ((UINT16)8)
00125
00126
00127 #define HFA384x_TXCMD_NORECL ((UINT16)0)
00128 #define HFA384x_TXCMD_RECL ((UINT16)1)
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145 #define HFA384x_ADDR_AUX_OFF_MAX ((UINT16)0x007f)
00146
00147
00148 #define HFA384x_ADDR_FLAT_AUX_PAGE_MASK (0x007fff80)
00149 #define HFA384x_ADDR_FLAT_AUX_OFF_MASK (0x0000007f)
00150 #define HFA384x_ADDR_FLAT_CMD_PAGE_MASK (0xffff0000)
00151 #define HFA384x_ADDR_FLAT_CMD_OFF_MASK (0x0000ffff)
00152
00153
00154 #define HFA384x_ADDR_AUX_PAGE_MASK (0xffff)
00155 #define HFA384x_ADDR_AUX_OFF_MASK (0x007f)
00156
00157
00158 #define HFA384x_ADDR_CMD_PAGE_MASK (0x007f)
00159 #define HFA384x_ADDR_CMD_OFF_MASK (0xffff)
00160
00161
00162 #define HFA384x_ADDR_AUX_MKFLAT(p,o) \
00163 (((UINT32)(((UINT16)(p))&HFA384x_ADDR_AUX_PAGE_MASK)) <<7) | \
00164 ((UINT32)(((UINT16)(o))&HFA384x_ADDR_AUX_OFF_MASK))
00165
00166
00167 #define HFA384x_ADDR_CMD_MKFLAT(p,o) \
00168 (((UINT32)(((UINT16)(p))&HFA384x_ADDR_CMD_PAGE_MASK)) <<16) | \
00169 ((UINT32)(((UINT16)(o))&HFA384x_ADDR_CMD_OFF_MASK))
00170
00171
00172 #define HFA384x_ADDR_AUX_MKPAGE(f) \
00173 ((UINT16)((((UINT32)(f))&HFA384x_ADDR_FLAT_AUX_PAGE_MASK)>>7))
00174 #define HFA384x_ADDR_AUX_MKOFF(f) \
00175 ((UINT16)(((UINT32)(f))&HFA384x_ADDR_FLAT_AUX_OFF_MASK))
00176
00177
00178 #define HFA384x_ADDR_CMD_MKPAGE(f) \
00179 ((UINT16)((((UINT32)(f))&HFA384x_ADDR_FLAT_CMD_PAGE_MASK)>>16))
00180 #define HFA384x_ADDR_CMD_MKOFF(f) \
00181 ((UINT16)(((UINT32)(f))&HFA384x_ADDR_FLAT_CMD_OFF_MASK))
00182
00183
00184
00185
00186 #define HFA384x_AUX_CTL_EXTDS (0x00)
00187 #define HFA384x_AUX_CTL_NV (0x01)
00188 #define HFA384x_AUX_CTL_PHY (0x02)
00189 #define HFA384x_AUX_CTL_ICSRAM (0x03)
00190
00191
00192 #define HFA384x_AUX_MKOFF(f, c) \
00193 (HFA384x_ADDR_AUX_MKOFF(f) | (((UINT16)(c))<<12))
00194 #define HFA384x_AUX_MKPAGE(f) HFA384x_ADDR_AUX_MKPAGE(f)
00195
00196
00197
00198 #define HFA3842_PDA_BASE (0x007f0000UL)
00199 #define HFA3841_PDA_BASE (0x003f0000UL)
00200 #define HFA3841_PDA_BOGUS_BASE (0x00390000UL)
00201
00202
00203 #define HFA384x_DLSTATE_DISABLED 0
00204 #define HFA384x_DLSTATE_RAMENABLED 1
00205 #define HFA384x_DLSTATE_FLASHENABLED 2
00206 #define HFA384x_DLSTATE_FLASHWRITTEN 3
00207 #define HFA384x_DLSTATE_FLASHWRITEPENDING 4
00208 #define HFA384x_DLSTATE_GENESIS 5
00209
00210
00211 #if ((WLAN_HOSTIF == WLAN_PCMCIA) || (WLAN_HOSTIF == WLAN_PLX))
00212
00213 #define HFA384x_CMD_OFF (0x00)
00214 #define HFA384x_PARAM0_OFF (0x02)
00215 #define HFA384x_PARAM1_OFF (0x04)
00216 #define HFA384x_PARAM2_OFF (0x06)
00217 #define HFA384x_STATUS_OFF (0x08)
00218 #define HFA384x_RESP0_OFF (0x0A)
00219 #define HFA384x_RESP1_OFF (0x0C)
00220 #define HFA384x_RESP2_OFF (0x0E)
00221 #define HFA384x_INFOFID_OFF (0x10)
00222 #define HFA384x_RXFID_OFF (0x20)
00223 #define HFA384x_ALLOCFID_OFF (0x22)
00224 #define HFA384x_TXCOMPLFID_OFF (0x24)
00225 #define HFA384x_SELECT0_OFF (0x18)
00226 #define HFA384x_OFFSET0_OFF (0x1C)
00227 #define HFA384x_DATA0_OFF (0x36)
00228 #define HFA384x_SELECT1_OFF (0x1A)
00229 #define HFA384x_OFFSET1_OFF (0x1E)
00230 #define HFA384x_DATA1_OFF (0x38)
00231 #define HFA384x_EVSTAT_OFF (0x30)
00232 #define HFA384x_INTEN_OFF (0x32)
00233 #define HFA384x_EVACK_OFF (0x34)
00234 #define HFA384x_CONTROL_OFF (0x14)
00235 #define HFA384x_SWSUPPORT0_OFF (0x28)
00236 #define HFA384x_SWSUPPORT1_OFF (0x2A)
00237 #define HFA384x_SWSUPPORT2_OFF (0x2C)
00238 #define HFA384x_AUXPAGE_OFF (0x3A)
00239 #define HFA384x_AUXOFFSET_OFF (0x3C)
00240 #define HFA384x_AUXDATA_OFF (0x3E)
00241
00242 #elif (WLAN_HOSTIF == WLAN_PCI || WLAN_HOSTIF == WLAN_USB)
00243
00244 #define HFA384x_CMD_OFF (0x00)
00245 #define HFA384x_PARAM0_OFF (0x04)
00246 #define HFA384x_PARAM1_OFF (0x08)
00247 #define HFA384x_PARAM2_OFF (0x0c)
00248 #define HFA384x_STATUS_OFF (0x10)
00249 #define HFA384x_RESP0_OFF (0x14)
00250 #define HFA384x_RESP1_OFF (0x18)
00251 #define HFA384x_RESP2_OFF (0x1c)
00252 #define HFA384x_INFOFID_OFF (0x20)
00253 #define HFA384x_RXFID_OFF (0x40)
00254 #define HFA384x_ALLOCFID_OFF (0x44)
00255 #define HFA384x_TXCOMPLFID_OFF (0x48)
00256 #define HFA384x_SELECT0_OFF (0x30)
00257 #define HFA384x_OFFSET0_OFF (0x38)
00258 #define HFA384x_DATA0_OFF (0x6c)
00259 #define HFA384x_SELECT1_OFF (0x34)
00260 #define HFA384x_OFFSET1_OFF (0x3c)
00261 #define HFA384x_DATA1_OFF (0x70)
00262 #define HFA384x_EVSTAT_OFF (0x60)
00263 #define HFA384x_INTEN_OFF (0x64)
00264 #define HFA384x_EVACK_OFF (0x68)
00265 #define HFA384x_CONTROL_OFF (0x28)
00266 #define HFA384x_SWSUPPORT0_OFF (0x50)
00267 #define HFA384x_SWSUPPORT1_OFF (0x54)
00268 #define HFA384x_SWSUPPORT2_OFF (0x58)
00269 #define HFA384x_AUXPAGE_OFF (0x74)
00270 #define HFA384x_AUXOFFSET_OFF (0x78)
00271 #define HFA384x_AUXDATA_OFF (0x7c)
00272 #define HFA384x_PCICOR_OFF (0x4c)
00273 #define HFA384x_PCIHCR_OFF (0x5c)
00274 #define HFA384x_PCI_M0_ADDRH_OFF (0x80)
00275 #define HFA384x_PCI_M0_ADDRL_OFF (0x84)
00276 #define HFA384x_PCI_M0_LEN_OFF (0x88)
00277 #define HFA384x_PCI_M0_CTL_OFF (0x8c)
00278 #define HFA384x_PCI_STATUS_OFF (0x98)
00279 #define HFA384x_PCI_M1_ADDRH_OFF (0xa0)
00280 #define HFA384x_PCI_M1_ADDRL_OFF (0xa4)
00281 #define HFA384x_PCI_M1_LEN_OFF (0xa8)
00282 #define HFA384x_PCI_M1_CTL_OFF (0xac)
00283
00284 #endif
00285
00286
00287 #define HFA384x_CMD_BUSY ((UINT16)BIT15)
00288 #define HFA384x_CMD_AINFO ((UINT16)(BIT14 | BIT13 | BIT12 | BIT11 | BIT10 | BIT9 | BIT8))
00289 #define HFA384x_CMD_MACPORT ((UINT16)(BIT10 | BIT9 | BIT8))
00290 #define HFA384x_CMD_RECL ((UINT16)BIT8)
00291 #define HFA384x_CMD_WRITE ((UINT16)BIT8)
00292 #define HFA384x_CMD_PROGMODE ((UINT16)(BIT9 | BIT8))
00293 #define HFA384x_CMD_CMDCODE ((UINT16)(BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0))
00294
00295 #define HFA384x_STATUS_RESULT ((UINT16)(BIT14 | BIT13 | BIT12 | BIT11 | BIT10 | BIT9 | BIT8))
00296 #define HFA384x_STATUS_CMDCODE ((UINT16)(BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0))
00297
00298 #define HFA384x_OFFSET_BUSY ((UINT16)BIT15)
00299 #define HFA384x_OFFSET_ERR ((UINT16)BIT14)
00300 #define HFA384x_OFFSET_DATAOFF ((UINT16)(BIT11 | BIT10 | BIT9 | BIT8 | BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1))
00301
00302 #define HFA384x_EVSTAT_TICK ((UINT16)BIT15)
00303 #define HFA384x_EVSTAT_WTERR ((UINT16)BIT14)
00304 #define HFA384x_EVSTAT_INFDROP ((UINT16)BIT13)
00305 #define HFA384x_EVSTAT_INFO ((UINT16)BIT7)
00306 #define HFA384x_EVSTAT_DTIM ((UINT16)BIT5)
00307 #define HFA384x_EVSTAT_CMD ((UINT16)BIT4)
00308 #define HFA384x_EVSTAT_ALLOC ((UINT16)BIT3)
00309 #define HFA384x_EVSTAT_TXEXC ((UINT16)BIT2)
00310 #define HFA384x_EVSTAT_TX ((UINT16)BIT1)
00311 #define HFA384x_EVSTAT_RX ((UINT16)BIT0)
00312
00313 #define HFA384x_INT_BAP_OP (HFA384x_EVSTAT_INFO|HFA384x_EVSTAT_RX|HFA384x_EVSTAT_TX|HFA384x_EVSTAT_TXEXC)
00314
00315 #define HFA384x_INT_NORMAL (HFA384x_EVSTAT_INFO|HFA384x_EVSTAT_RX|HFA384x_EVSTAT_TX|HFA384x_EVSTAT_TXEXC|HFA384x_EVSTAT_INFDROP|HFA384x_EVSTAT_ALLOC|HFA384x_EVSTAT_DTIM)
00316
00317 #define HFA384x_INTEN_TICK ((UINT16)BIT15)
00318 #define HFA384x_INTEN_WTERR ((UINT16)BIT14)
00319 #define HFA384x_INTEN_INFDROP ((UINT16)BIT13)
00320 #define HFA384x_INTEN_INFO ((UINT16)BIT7)
00321 #define HFA384x_INTEN_DTIM ((UINT16)BIT5)
00322 #define HFA384x_INTEN_CMD ((UINT16)BIT4)
00323 #define HFA384x_INTEN_ALLOC ((UINT16)BIT3)
00324 #define HFA384x_INTEN_TXEXC ((UINT16)BIT2)
00325 #define HFA384x_INTEN_TX ((UINT16)BIT1)
00326 #define HFA384x_INTEN_RX ((UINT16)BIT0)
00327
00328 #define HFA384x_EVACK_TICK ((UINT16)BIT15)
00329 #define HFA384x_EVACK_WTERR ((UINT16)BIT14)
00330 #define HFA384x_EVACK_INFDROP ((UINT16)BIT13)
00331 #define HFA384x_EVACK_INFO ((UINT16)BIT7)
00332 #define HFA384x_EVACK_DTIM ((UINT16)BIT5)
00333 #define HFA384x_EVACK_CMD ((UINT16)BIT4)
00334 #define HFA384x_EVACK_ALLOC ((UINT16)BIT3)
00335 #define HFA384x_EVACK_TXEXC ((UINT16)BIT2)
00336 #define HFA384x_EVACK_TX ((UINT16)BIT1)
00337 #define HFA384x_EVACK_RX ((UINT16)BIT0)
00338
00339 #define HFA384x_CONTROL_AUXEN ((UINT16)(BIT15 | BIT14))
00340
00341
00342
00343
00344 #define HFA384x_CMDCODE_INIT ((UINT16)0x00)
00345 #define HFA384x_CMDCODE_ENABLE ((UINT16)0x01)
00346 #define HFA384x_CMDCODE_DISABLE ((UINT16)0x02)
00347 #define HFA384x_CMDCODE_DIAG ((UINT16)0x03)
00348
00349
00350 #define HFA384x_CMDCODE_ALLOC ((UINT16)0x0A)
00351 #define HFA384x_CMDCODE_TX ((UINT16)0x0B)
00352 #define HFA384x_CMDCODE_CLRPRST ((UINT16)0x12)
00353
00354
00355 #define HFA384x_CMDCODE_NOTIFY ((UINT16)0x10)
00356 #define HFA384x_CMDCODE_INQ ((UINT16)0x11)
00357
00358
00359 #define HFA384x_CMDCODE_ACCESS ((UINT16)0x21)
00360 #define HFA384x_CMDCODE_DOWNLD ((UINT16)0x22)
00361
00362
00363 #define HFA384x_CMDCODE_MONITOR ((UINT16)(0x38))
00364 #define HFA384x_MONITOR_ENABLE ((UINT16)(0x0b))
00365 #define HFA384x_MONITOR_DISABLE ((UINT16)(0x0f))
00366
00367
00368 #define HFA384x_SUCCESS ((UINT16)(0x00))
00369 #define HFA384x_CARD_FAIL ((UINT16)(0x01))
00370 #define HFA384x_NO_BUFF ((UINT16)(0x05))
00371 #define HFA384x_CMD_ERR ((UINT16)(0x7F))
00372
00373
00374
00375
00376
00377
00378
00379 #define HFA384x_PROGMODE_DISABLE ((UINT16)0x00)
00380 #define HFA384x_PROGMODE_RAM ((UINT16)0x01)
00381 #define HFA384x_PROGMODE_NV ((UINT16)0x02)
00382 #define HFA384x_PROGMODE_NVWRITE ((UINT16)0x03)
00383
00384
00385 #define HFA384x_AUXPW0 ((UINT16)0xfe01)
00386 #define HFA384x_AUXPW1 ((UINT16)0xdc23)
00387 #define HFA384x_AUXPW2 ((UINT16)0xba45)
00388
00389 #define HFA384x_CONTROL_AUX_ISDISABLED ((UINT16)0x0000)
00390 #define HFA384x_CONTROL_AUX_ISENABLED ((UINT16)0xc000)
00391 #define HFA384x_CONTROL_AUX_DOENABLE ((UINT16)0x8000)
00392 #define HFA384x_CONTROL_AUX_DODISABLE ((UINT16)0x4000)
00393
00394
00395
00396
00397
00398 #define HFA384x_RID_CNFPORTTYPE ((UINT16)0xFC00)
00399 #define HFA384x_RID_CNFOWNMACADDR ((UINT16)0xFC01)
00400 #define HFA384x_RID_CNFDESIREDSSID ((UINT16)0xFC02)
00401 #define HFA384x_RID_CNFOWNCHANNEL ((UINT16)0xFC03)
00402 #define HFA384x_RID_CNFOWNSSID ((UINT16)0xFC04)
00403 #define HFA384x_RID_CNFOWNATIMWIN ((UINT16)0xFC05)
00404 #define HFA384x_RID_CNFSYSSCALE ((UINT16)0xFC06)
00405 #define HFA384x_RID_CNFMAXDATALEN ((UINT16)0xFC07)
00406 #define HFA384x_RID_CNFWDSADDR ((UINT16)0xFC08)
00407 #define HFA384x_RID_CNFPMENABLED ((UINT16)0xFC09)
00408 #define HFA384x_RID_CNFPMEPS ((UINT16)0xFC0A)
00409 #define HFA384x_RID_CNFMULTICASTRX ((UINT16)0xFC0B)
00410 #define HFA384x_RID_CNFMAXSLEEPDUR ((UINT16)0xFC0C)
00411 #define HFA384x_RID_CNFPMHOLDDUR ((UINT16)0xFC0D)
00412 #define HFA384x_RID_CNFOWNNAME ((UINT16)0xFC0E)
00413 #define HFA384x_RID_CNFOWNDTIMPER ((UINT16)0xFC10)
00414 #define HFA384x_RID_CNFWDSADDR1 ((UINT16)0xFC11)
00415 #define HFA384x_RID_CNFWDSADDR2 ((UINT16)0xFC12)
00416 #define HFA384x_RID_CNFWDSADDR3 ((UINT16)0xFC13)
00417 #define HFA384x_RID_CNFWDSADDR4 ((UINT16)0xFC14)
00418 #define HFA384x_RID_CNFWDSADDR5 ((UINT16)0xFC15)
00419 #define HFA384x_RID_CNFWDSADDR6 ((UINT16)0xFC16)
00420 #define HFA384x_RID_CNFMCASTPMBUFF ((UINT16)0xFC17)
00421
00422
00423
00424
00425
00426
00427
00428 #define HFA384x_RID_CNFPORTTYPE_LEN ((UINT16)2)
00429 #define HFA384x_RID_CNFOWNMACADDR_LEN ((UINT16)6)
00430 #define HFA384x_RID_CNFDESIREDSSID_LEN ((UINT16)34)
00431 #define HFA384x_RID_CNFOWNCHANNEL_LEN ((UINT16)2)
00432 #define HFA384x_RID_CNFOWNSSID_LEN ((UINT16)34)
00433 #define HFA384x_RID_CNFOWNATIMWIN_LEN ((UINT16)2)
00434 #define HFA384x_RID_CNFSYSSCALE_LEN ((UINT16)0)
00435 #define HFA384x_RID_CNFMAXDATALEN_LEN ((UINT16)0)
00436 #define HFA384x_RID_CNFWDSADDR_LEN ((UINT16)6)
00437 #define HFA384x_RID_CNFPMENABLED_LEN ((UINT16)0)
00438 #define HFA384x_RID_CNFPMEPS_LEN ((UINT16)0)
00439 #define HFA384x_RID_CNFMULTICASTRX_LEN ((UINT16)0)
00440 #define HFA384x_RID_CNFMAXSLEEPDUR_LEN ((UINT16)0)
00441 #define HFA384x_RID_CNFPMHOLDDUR_LEN ((UINT16)0)
00442 #define HFA384x_RID_CNFOWNNAME_LEN ((UINT16)34)
00443 #define HFA384x_RID_CNFOWNDTIMPER_LEN ((UINT16)0)
00444 #define HFA384x_RID_CNFWDSADDR1_LEN ((UINT16)6)
00445 #define HFA384x_RID_CNFWDSADDR2_LEN ((UINT16)6)
00446 #define HFA384x_RID_CNFWDSADDR3_LEN ((UINT16)6)
00447 #define HFA384x_RID_CNFWDSADDR4_LEN ((UINT16)6)
00448 #define HFA384x_RID_CNFWDSADDR5_LEN ((UINT16)6)
00449 #define HFA384x_RID_CNFWDSADDR6_LEN ((UINT16)6)
00450 #define HFA384x_RID_CNFMCASTPMBUFF_LEN ((UINT16)0)
00451 #define HFA384x_RID_CNFAUTHENTICATION_LEN ((UINT16)sizeof(UINT16))
00452 #define HFA384x_RID_CNFMAXSLEEPDUR_LEN ((UINT16)0)
00453
00454
00455
00456
00457 #define HFA384x_RID_GROUPADDR ((UINT16)0xFC80)
00458 #define HFA384x_RID_CREATEIBSS ((UINT16)0xFC81)
00459 #define HFA384x_RID_FRAGTHRESH ((UINT16)0xFC82)
00460 #define HFA384x_RID_RTSTHRESH ((UINT16)0xFC83)
00461 #define HFA384x_RID_TXRATECNTL ((UINT16)0xFC84)
00462 #define HFA384x_RID_PROMISCMODE ((UINT16)0xFC85)
00463 #define HFA384x_RID_FRAGTHRESH0 ((UINT16)0xFC90)
00464 #define HFA384x_RID_FRAGTHRESH1 ((UINT16)0xFC91)
00465 #define HFA384x_RID_FRAGTHRESH2 ((UINT16)0xFC92)
00466 #define HFA384x_RID_FRAGTHRESH3 ((UINT16)0xFC93)
00467 #define HFA384x_RID_FRAGTHRESH4 ((UINT16)0xFC94)
00468 #define HFA384x_RID_FRAGTHRESH5 ((UINT16)0xFC95)
00469 #define HFA384x_RID_FRAGTHRESH6 ((UINT16)0xFC96)
00470 #define HFA384x_RID_RTSTHRESH0 ((UINT16)0xFC97)
00471 #define HFA384x_RID_RTSTHRESH1 ((UINT16)0xFC98)
00472 #define HFA384x_RID_RTSTHRESH2 ((UINT16)0xFC99)
00473 #define HFA384x_RID_RTSTHRESH3 ((UINT16)0xFC9A)
00474 #define HFA384x_RID_RTSTHRESH4 ((UINT16)0xFC9B)
00475 #define HFA384x_RID_RTSTHRESH5 ((UINT16)0xFC9C)
00476 #define HFA384x_RID_RTSTHRESH6 ((UINT16)0xFC9D)
00477 #define HFA384x_RID_TXRATECNTL0 ((UINT16)0xFC9E)
00478 #define HFA384x_RID_TXRATECNTL1 ((UINT16)0xFC9F)
00479 #define HFA384x_RID_TXRATECNTL2 ((UINT16)0xFCA0)
00480 #define HFA384x_RID_TXRATECNTL3 ((UINT16)0xFCA1)
00481 #define HFA384x_RID_TXRATECNTL4 ((UINT16)0xFCA2)
00482 #define HFA384x_RID_TXRATECNTL5 ((UINT16)0xFCA3)
00483 #define HFA384x_RID_TXRATECNTL6 ((UINT16)0xFCA4)
00484
00485
00486
00487
00488
00489
00490
00491 #define HFA384x_RID_GROUPADDR_LEN ((UINT16)16 * WLAN_ADDR_LEN)
00492 #define HFA384x_RID_CREATEIBSS_LEN ((UINT16)0)
00493 #define HFA384x_RID_FRAGTHRESH_LEN ((UINT16)0)
00494 #define HFA384x_RID_RTSTHRESH_LEN ((UINT16)0)
00495 #define HFA384x_RID_TXRATECNTL_LEN ((UINT16)4)
00496 #define HFA384x_RID_PROMISCMODE_LEN ((UINT16)2)
00497 #define HFA384x_RID_FRAGTHRESH0_LEN ((UINT16)0)
00498 #define HFA384x_RID_FRAGTHRESH1_LEN ((UINT16)0)
00499 #define HFA384x_RID_FRAGTHRESH2_LEN ((UINT16)0)
00500 #define HFA384x_RID_FRAGTHRESH3_LEN ((UINT16)0)
00501 #define HFA384x_RID_FRAGTHRESH4_LEN ((UINT16)0)
00502 #define HFA384x_RID_FRAGTHRESH5_LEN ((UINT16)0)
00503 #define HFA384x_RID_FRAGTHRESH6_LEN ((UINT16)0)
00504 #define HFA384x_RID_RTSTHRESH0_LEN ((UINT16)0)
00505 #define HFA384x_RID_RTSTHRESH1_LEN ((UINT16)0)
00506 #define HFA384x_RID_RTSTHRESH2_LEN ((UINT16)0)
00507 #define HFA384x_RID_RTSTHRESH3_LEN ((UINT16)0)
00508 #define HFA384x_RID_RTSTHRESH4_LEN ((UINT16)0)
00509 #define HFA384x_RID_RTSTHRESH5_LEN ((UINT16)0)
00510 #define HFA384x_RID_RTSTHRESH6_LEN ((UINT16)0)
00511 #define HFA384x_RID_TXRATECNTL0_LEN ((UINT16)0)
00512 #define HFA384x_RID_TXRATECNTL1_LEN ((UINT16)0)
00513 #define HFA384x_RID_TXRATECNTL2_LEN ((UINT16)0)
00514 #define HFA384x_RID_TXRATECNTL3_LEN ((UINT16)0)
00515 #define HFA384x_RID_TXRATECNTL4_LEN ((UINT16)0)
00516 #define HFA384x_RID_TXRATECNTL5_LEN ((UINT16)0)
00517 #define HFA384x_RID_TXRATECNTL6_LEN ((UINT16)0)
00518
00519
00520
00521
00522 #define HFA384x_RID_ITICKTIME ((UINT16)0xFCE0)
00523
00524
00525
00526
00527
00528
00529 #define HFA384x_RID_ITICKTIME_LEN ((UINT16)2)
00530
00531
00532
00533
00534 #define HFA384x_RID_MAXLOADTIME ((UINT16)0xFD00)
00535 #define HFA384x_RID_DOWNLOADBUFFER ((UINT16)0xFD01)
00536 #define HFA384x_RID_PRIIDENTITY ((UINT16)0xFD02)
00537 #define HFA384x_RID_PRISUPRANGE ((UINT16)0xFD03)
00538 #define HFA384x_RID_PRI_CFIACTRANGES ((UINT16)0xFD04)
00539 #define HFA384x_RID_NICSERIALNUMBER ((UINT16)0xFD0A)
00540 #define HFA384x_RID_NICIDENTITY ((UINT16)0xFD0B)
00541 #define HFA384x_RID_MFISUPRANGE ((UINT16)0xFD0C)
00542 #define HFA384x_RID_CFISUPRANGE ((UINT16)0xFD0D)
00543 #define HFA384x_RID_CHANNELLIST ((UINT16)0xFD10)
00544 #define HFA384x_RID_REGULATORYDOMAINS ((UINT16)0xFD11)
00545 #define HFA384x_RID_TEMPTYPE ((UINT16)0xFD12)
00546 #define HFA384x_RID_CIS ((UINT16)0xFD13)
00547 #define HFA384x_RID_STAIDENTITY ((UINT16)0xFD20)
00548 #define HFA384x_RID_STASUPRANGE ((UINT16)0xFD21)
00549 #define HFA384x_RID_STA_MFIACTRANGES ((UINT16)0xFD22)
00550 #define HFA384x_RID_STA_CFIACTRANGES ((UINT16)0xFD23)
00551 #define HFA384x_RID_BUILDSEQ ((UINT16)0xFFFE)
00552 #define HFA384x_RID_FWID ((UINT16)0xFFFF)
00553
00554
00555
00556
00557
00558
00559 #define HFA384x_RID_MAXLOADTIME_LEN ((UINT16)0)
00560 #define HFA384x_RID_DOWNLOADBUFFER_LEN ((UINT16)sizeof(hfa384x_downloadbuffer_t))
00561 #define HFA384x_RID_PRIIDENTITY_LEN ((UINT16)8)
00562 #define HFA384x_RID_PRISUPRANGE_LEN ((UINT16)10)
00563 #define HFA384x_RID_CFIACTRANGES_LEN ((UINT16)10)
00564 #define HFA384x_RID_NICSERIALNUMBER_LEN ((UINT16)12)
00565 #define HFA384x_RID_NICIDENTITY_LEN ((UINT16)8)
00566 #define HFA384x_RID_MFISUPRANGE_LEN ((UINT16)10)
00567 #define HFA384x_RID_CFISUPRANGE_LEN ((UINT16)10)
00568 #define HFA384x_RID_CHANNELLIST_LEN ((UINT16)0)
00569 #define HFA384x_RID_REGULATORYDOMAINS_LEN ((UINT16)12)
00570 #define HFA384x_RID_TEMPTYPE_LEN ((UINT16)0)
00571 #define HFA384x_RID_CIS_LEN ((UINT16)480)
00572 #define HFA384x_RID_STAIDENTITY_LEN ((UINT16)8)
00573 #define HFA384x_RID_STASUPRANGE_LEN ((UINT16)10)
00574 #define HFA384x_RID_MFIACTRANGES_LEN ((UINT16)10)
00575 #define HFA384x_RID_CFIACTRANGES2_LEN ((UINT16)10)
00576 #define HFA384x_RID_BUILDSEQ_LEN ((UINT16)sizeof(hfa384x_BuildSeq_t))
00577 #define HFA384x_RID_FWID_LEN ((UINT16)sizeof(hfa384x_FWID_t))
00578
00579
00580
00581
00582 #define HFA384x_RID_PORTSTATUS ((UINT16)0xFD40)
00583 #define HFA384x_RID_CURRENTSSID ((UINT16)0xFD41)
00584 #define HFA384x_RID_CURRENTBSSID ((UINT16)0xFD42)
00585 #define HFA384x_RID_COMMSQUALITY ((UINT16)0xFD43)
00586 #define HFA384x_RID_CURRENTTXRATE ((UINT16)0xFD44)
00587 #define HFA384x_RID_CURRENTBCNINT ((UINT16)0xFD45)
00588 #define HFA384x_RID_CURRENTSCALETHRESH ((UINT16)0xFD46)
00589 #define HFA384x_RID_PROTOCOLRSPTIME ((UINT16)0xFD47)
00590 #define HFA384x_RID_SHORTRETRYLIMIT ((UINT16)0xFD48)
00591 #define HFA384x_RID_LONGRETRYLIMIT ((UINT16)0xFD49)
00592 #define HFA384x_RID_MAXTXLIFETIME ((UINT16)0xFD4A)
00593 #define HFA384x_RID_MAXRXLIFETIME ((UINT16)0xFD4B)
00594 #define HFA384x_RID_CFPOLLABLE ((UINT16)0xFD4C)
00595 #define HFA384x_RID_AUTHALGORITHMS ((UINT16)0xFD4D)
00596 #define HFA384x_RID_PRIVACYOPTIMP ((UINT16)0xFD4F)
00597 #define HFA384x_RID_DBMCOMMSQUALITY ((UINT16)0xFD51)
00598 #define HFA384x_RID_CURRENTTXRATE1 ((UINT16)0xFD80)
00599 #define HFA384x_RID_CURRENTTXRATE2 ((UINT16)0xFD81)
00600 #define HFA384x_RID_CURRENTTXRATE3 ((UINT16)0xFD82)
00601 #define HFA384x_RID_CURRENTTXRATE4 ((UINT16)0xFD83)
00602 #define HFA384x_RID_CURRENTTXRATE5 ((UINT16)0xFD84)
00603 #define HFA384x_RID_CURRENTTXRATE6 ((UINT16)0xFD85)
00604 #define HFA384x_RID_OWNMACADDRESS ((UINT16)0xFD86)
00605
00606 #define HFA384x_RID_SCANRESULTS ((UINT16)0xFD88) // NEW
00607 #define HFA384x_RID_HOSTSCANRESULTS ((UINT16)0xFD89) // NEW
00608 #define HFA384x_RID_AUTHENTICATIONUSED ((UINT16)0xFD8A) // NEW
00609 #define HFA384x_RID_ASSOCIATEFAILURE ((UINT16)0xFD8D) // 1.8.0
00610
00611
00612
00613
00614
00615
00616 #define HFA384x_RID_PORTSTATUS_LEN ((UINT16)0)
00617 #define HFA384x_RID_CURRENTSSID_LEN ((UINT16)34)
00618 #define HFA384x_RID_CURRENTBSSID_LEN ((UINT16)WLAN_BSSID_LEN)
00619 #define HFA384x_RID_COMMSQUALITY_LEN ((UINT16)sizeof(hfa384x_commsquality_t))
00620 #define HFA384x_RID_DBMCOMMSQUALITY_LEN ((UINT16)sizeof(hfa384x_dbmcommsquality_t))
00621 #define HFA384x_RID_CURRENTTXRATE_LEN ((UINT16)0)
00622 #define HFA384x_RID_CURRENTBCNINT_LEN ((UINT16)0)
00623 #define HFA384x_RID_STACURSCALETHRESH_LEN ((UINT16)12)
00624 #define HFA384x_RID_APCURSCALETHRESH_LEN ((UINT16)6)
00625 #define HFA384x_RID_PROTOCOLRSPTIME_LEN ((UINT16)0)
00626 #define HFA384x_RID_SHORTRETRYLIMIT_LEN ((UINT16)0)
00627 #define HFA384x_RID_LONGRETRYLIMIT_LEN ((UINT16)0)
00628 #define HFA384x_RID_MAXTXLIFETIME_LEN ((UINT16)0)
00629 #define HFA384x_RID_MAXRXLIFETIME_LEN ((UINT16)0)
00630 #define HFA384x_RID_CFPOLLABLE_LEN ((UINT16)0)
00631 #define HFA384x_RID_AUTHALGORITHMS_LEN ((UINT16)4)
00632 #define HFA384x_RID_PRIVACYOPTIMP_LEN ((UINT16)0)
00633 #define HFA384x_RID_CURRENTTXRATE1_LEN ((UINT16)0)
00634 #define HFA384x_RID_CURRENTTXRATE2_LEN ((UINT16)0)
00635 #define HFA384x_RID_CURRENTTXRATE3_LEN ((UINT16)0)
00636 #define HFA384x_RID_CURRENTTXRATE4_LEN ((UINT16)0)
00637 #define HFA384x_RID_CURRENTTXRATE5_LEN ((UINT16)0)
00638 #define HFA384x_RID_CURRENTTXRATE6_LEN ((UINT16)0)
00639 #define HFA384x_RID_OWNMACADDRESS_LEN ((UINT16)6)
00640 #define HFA384x_RID_PCFINFO_LEN ((UINT16)6)
00641 #define HFA384x_RID_CNFAPPCFINFO_LEN ((UINT16)sizeof(hfa384x_PCFInfo_data_t))
00642 #define HFA384x_RID_SCANREQUEST_LEN ((UINT16)sizeof(hfa384x_ScanRequest_data_t))
00643 #define HFA384x_RID_JOINREQUEST_LEN ((UINT16)sizeof(hfa384x_JoinRequest_data_t))
00644 #define HFA384x_RID_AUTHENTICATESTA_LEN ((UINT16)sizeof(hfa384x_authenticateStation_data_t))
00645 #define HFA384x_RID_CHANNELINFOREQUEST_LEN ((UINT16)sizeof(hfa384x_ChannelInfoRequest_data_t))
00646
00647
00648
00649 #define HFA384x_RID_PHYTYPE ((UINT16)0xFDC0)
00650 #define HFA384x_RID_CURRENTCHANNEL ((UINT16)0xFDC1)
00651 #define HFA384x_RID_CURRENTPOWERSTATE ((UINT16)0xFDC2)
00652 #define HFA384x_RID_CCAMODE ((UINT16)0xFDC3)
00653 #define HFA384x_RID_SUPPORTEDDATARATES ((UINT16)0xFDC6)
00654 #define HFA384x_RID_LFOSTATUS ((UINT16)0xFDC7) // 1.7.1
00655
00656
00657
00658
00659
00660
00661 #define HFA384x_RID_PHYTYPE_LEN ((UINT16)0)
00662 #define HFA384x_RID_CURRENTCHANNEL_LEN ((UINT16)0)
00663 #define HFA384x_RID_CURRENTPOWERSTATE_LEN ((UINT16)0)
00664 #define HFA384x_RID_CCAMODE_LEN ((UINT16)0)
00665 #define HFA384x_RID_SUPPORTEDDATARATES_LEN ((UINT16)10)
00666
00667
00668
00669
00670 #define HFA384x_RID_CNFWEPDEFAULTKEYID ((UINT16)0xFC23)
00671 #define HFA384x_RID_CNFWEPDEFAULTKEY0 ((UINT16)0xFC24)
00672 #define HFA384x_RID_CNFWEPDEFAULTKEY1 ((UINT16)0xFC25)
00673 #define HFA384x_RID_CNFWEPDEFAULTKEY2 ((UINT16)0xFC26)
00674 #define HFA384x_RID_CNFWEPDEFAULTKEY3 ((UINT16)0xFC27)
00675 #define HFA384x_RID_CNFWEPFLAGS ((UINT16)0xFC28)
00676 #define HFA384x_RID_CNFWEPKEYMAPTABLE ((UINT16)0xFC29)
00677 #define HFA384x_RID_CNFAUTHENTICATION ((UINT16)0xFC2A)
00678 #define HFA384x_RID_CNFMAXASSOCSTATIONS ((UINT16)0xFC2B)
00679 #define HFA384x_RID_CNFTXCONTROL ((UINT16)0xFC2C)
00680 #define HFA384x_RID_CNFROAMINGMODE ((UINT16)0xFC2D)
00681 #define HFA384x_RID_CNFHOSTAUTHASSOC ((UINT16)0xFC2E)
00682 #define HFA384x_RID_CNFRCVCRCERROR ((UINT16)0xFC30)
00683
00684 #define HFA384x_RID_CNFALTRETRYCNT ((UINT16)0xFC32)
00685 #define HFA384x_RID_CNFAPBCNINT ((UINT16)0xFC33)
00686 #define HFA384x_RID_CNFAPPCFINFO ((UINT16)0xFC34)
00687 #define HFA384x_RID_CNFSTAPCFINFO ((UINT16)0xFC35)
00688 #define HFA384x_RID_CNFPRIORITYQUSAGE ((UINT16)0xFC37)
00689 #define HFA384x_RID_CNFTIMCTRL ((UINT16)0xFC40)
00690 #define HFA384x_RID_CNFTHIRTY2TALLY ((UINT16)0xFC42)
00691 #define HFA384x_RID_CNFENHSECURITY ((UINT16)0xFC43)
00692 #define HFA384x_RID_CNFDBMADJUST ((UINT16)0xFC46) // NEW
00693 #define HFA384x_RID_CNFWPADATA ((UINT16)0xFC48) // 1.7.0
00694 #define HFA384x_RID_CNFPROPOGATIONDELAY ((UINT16)0xFC49) // 1.7.6
00695 #define HFA384x_RID_CNFSHORTPREAMBLE ((UINT16)0xFCB0)
00696 #define HFA384x_RID_CNFEXCLONGPREAMBLE ((UINT16)0xFCB1)
00697 #define HFA384x_RID_CNFAUTHRSPTIMEOUT ((UINT16)0xFCB2)
00698 #define HFA384x_RID_CNFBASICRATES ((UINT16)0xFCB3)
00699 #define HFA384x_RID_CNFSUPPRATES ((UINT16)0xFCB4)
00700 #define HFA384x_RID_CNFFALLBACKCTRL ((UINT16)0xFCB5) // NEW
00701 #define HFA384x_RID_WEPKEYSTATUS ((UINT16)0xFCB6) // NEW
00702 #define HFA384x_RID_WEPKEYMAPINDEX ((UINT16)0xFCB7) // NEW
00703 #define HFA384x_RID_BROADCASTKEYID ((UINT16)0xFCB8) // NEW
00704 #define HFA384x_RID_ENTSECFLAGEYID ((UINT16)0xFCB9) // NEW
00705 #define HFA384x_RID_CNFPASSIVESCANCTRL ((UINT16)0xFCBA) // NEW STA
00706 #define HFA384x_RID_CNFWPAHANDLING ((UINT16)0xFCBB) // 1.7.0
00707 #define HFA384x_RID_MDCCONTROL ((UINT16)0xFCBC) // 1.7.0/1.4.0
00708 #define HFA384x_RID_MDCCOUNTRY ((UINT16)0xFCBD) // 1.7.0/1.4.0
00709 #define HFA384x_RID_TXPOWERMAX ((UINT16)0xFCBE) // 1.7.0/1.4.0
00710 #define HFA384x_RID_CNFLFOENBLED ((UINT16)0xFCBF) // 1.6.3
00711 #define HFA384x_RID_CAPINFO ((UINT16)0xFCC0) // 1.7.0/1.3.7
00712 #define HFA384x_RID_LISTENINTERVAL ((UINT16)0xFCC1) // 1.7.0/1.3.7
00713 #define HFA384x_RID_DIVERSITYENABLED ((UINT16)0xFCC2) // 1.7.0/1.3.7
00714 #define HFA384x_RID_LED_CONTROL ((UINT16)0xFCC4) // 1.7.6
00715 #define HFA384x_RID_HFO_DELAY ((UINT16)0xFCC5) // 1.7.6
00716 #define HFA384x_RID_DISSALOWEDBSSID ((UINT16)0xFCC6) // 1.8.0
00717 #define HFA384x_RID_SCANREQUEST ((UINT16)0xFCE1)
00718 #define HFA384x_RID_JOINREQUEST ((UINT16)0xFCE2)
00719 #define HFA384x_RID_AUTHENTICATESTA ((UINT16)0xFCE3)
00720 #define HFA384x_RID_CHANNELINFOREQUEST ((UINT16)0xFCE4)
00721 #define HFA384x_RID_HOSTSCAN ((UINT16)0xFCE5) // NEW STA
00722 #define HFA384x_RID_ASSOCIATESTA ((UINT16)0xFCE6)
00723
00724 #define HFA384x_RID_CNFWEPDEFAULTKEY_LEN ((UINT16)6)
00725 #define HFA384x_RID_CNFWEP128DEFAULTKEY_LEN ((UINT16)14)
00726 #define HFA384x_RID_CNFPRIOQUSAGE_LEN ((UINT16)4)
00727
00728
00729
00730 #define HFA384x_PDR_PCB_PARTNUM ((UINT16)0x0001)
00731 #define HFA384x_PDR_PDAVER ((UINT16)0x0002)
00732 #define HFA384x_PDR_NIC_SERIAL ((UINT16)0x0003)
00733 #define HFA384x_PDR_MKK_MEASUREMENTS ((UINT16)0x0004)
00734 #define HFA384x_PDR_NIC_RAMSIZE ((UINT16)0x0005)
00735 #define HFA384x_PDR_MFISUPRANGE ((UINT16)0x0006)
00736 #define HFA384x_PDR_CFISUPRANGE ((UINT16)0x0007)
00737 #define HFA384x_PDR_NICID ((UINT16)0x0008)
00738
00739
00740
00741
00742
00743 #define HFA384x_PDR_MAC_ADDRESS ((UINT16)0x0101)
00744
00745 #define HFA384x_PDR_REGDOMAIN ((UINT16)0x0103)
00746 #define HFA384x_PDR_ALLOWED_CHANNEL ((UINT16)0x0104)
00747 #define HFA384x_PDR_DEFAULT_CHANNEL ((UINT16)0x0105)
00748
00749 #define HFA384x_PDR_TEMPTYPE ((UINT16)0x0107)
00750
00751
00752
00753
00754 #define HFA384x_PDR_IFR_SETTING ((UINT16)0x0200)
00755 #define HFA384x_PDR_RFR_SETTING ((UINT16)0x0201)
00756 #define HFA384x_PDR_HFA3861_BASELINE ((UINT16)0x0202)
00757 #define HFA384x_PDR_HFA3861_SHADOW ((UINT16)0x0203)
00758 #define HFA384x_PDR_HFA3861_IFRF ((UINT16)0x0204)
00759 #define HFA384x_PDR_HFA3861_CHCALSP ((UINT16)0x0300)
00760 #define HFA384x_PDR_HFA3861_CHCALI ((UINT16)0x0301)
00761 #define HFA384x_PDR_MAX_TX_POWER ((UINT16)0x0302)
00762 #define HFA384x_PDR_MASTER_CHAN_LIST ((UINT16)0x0303)
00763 #define HFA384x_PDR_3842_NIC_CONFIG ((UINT16)0x0400)
00764 #define HFA384x_PDR_USB_ID ((UINT16)0x0401)
00765 #define HFA384x_PDR_PCI_ID ((UINT16)0x0402)
00766 #define HFA384x_PDR_PCI_IFCONF ((UINT16)0x0403)
00767 #define HFA384x_PDR_PCI_PMCONF ((UINT16)0x0404)
00768 #define HFA384x_PDR_RFENRGY ((UINT16)0x0406)
00769 #define HFA384x_PDR_USB_POWER_TYPE ((UINT16)0x0407)
00770
00771 #define HFA384x_PDR_USB_MAX_POWER ((UINT16)0x0409)
00772 #define HFA384x_PDR_USB_MANUFACTURER ((UINT16)0x0410)
00773 #define HFA384x_PDR_USB_PRODUCT ((UINT16)0x0411)
00774 #define HFA384x_PDR_ANT_DIVERSITY ((UINT16)0x0412)
00775 #define HFA384x_PDR_HFO_DELAY ((UINT16)0x0413)
00776 #define HFA384x_PDR_SCALE_THRESH ((UINT16)0x0414)
00777
00778 #define HFA384x_PDR_HFA3861_MANF_TESTSP ((UINT16)0x0900)
00779 #define HFA384x_PDR_HFA3861_MANF_TESTI ((UINT16)0x0901)
00780 #define HFA384x_PDR_END_OF_PDA ((UINT16)0x0000)
00781
00782
00783
00784
00785
00786
00787
00788 #define HFA384x_CMD HFA384x_CMD_OFF
00789 #define HFA384x_PARAM0 HFA384x_PARAM0_OFF
00790 #define HFA384x_PARAM1 HFA384x_PARAM1_OFF
00791 #define HFA384x_PARAM2 HFA384x_PARAM2_OFF
00792 #define HFA384x_STATUS HFA384x_STATUS_OFF
00793 #define HFA384x_RESP0 HFA384x_RESP0_OFF
00794 #define HFA384x_RESP1 HFA384x_RESP1_OFF
00795 #define HFA384x_RESP2 HFA384x_RESP2_OFF
00796 #define HFA384x_INFOFID HFA384x_INFOFID_OFF
00797 #define HFA384x_RXFID HFA384x_RXFID_OFF
00798 #define HFA384x_ALLOCFID HFA384x_ALLOCFID_OFF
00799 #define HFA384x_TXCOMPLFID HFA384x_TXCOMPLFID_OFF
00800 #define HFA384x_SELECT0 HFA384x_SELECT0_OFF
00801 #define HFA384x_OFFSET0 HFA384x_OFFSET0_OFF
00802 #define HFA384x_DATA0 HFA384x_DATA0_OFF
00803 #define HFA384x_SELECT1 HFA384x_SELECT1_OFF
00804 #define HFA384x_OFFSET1 HFA384x_OFFSET1_OFF
00805 #define HFA384x_DATA1 HFA384x_DATA1_OFF
00806 #define HFA384x_EVSTAT HFA384x_EVSTAT_OFF
00807 #define HFA384x_INTEN HFA384x_INTEN_OFF
00808 #define HFA384x_EVACK HFA384x_EVACK_OFF
00809 #define HFA384x_CONTROL HFA384x_CONTROL_OFF
00810 #define HFA384x_SWSUPPORT0 HFA384x_SWSUPPORT0_OFF
00811 #define HFA384x_SWSUPPORT1 HFA384x_SWSUPPORT1_OFF
00812 #define HFA384x_SWSUPPORT2 HFA384x_SWSUPPORT2_OFF
00813 #define HFA384x_AUXPAGE HFA384x_AUXPAGE_OFF
00814 #define HFA384x_AUXOFFSET HFA384x_AUXOFFSET_OFF
00815 #define HFA384x_AUXDATA HFA384x_AUXDATA_OFF
00816 #define HFA384x_PCICOR HFA384x_PCICOR_OFF
00817 #define HFA384x_PCIHCR HFA384x_PCIHCR_OFF
00818
00819
00820
00821
00822 #define HFA384x_CMD_ISBUSY(value) ((UINT16)(((UINT16)value) & HFA384x_CMD_BUSY))
00823 #define HFA384x_CMD_AINFO_GET(value) ((UINT16)(((UINT16)(value) & HFA384x_CMD_AINFO) >> 8))
00824 #define HFA384x_CMD_AINFO_SET(value) ((UINT16)((UINT16)(value) << 8))
00825 #define HFA384x_CMD_MACPORT_GET(value) ((UINT16)(HFA384x_CMD_AINFO_GET((UINT16)(value) & HFA384x_CMD_MACPORT)))
00826 #define HFA384x_CMD_MACPORT_SET(value) ((UINT16)HFA384x_CMD_AINFO_SET(value))
00827 #define HFA384x_CMD_ISRECL(value) ((UINT16)(HFA384x_CMD_AINFO_GET((UINT16)(value) & HFA384x_CMD_RECL)))
00828 #define HFA384x_CMD_RECL_SET(value) ((UINT16)HFA384x_CMD_AINFO_SET(value))
00829 #define HFA384x_CMD_QOS_GET(value) ((UINT16((((UINT16)(value))&((UINT16)0x3000)) >> 12))
00830 #define HFA384x_CMD_QOS_SET(value) ((UINT16)((((UINT16)(value)) << 12) & 0x3000))
00831 #define HFA384x_CMD_ISWRITE(value) ((UINT16)(HFA384x_CMD_AINFO_GET((UINT16)(value) & HFA384x_CMD_WRITE)))
00832 #define HFA384x_CMD_WRITE_SET(value) ((UINT16)HFA384x_CMD_AINFO_SET((UINT16)value))
00833 #define HFA384x_CMD_PROGMODE_GET(value) ((UINT16)(HFA384x_CMD_AINFO_GET((UINT16)(value) & HFA384x_CMD_PROGMODE)))
00834 #define HFA384x_CMD_PROGMODE_SET(value) ((UINT16)HFA384x_CMD_AINFO_SET((UINT16)value))
00835 #define HFA384x_CMD_CMDCODE_GET(value) ((UINT16)(((UINT16)(value)) & HFA384x_CMD_CMDCODE))
00836 #define HFA384x_CMD_CMDCODE_SET(value) ((UINT16)(value))
00837
00838 #define HFA384x_STATUS_RESULT_GET(value) ((UINT16)((((UINT16)(value)) & HFA384x_STATUS_RESULT) >> 8))
00839 #define HFA384x_STATUS_RESULT_SET(value) (((UINT16)(value)) << 8)
00840 #define HFA384x_STATUS_CMDCODE_GET(value) (((UINT16)(value)) & HFA384x_STATUS_CMDCODE)
00841 #define HFA384x_STATUS_CMDCODE_SET(value) ((UINT16)(value))
00842
00843 #define HFA384x_OFFSET_ISBUSY(value) ((UINT16)(((UINT16)(value)) & HFA384x_OFFSET_BUSY))
00844 #define HFA384x_OFFSET_ISERR(value) ((UINT16)(((UINT16)(value)) & HFA384x_OFFSET_ERR))
00845 #define HFA384x_OFFSET_DATAOFF_GET(value) ((UINT16)(((UINT16)(value)) & HFA384x_OFFSET_DATAOFF))
00846 #define HFA384x_OFFSET_DATAOFF_SET(value) ((UINT16)(value))
00847
00848 #define HFA384x_EVSTAT_ISTICK(value) ((UINT16)(((UINT16)(value)) & HFA384x_EVSTAT_TICK))
00849 #define HFA384x_EVSTAT_ISWTERR(value) ((UINT16)(((UINT16)(value)) & HFA384x_EVSTAT_WTERR))
00850 #define HFA384x_EVSTAT_ISINFDROP(value) ((UINT16)(((UINT16)(value)) & HFA384x_EVSTAT_INFDROP))
00851 #define HFA384x_EVSTAT_ISINFO(value) ((UINT16)(((UINT16)(value)) & HFA384x_EVSTAT_INFO))
00852 #define HFA384x_EVSTAT_ISDTIM(value) ((UINT16)(((UINT16)(value)) & HFA384x_EVSTAT_DTIM))
00853 #define HFA384x_EVSTAT_ISCMD(value) ((UINT16)(((UINT16)(value)) & HFA384x_EVSTAT_CMD))
00854 #define HFA384x_EVSTAT_ISALLOC(value) ((UINT16)(((UINT16)(value)) & HFA384x_EVSTAT_ALLOC))
00855 #define HFA384x_EVSTAT_ISTXEXC(value) ((UINT16)(((UINT16)(value)) & HFA384x_EVSTAT_TXEXC))
00856 #define HFA384x_EVSTAT_ISTX(value) ((UINT16)(((UINT16)(value)) & HFA384x_EVSTAT_TX))
00857 #define HFA384x_EVSTAT_ISRX(value) ((UINT16)(((UINT16)(value)) & HFA384x_EVSTAT_RX))
00858
00859 #define HFA384x_EVSTAT_ISBAP_OP(value) ((UINT16)(((UINT16)(value)) & HFA384x_INT_BAP_OP))
00860
00861 #define HFA384x_INTEN_ISTICK(value) ((UINT16)(((UINT16)(value)) & HFA384x_INTEN_TICK))
00862 #define HFA384x_INTEN_TICK_SET(value) ((UINT16)(((UINT16)(value)) << 15))
00863 #define HFA384x_INTEN_ISWTERR(value) ((UINT16)(((UINT16)(value)) & HFA384x_INTEN_WTERR))
00864 #define HFA384x_INTEN_WTERR_SET(value) ((UINT16)(((UINT16)(value)) << 14))
00865 #define HFA384x_INTEN_ISINFDROP(value) ((UINT16)(((UINT16)(value)) & HFA384x_INTEN_INFDROP))
00866 #define HFA384x_INTEN_INFDROP_SET(value) ((UINT16)(((UINT16)(value)) << 13))
00867 #define HFA384x_INTEN_ISINFO(value) ((UINT16)(((UINT16)(value)) & HFA384x_INTEN_INFO))
00868 #define HFA384x_INTEN_INFO_SET(value) ((UINT16)(((UINT16)(value)) << 7))
00869 #define HFA384x_INTEN_ISDTIM(value) ((UINT16)(((UINT16)(value)) & HFA384x_INTEN_DTIM))
00870 #define HFA384x_INTEN_DTIM_SET(value) ((UINT16)(((UINT16)(value)) << 5))
00871 #define HFA384x_INTEN_ISCMD(value) ((UINT16)(((UINT16)(value)) & HFA384x_INTEN_CMD))
00872 #define HFA384x_INTEN_CMD_SET(value) ((UINT16)(((UINT16)(value)) << 4))
00873 #define HFA384x_INTEN_ISALLOC(value) ((UINT16)(((UINT16)(value)) & HFA384x_INTEN_ALLOC))
00874 #define HFA384x_INTEN_ALLOC_SET(value) ((UINT16)(((UINT16)(value)) << 3))
00875 #define HFA384x_INTEN_ISTXEXC(value) ((UINT16)(((UINT16)(value)) & HFA384x_INTEN_TXEXC))
00876 #define HFA384x_INTEN_TXEXC_SET(value) ((UINT16)(((UINT16)(value)) << 2))
00877 #define HFA384x_INTEN_ISTX(value) ((UINT16)(((UINT16)(value)) & HFA384x_INTEN_TX))
00878 #define HFA384x_INTEN_TX_SET(value) ((UINT16)(((UINT16)(value)) << 1))
00879 #define HFA384x_INTEN_ISRX(value) ((UINT16)(((UINT16)(value)) & HFA384x_INTEN_RX))
00880 #define HFA384x_INTEN_RX_SET(value) ((UINT16)(((UINT16)(value)) << 0))
00881
00882 #define HFA384x_EVACK_ISTICK(value) ((UINT16)(((UINT16)(value)) & HFA384x_EVACK_TICK))
00883 #define HFA384x_EVACK_TICK_SET(value) ((UINT16)(((UINT16)(value)) << 15))
00884 #define HFA384x_EVACK_ISWTERR(value) ((UINT16)(((UINT16)(value)) & HFA384x_EVACK_WTERR))
00885 #define HFA384x_EVACK_WTERR_SET(value) ((UINT16)(((UINT16)(value)) << 14))
00886 #define HFA384x_EVACK_ISINFDROP(value) ((UINT16)(((UINT16)(value)) & HFA384x_EVACK_INFDROP))
00887 #define HFA384x_EVACK_INFDROP_SET(value) ((UINT16)(((UINT16)(value)) << 13))
00888 #define HFA384x_EVACK_ISINFO(value) ((UINT16)(((UINT16)(value)) & HFA384x_EVACK_INFO))
00889 #define HFA384x_EVACK_INFO_SET(value) ((UINT16)(((UINT16)(value)) << 7))
00890 #define HFA384x_EVACK_ISDTIM(value) ((UINT16)(((UINT16)(value)) & HFA384x_EVACK_DTIM))
00891 #define HFA384x_EVACK_DTIM_SET(value) ((UINT16)(((UINT16)(value)) << 5))
00892 #define HFA384x_EVACK_ISCMD(value) ((UINT16)(((UINT16)(value)) & HFA384x_EVACK_CMD))
00893 #define HFA384x_EVACK_CMD_SET(value) ((UINT16)(((UINT16)(value)) << 4))
00894 #define HFA384x_EVACK_ISALLOC(value) ((UINT16)(((UINT16)(value)) & HFA384x_EVACK_ALLOC))
00895 #define HFA384x_EVACK_ALLOC_SET(value) ((UINT16)(((UINT16)(value)) << 3))
00896 #define HFA384x_EVACK_ISTXEXC(value) ((UINT16)(((UINT16)(value)) & HFA384x_EVACK_TXEXC))
00897 #define HFA384x_EVACK_TXEXC_SET(value) ((UINT16)(((UINT16)(value)) << 2))
00898 #define HFA384x_EVACK_ISTX(value) ((UINT16)(((UINT16)(value)) & HFA384x_EVACK_TX))
00899 #define HFA384x_EVACK_TX_SET(value) ((UINT16)(((UINT16)(value)) << 1))
00900 #define HFA384x_EVACK_ISRX(value) ((UINT16)(((UINT16)(value)) & HFA384x_EVACK_RX))
00901 #define HFA384x_EVACK_RX_SET(value) ((UINT16)(((UINT16)(value)) << 0))
00902
00903 #define HFA384x_CONTROL_AUXEN_SET(value) ((UINT16)(((UINT16)(value)) << 14))
00904 #define HFA384x_CONTROL_AUXEN_GET(value) ((UINT16)(((UINT16)(value)) >> 14))
00905
00906
00907 #ifdef __KERNEL__
00908 #define hfa384x2host_16(n) (__le16_to_cpu((UINT16)(n)))
00909 #define hfa384x2host_32(n) (__le32_to_cpu((UINT32)(n)))
00910 #define host2hfa384x_16(n) (__cpu_to_le16((UINT16)(n)))
00911 #define host2hfa384x_32(n) (__cpu_to_le32((UINT32)(n)))
00912 #endif
00913
00914
00915 #define HFA384x_STATE_PREINIT 0
00916 #define HFA384x_STATE_INIT 1
00917 #define HFA384x_STATE_RUNNING 2
00918
00919
00920
00921
00922 #define HFA384x_HOSTAUTHASSOC_HOSTAUTH BIT0
00923 #define HFA384x_HOSTAUTHASSOC_HOSTASSOC BIT1
00924
00925 #define HFA384x_WHAHANDLING_DISABLED 0
00926 #define HFA384x_WHAHANDLING_PASSTHROUGH BIT1
00927
00928
00929
00930 typedef struct hfa384x_bytestr
00931 {
00932 UINT16 len;
00933 UINT8 data[0];
00934 } __WLAN_ATTRIB_PACK__ hfa384x_bytestr_t;
00935
00936 typedef struct hfa384x_bytestr32
00937 {
00938 UINT16 len;
00939 UINT8 data[32];
00940 } __WLAN_ATTRIB_PACK__ hfa384x_bytestr32_t;
00941
00942
00943
00944
00945
00946
00947
00948
00949 typedef struct hfa384x_record
00950 {
00951 UINT16 reclen;
00952 UINT16 rid;
00953 } __WLAN_ATTRIB_PACK__ hfa384x_rec_t;
00954
00955 typedef struct hfa384x_record16
00956 {
00957 UINT16 reclen;
00958 UINT16 rid;
00959 UINT16 val;
00960 } __WLAN_ATTRIB_PACK__ hfa384x_rec16_t;
00961
00962 typedef struct hfa384x_record32
00963 {
00964 UINT16 reclen;
00965 UINT16 rid;
00966 UINT32 val;
00967 } __WLAN_ATTRIB_PACK__ hfa384x_rec32;
00968
00969
00970 typedef struct hfa384x_compident
00971 {
00972 UINT16 id;
00973 UINT16 variant;
00974 UINT16 major;
00975 UINT16 minor;
00976 } __WLAN_ATTRIB_PACK__ hfa384x_compident_t;
00977
00978 typedef struct hfa384x_caplevel
00979 {
00980 UINT16 role;
00981 UINT16 id;
00982 UINT16 variant;
00983 UINT16 bottom;
00984 UINT16 top;
00985 } __WLAN_ATTRIB_PACK__ hfa384x_caplevel_t;
00986
00987
00988 typedef struct hfa384x_cnfPortType
00989 {
00990 UINT16 cnfPortType;
00991 } __WLAN_ATTRIB_PACK__ hfa384x_cnfPortType_t;
00992
00993
00994 typedef struct hfa384x_cnfOwnMACAddress
00995 {
00996 UINT8 cnfOwnMACAddress[6];
00997 } __WLAN_ATTRIB_PACK__ hfa384x_cnfOwnMACAddress_t;
00998
00999
01000 typedef struct hfa384x_cnfDesiredSSID
01001 {
01002 UINT8 cnfDesiredSSID[34];
01003 } __WLAN_ATTRIB_PACK__ hfa384x_cnfDesiredSSID_t;
01004
01005
01006 typedef struct hfa384x_cnfOwnChannel
01007 {
01008 UINT16 cnfOwnChannel;
01009 } __WLAN_ATTRIB_PACK__ hfa384x_cnfOwnChannel_t;
01010
01011
01012 typedef struct hfa384x_cnfOwnSSID
01013 {
01014 UINT8 cnfOwnSSID[34];
01015 } __WLAN_ATTRIB_PACK__ hfa384x_cnfOwnSSID_t;
01016
01017
01018 typedef struct hfa384x_cnfOwnATIMWindow
01019 {
01020 UINT16 cnfOwnATIMWindow;
01021 } __WLAN_ATTRIB_PACK__ hfa384x_cnfOwnATIMWindow_t;
01022
01023
01024 typedef struct hfa384x_cnfSystemScale
01025 {
01026 UINT16 cnfSystemScale;
01027 } __WLAN_ATTRIB_PACK__ hfa384x_cnfSystemScale_t;
01028
01029
01030 typedef struct hfa384x_cnfMaxDataLength
01031 {
01032 UINT16 cnfMaxDataLength;
01033 } __WLAN_ATTRIB_PACK__ hfa384x_cnfMaxDataLength_t;
01034
01035
01036 typedef struct hfa384x_cnfWDSAddress
01037 {
01038 UINT8 cnfWDSAddress[6];
01039 } __WLAN_ATTRIB_PACK__ hfa384x_cnfWDSAddress_t;
01040
01041
01042 typedef struct hfa384x_cnfPMEnabled
01043 {
01044 UINT16 cnfPMEnabled;
01045 } __WLAN_ATTRIB_PACK__ hfa384x_cnfPMEnabled_t;
01046
01047
01048 typedef struct hfa384x_cnfPMEPS
01049 {
01050 UINT16 cnfPMEPS;
01051 } __WLAN_ATTRIB_PACK__ hfa384x_cnfPMEPS_t;
01052
01053
01054 typedef struct hfa384x_cnfMulticastReceive
01055 {
01056 UINT16 cnfMulticastReceive;
01057 } __WLAN_ATTRIB_PACK__ hfa384x_cnfMulticastReceive_t;
01058
01059
01060 #define HFA384x_CNFAUTHENTICATION_OPENSYSTEM 0x0001
01061 #define HFA384x_CNFAUTHENTICATION_SHAREDKEY 0x0002
01062 #define HFA384x_CNFAUTHENTICATION_LEAP 0x0004
01063
01064
01065 typedef struct hfa384x_cnfMaxSleepDuration
01066 {
01067 UINT16 cnfMaxSleepDuration;
01068 } __WLAN_ATTRIB_PACK__ hfa384x_cnfMaxSleepDuration_t;
01069
01070
01071 typedef struct hfa384x_cnfPMHoldoverDuration
01072 {
01073 UINT16 cnfPMHoldoverDuration;
01074 } __WLAN_ATTRIB_PACK__ hfa384x_cnfPMHoldoverDuration_t;
01075
01076
01077 typedef struct hfa384x_cnfOwnName
01078 {
01079 UINT8 cnfOwnName[34];
01080 } __WLAN_ATTRIB_PACK__ hfa384x_cnfOwnName_t;
01081
01082
01083 typedef struct hfa384x_cnfOwnDTIMPeriod
01084 {
01085 UINT16 cnfOwnDTIMPeriod;
01086 } __WLAN_ATTRIB_PACK__ hfa384x_cnfOwnDTIMPeriod_t;
01087
01088
01089 typedef struct hfa384x_cnfWDSAddressN
01090 {
01091 UINT8 cnfWDSAddress[6];
01092 } __WLAN_ATTRIB_PACK__ hfa384x_cnfWDSAddressN_t;
01093
01094
01095 typedef struct hfa384x_cnfMulticastPMBuffering
01096 {
01097 UINT16 cnfMulticastPMBuffering;
01098 } __WLAN_ATTRIB_PACK__ hfa384x_cnfMulticastPMBuffering_t;
01099
01100
01101
01102
01103
01104
01105
01106 typedef struct hfa384x_GroupAddresses
01107 {
01108 UINT8 MACAddress[16][6];
01109 } __WLAN_ATTRIB_PACK__ hfa384x_GroupAddresses_t;
01110
01111
01112 typedef struct hfa384x_CreateIBSS
01113 {
01114 UINT16 CreateIBSS;
01115 } __WLAN_ATTRIB_PACK__ hfa384x_CreateIBSS_t;
01116
01117 #define HFA384x_CREATEIBSS_JOINCREATEIBSS 0
01118 #define HFA384x_CREATEIBSS_JOINESS_JOINCREATEIBSS 1
01119 #define HFA384x_CREATEIBSS_JOINIBSS 2
01120 #define HFA384x_CREATEIBSS_JOINESS_JOINIBSS 3
01121
01122
01123 typedef struct hfa384x_FragmentationThreshold
01124 {
01125 UINT16 FragmentationThreshold;
01126 } __WLAN_ATTRIB_PACK__ hfa384x_FragmentationThreshold_t;
01127
01128
01129 typedef struct hfa384x_RTSThreshold
01130 {
01131 UINT16 RTSThreshold;
01132 } __WLAN_ATTRIB_PACK__ hfa384x_RTSThreshold_t;
01133
01134
01135 typedef struct hfa384x_TxRateControl
01136 {
01137 UINT16 TxRateControl;
01138 } __WLAN_ATTRIB_PACK__ hfa384x_TxRateControl_t;
01139
01140
01141 typedef struct hfa384x_PromiscuousMode
01142 {
01143 UINT16 PromiscuousMode;
01144 } __WLAN_ATTRIB_PACK__ hfa384x_PromiscuousMode_t;
01145
01146
01147 typedef struct hfa384x_ScanRequest_data
01148 {
01149 UINT16 channelList;
01150 UINT16 txRate;
01151 } __WLAN_ATTRIB_PACK__ hfa384x_ScanRequest_data_t;
01152
01153
01154 typedef struct hfa384x_HostScanRequest_data
01155 {
01156 UINT16 channelList;
01157 UINT16 txRate;
01158 hfa384x_bytestr32_t ssid;
01159 } __WLAN_ATTRIB_PACK__ hfa384x_HostScanRequest_data_t;
01160
01161
01162 typedef struct hfa384x_JoinRequest_data
01163 {
01164 UINT8 bssid[WLAN_BSSID_LEN];
01165 UINT16 channel;
01166 } __WLAN_ATTRIB_PACK__ hfa384x_JoinRequest_data_t;
01167
01168
01169 typedef struct hfa384x_authenticateStation_data
01170 {
01171 UINT8 address[WLAN_ADDR_LEN];
01172 UINT16 status;
01173 UINT16 algorithm;
01174 } __WLAN_ATTRIB_PACK__ hfa384x_authenticateStation_data_t;
01175
01176
01177 typedef struct hfa384x_associateStation_data
01178 {
01179 UINT8 address[WLAN_ADDR_LEN];
01180 UINT16 status;
01181 UINT16 type;
01182 } __WLAN_ATTRIB_PACK__ hfa384x_associateStation_data_t;
01183
01184
01185 typedef struct hfa384x_ChannelInfoRequest_data
01186 {
01187 UINT16 channelList;
01188 UINT16 channelDwellTime;
01189 } __WLAN_ATTRIB_PACK__ hfa384x_ChannelInfoRequest_data_t;
01190
01191
01192 typedef struct hfa384x_WEPKeyMapping
01193 {
01194 UINT8 address[WLAN_ADDR_LEN];
01195 UINT16 key_index;
01196 UINT8 key[16];
01197 UINT8 mic_transmit_key[4];
01198 UINT8 mic_receive_key[4];
01199 } __WLAN_ATTRIB_PACK__ hfa384x_WEPKeyMapping_t;
01200
01201
01202 typedef struct hfa384x_WPAData
01203 {
01204 UINT16 datalen;
01205 UINT8 data[0];
01206 } __WLAN_ATTRIB_PACK__ hfa384x_WPAData_t;
01207
01208
01209
01210
01211
01212
01213 typedef struct hfa384x_TickTime
01214 {
01215 UINT16 TickTime;
01216 } __WLAN_ATTRIB_PACK__ hfa384x_TickTime_t;
01217
01218
01219
01220
01221
01222
01223 typedef struct hfa384x_MaxLoadTime
01224 {
01225 UINT16 MaxLoadTime;
01226 } __WLAN_ATTRIB_PACK__ hfa384x_MaxLoadTime_t;
01227
01228
01229
01230 typedef struct hfa384x_downloadbuffer
01231 {
01232 UINT16 page;
01233 UINT16 offset;
01234 UINT16 len;
01235 } __WLAN_ATTRIB_PACK__ hfa384x_downloadbuffer_t;
01236
01237
01238 typedef struct hfa384x_PRIIdentity
01239 {
01240 UINT16 PRICompID;
01241 UINT16 PRIVariant;
01242 UINT16 PRIMajorVersion;
01243 UINT16 PRIMinorVersion;
01244 } __WLAN_ATTRIB_PACK__ hfa384x_PRIIdentity_t;
01245
01246
01247 typedef struct hfa384x_PRISupRange
01248 {
01249 UINT16 PRIRole;
01250 UINT16 PRIID;
01251 UINT16 PRIVariant;
01252 UINT16 PRIBottom;
01253 UINT16 PRITop;
01254 } __WLAN_ATTRIB_PACK__ hfa384x_PRISupRange_t;
01255
01256
01257 typedef struct hfa384x_CFIActRanges
01258 {
01259 UINT16 CFIRole;
01260 UINT16 CFIID;
01261 UINT16 CFIVariant;
01262 UINT16 CFIBottom;
01263 UINT16 CFITop;
01264 } __WLAN_ATTRIB_PACK__ hfa384x_CFIActRanges_t;
01265
01266
01267 typedef struct hfa384x_NICSerialNumber
01268 {
01269 UINT8 NICSerialNumber[12];
01270 } __WLAN_ATTRIB_PACK__ hfa384x_NICSerialNumber_t;
01271
01272
01273 typedef struct hfa384x_NICIdentity
01274 {
01275 UINT16 NICCompID;
01276 UINT16 NICVariant;
01277 UINT16 NICMajorVersion;
01278 UINT16 NICMinorVersion;
01279 } __WLAN_ATTRIB_PACK__ hfa384x_NICIdentity_t;
01280
01281
01282 typedef struct hfa384x_MFISupRange
01283 {
01284 UINT16 MFIRole;
01285 UINT16 MFIID;
01286 UINT16 MFIVariant;
01287 UINT16 MFIBottom;
01288 UINT16 MFITop;
01289 } __WLAN_ATTRIB_PACK__ hfa384x_MFISupRange_t;
01290
01291
01292 typedef struct hfa384x_CFISupRange
01293 {
01294 UINT16 CFIRole;
01295 UINT16 CFIID;
01296 UINT16 CFIVariant;
01297 UINT16 CFIBottom;
01298 UINT16 CFITop;
01299 } __WLAN_ATTRIB_PACK__ hfa384x_CFISupRange_t;
01300
01301
01302 typedef struct hfa384x_BuildSeq {
01303 UINT16 primary;
01304 UINT16 secondary;
01305 } __WLAN_ATTRIB_PACK__ hfa384x_BuildSeq_t;
01306
01307
01308 #define HFA384x_FWID_LEN 14
01309 typedef struct hfa384x_FWID {
01310 UINT8 primary[HFA384x_FWID_LEN];
01311 UINT8 secondary[HFA384x_FWID_LEN];
01312 } __WLAN_ATTRIB_PACK__ hfa384x_FWID_t;
01313
01314
01315 typedef struct hfa384x_ChannelList
01316 {
01317 UINT16 ChannelList;
01318 } __WLAN_ATTRIB_PACK__ hfa384x_ChannelList_t;
01319
01320
01321 typedef struct hfa384x_RegulatoryDomains
01322 {
01323 UINT8 RegulatoryDomains[12];
01324 } __WLAN_ATTRIB_PACK__ hfa384x_RegulatoryDomains_t;
01325
01326
01327 typedef struct hfa384x_TempType
01328 {
01329 UINT16 TempType;
01330 } __WLAN_ATTRIB_PACK__ hfa384x_TempType_t;
01331
01332
01333 typedef struct hfa384x_CIS
01334 {
01335 UINT8 CIS[480];
01336 } __WLAN_ATTRIB_PACK__ hfa384x_CIS_t;
01337
01338
01339 typedef struct hfa384x_STAIdentity
01340 {
01341 UINT16 STACompID;
01342 UINT16 STAVariant;
01343 UINT16 STAMajorVersion;
01344 UINT16 STAMinorVersion;
01345 } __WLAN_ATTRIB_PACK__ hfa384x_STAIdentity_t;
01346
01347
01348 typedef struct hfa384x_STASupRange
01349 {
01350 UINT16 STARole;
01351 UINT16 STAID;
01352 UINT16 STAVariant;
01353 UINT16 STABottom;
01354 UINT16 STATop;
01355 } __WLAN_ATTRIB_PACK__ hfa384x_STASupRange_t;
01356
01357
01358 typedef struct hfa384x_MFIActRanges
01359 {
01360 UINT16 MFIRole;
01361 UINT16 MFIID;
01362 UINT16 MFIVariant;
01363 UINT16 MFIBottom;
01364 UINT16 MFITop;
01365 } __WLAN_ATTRIB_PACK__ hfa384x_MFIActRanges_t;
01366
01367
01368
01369
01370
01371
01372 typedef struct hfa384x_PortStatus
01373 {
01374 UINT16 PortStatus;
01375 } __WLAN_ATTRIB_PACK__ hfa384x_PortStatus_t;
01376
01377 #define HFA384x_PSTATUS_DISABLED ((UINT16)1)
01378 #define HFA384x_PSTATUS_SEARCHING ((UINT16)2)
01379 #define HFA384x_PSTATUS_CONN_IBSS ((UINT16)3)
01380 #define HFA384x_PSTATUS_CONN_ESS ((UINT16)4)
01381 #define HFA384x_PSTATUS_OUTOFRANGE ((UINT16)5)
01382 #define HFA384x_PSTATUS_CONN_WDS ((UINT16)6)
01383
01384
01385 typedef struct hfa384x_CurrentSSID
01386 {
01387 UINT8 CurrentSSID[34];
01388 } __WLAN_ATTRIB_PACK__ hfa384x_CurrentSSID_t;
01389
01390
01391 typedef struct hfa384x_CurrentBSSID
01392 {
01393 UINT8 CurrentBSSID[6];
01394 } __WLAN_ATTRIB_PACK__ hfa384x_CurrentBSSID_t;
01395
01396
01397 typedef struct hfa384x_commsquality
01398 {
01399 UINT16 CQ_currBSS;
01400 UINT16 ASL_currBSS;
01401 UINT16 ANL_currFC;
01402 } __WLAN_ATTRIB_PACK__ hfa384x_commsquality_t;
01403
01404
01405 typedef struct hfa384x_dbmcommsquality
01406 {
01407 UINT16 CQdbm_currBSS;
01408 UINT16 ASLdbm_currBSS;
01409 UINT16 ANLdbm_currFC;
01410 } __WLAN_ATTRIB_PACK__ hfa384x_dbmcommsquality_t;
01411
01412
01413 typedef struct hfa384x_CurrentTxRate
01414 {
01415 UINT16 CurrentTxRate;
01416 } __WLAN_ATTRIB_PACK__ hfa384x_CurrentTxRate_t;
01417
01418
01419 typedef struct hfa384x_CurrentBeaconInterval
01420 {
01421 UINT16 CurrentBeaconInterval;
01422 } __WLAN_ATTRIB_PACK__ hfa384x_CurrentBeaconInterval_t;
01423
01424
01425 typedef struct hfa384x_CurrentScaleThresholds
01426 {
01427 UINT16 EnergyDetectThreshold;
01428 UINT16 CarrierDetectThreshold;
01429 UINT16 DeferDetectThreshold;
01430 UINT16 CellSearchThreshold;
01431 UINT16 DeadSpotThreshold;
01432 } __WLAN_ATTRIB_PACK__ hfa384x_CurrentScaleThresholds_t;
01433
01434
01435 typedef struct hfa384x_ProtocolRspTime
01436 {
01437 UINT16 ProtocolRspTime;
01438 } __WLAN_ATTRIB_PACK__ hfa384x_ProtocolRspTime_t;
01439
01440
01441 typedef struct hfa384x_ShortRetryLimit
01442 {
01443 UINT16 ShortRetryLimit;
01444 } __WLAN_ATTRIB_PACK__ hfa384x_ShortRetryLimit_t;
01445
01446
01447 typedef struct hfa384x_LongRetryLimit
01448 {
01449 UINT16 LongRetryLimit;
01450 } __WLAN_ATTRIB_PACK__ hfa384x_LongRetryLimit_t;
01451
01452
01453 typedef struct hfa384x_MaxTransmitLifetime
01454 {
01455 UINT16 MaxTransmitLifetime;
01456 } __WLAN_ATTRIB_PACK__ hfa384x_MaxTransmitLifetime_t;
01457
01458
01459 typedef struct hfa384x_MaxReceiveLifetime
01460 {
01461 UINT16 MaxReceiveLifetime;
01462 } __WLAN_ATTRIB_PACK__ hfa384x_MaxReceiveLifetime_t;
01463
01464
01465 typedef struct hfa384x_CFPollable
01466 {
01467 UINT16 CFPollable;
01468 } __WLAN_ATTRIB_PACK__ hfa384x_CFPollable_t;
01469
01470
01471 typedef struct hfa384x_AuthenticationAlgorithms
01472 {
01473 UINT16 AuthenticationType;
01474 UINT16 TypeEnabled;
01475 } __WLAN_ATTRIB_PACK__ hfa384x_AuthenticationAlgorithms_t;
01476
01477
01478
01479 typedef struct hfa384x_AuthenticationAlgorithms_data
01480 {
01481 UINT16 AuthenticationType;
01482 UINT16 TypeEnabled;
01483 } __WLAN_ATTRIB_PACK__ hfa384x_AuthenticationAlgorithms_data_t;
01484
01485
01486 typedef struct hfa384x_PrivacyOptionImplemented
01487 {
01488 UINT16 PrivacyOptionImplemented;
01489 } __WLAN_ATTRIB_PACK__ hfa384x_PrivacyOptionImplemented_t;
01490
01491
01492 typedef struct hfa384x_OwnMACAddress
01493 {
01494 UINT8 OwnMACAddress[6];
01495 } __WLAN_ATTRIB_PACK__ hfa384x_OwnMACAddress_t;
01496
01497
01498 typedef struct hfa384x_PCFInfo
01499 {
01500 UINT16 MediumOccupancyLimit;
01501 UINT16 CFPPeriod;
01502 UINT16 CFPMaxDuration;
01503 UINT16 CFPFlags;
01504 } __WLAN_ATTRIB_PACK__ hfa384x_PCFInfo_t;
01505
01506
01507 typedef struct hfa384x_PCFInfo_data
01508 {
01509 UINT16 MediumOccupancyLimit;
01510 UINT16 CFPPeriod;
01511 UINT16 CFPMaxDuration;
01512 UINT16 CFPFlags;
01513 } __WLAN_ATTRIB_PACK__ hfa384x_PCFInfo_data_t;
01514
01515
01516
01517
01518
01519
01520 typedef struct hfa384x_PHYType
01521 {
01522 UINT16 PHYType;
01523 } __WLAN_ATTRIB_PACK__ hfa384x_PHYType_t;
01524
01525
01526 typedef struct hfa384x_CurrentChannel
01527 {
01528 UINT16 CurrentChannel;
01529 } __WLAN_ATTRIB_PACK__ hfa384x_CurrentChannel_t;
01530
01531
01532 typedef struct hfa384x_CurrentPowerState
01533 {
01534 UINT16 CurrentPowerState;
01535 } __WLAN_ATTRIB_PACK__ hfa384x_CurrentPowerState_t;
01536
01537
01538 typedef struct hfa384x_CCAMode
01539 {
01540 UINT16 CCAMode;
01541 } __WLAN_ATTRIB_PACK__ hfa384x_CCAMode_t;
01542
01543
01544 typedef struct hfa384x_SupportedDataRates
01545 {
01546 UINT8 SupportedDataRates[10];
01547 } __WLAN_ATTRIB_PACK__ hfa384x_SupportedDataRates_t;
01548
01549
01550 typedef struct hfa384x_LFOStatus
01551 {
01552 UINT16 TestResults;
01553 UINT16 LFOResult;
01554 UINT16 VRHFOResult;
01555 } __WLAN_ATTRIB_PACK__ hfa384x_LFOStatus_t;
01556
01557 #define HFA384x_TESTRESULT_ALLPASSED BIT0
01558 #define HFA384x_TESTRESULT_LFO_FAIL BIT1
01559 #define HFA384x_TESTRESULT_VR_HF0_FAIL BIT2
01560 #define HFA384x_HOST_FIRM_COORDINATE BIT7
01561 #define HFA384x_TESTRESULT_COORDINATE BIT15
01562
01563
01564 typedef struct hfa384x_LEDControl
01565 {
01566 UINT16 searching_on;
01567 UINT16 searching_off;
01568 UINT16 assoc_on;
01569 UINT16 assoc_off;
01570 UINT16 activity;
01571 } __WLAN_ATTRIB_PACK__ hfa384x_LEDControl_t;
01572
01573
01574
01575
01576
01577
01578
01579
01580
01581 #define HFA384x_FD_STATUS_OFF ((UINT16)0x44)
01582 #define HFA384x_FD_TIME_OFF ((UINT16)0x46)
01583 #define HFA384x_FD_SWSUPPORT_OFF ((UINT16)0x4A)
01584 #define HFA384x_FD_SILENCE_OFF ((UINT16)0x4A)
01585 #define HFA384x_FD_SIGNAL_OFF ((UINT16)0x4B)
01586 #define HFA384x_FD_RATE_OFF ((UINT16)0x4C)
01587 #define HFA384x_FD_RXFLOW_OFF ((UINT16)0x4D)
01588 #define HFA384x_FD_RESERVED_OFF ((UINT16)0x4E)
01589 #define HFA384x_FD_TXCONTROL_OFF ((UINT16)0x50)
01590
01591
01592
01593 #define HFA384x_FD_FRAMECONTROL_OFF ((UINT16)0x52)
01594 #define HFA384x_FD_DURATIONID_OFF ((UINT16)0x54)
01595 #define HFA384x_FD_ADDRESS1_OFF ((UINT16)0x56)
01596 #define HFA384x_FD_ADDRESS2_OFF ((UINT16)0x5C)
01597 #define HFA384x_FD_ADDRESS3_OFF ((UINT16)0x62)
01598 #define HFA384x_FD_SEQCONTROL_OFF ((UINT16)0x68)
01599 #define HFA384x_FD_ADDRESS4_OFF ((UINT16)0x6A)
01600 #define HFA384x_FD_DATALEN_OFF ((UINT16)0x70)
01601
01602
01603
01604 #define HFA384x_FD_DESTADDRESS_OFF ((UINT16)0x72)
01605 #define HFA384x_FD_SRCADDRESS_OFF ((UINT16)0x78)
01606 #define HFA384x_FD_DATALENGTH_OFF ((UINT16)0x7E)
01607
01608
01609
01610
01611
01612
01613
01614 typedef struct hfa384x_tx_frame
01615 {
01616 UINT16 status;
01617 UINT16 reserved1;
01618 UINT16 reserved2;
01619 UINT32 sw_support;
01620 UINT8 tx_retrycount;
01621 UINT8 tx_rate;
01622 UINT16 tx_control;
01623
01624
01625
01626 UINT16 frame_control;
01627 UINT16 duration_id;
01628 UINT8 address1[6];
01629 UINT8 address2[6];
01630 UINT8 address3[6];
01631 UINT16 sequence_control;
01632 UINT8 address4[6];
01633 UINT16 data_len;
01634
01635
01636
01637 UINT8 dest_addr[6];
01638 UINT8 src_addr[6];
01639 UINT16 data_length;
01640 } __WLAN_ATTRIB_PACK__ hfa384x_tx_frame_t;
01641
01642
01643
01644
01645 #define HFA384x_TXSTATUS_ACKERR ((UINT16)BIT5)
01646 #define HFA384x_TXSTATUS_FORMERR ((UINT16)BIT3)
01647 #define HFA384x_TXSTATUS_DISCON ((UINT16)BIT2)
01648 #define HFA384x_TXSTATUS_AGEDERR ((UINT16)BIT1)
01649 #define HFA384x_TXSTATUS_RETRYERR ((UINT16)BIT0)
01650
01651 #define HFA384x_TX_CFPOLL ((UINT16)BIT12)
01652 #define HFA384x_TX_PRST ((UINT16)BIT11)
01653 #define HFA384x_TX_MACPORT ((UINT16)(BIT10 | BIT9 | BIT8))
01654 #define HFA384x_TX_NOENCRYPT ((UINT16)BIT7)
01655 #define HFA384x_TX_RETRYSTRAT ((UINT16)(BIT6 | BIT5))
01656 #define HFA384x_TX_STRUCTYPE ((UINT16)(BIT4 | BIT3))
01657 #define HFA384x_TX_TXEX ((UINT16)BIT2)
01658 #define HFA384x_TX_TXOK ((UINT16)BIT1)
01659
01660
01661
01662
01663 #define HFA384x_TXSTATUS_ISERROR(v) \
01664 (((UINT16)(v))&\
01665 (HFA384x_TXSTATUS_ACKERR|HFA384x_TXSTATUS_FORMERR|\
01666 HFA384x_TXSTATUS_DISCON|HFA384x_TXSTATUS_AGEDERR|\
01667 HFA384x_TXSTATUS_RETRYERR))
01668
01669 #define HFA384x_TXSTATUS_ISACKERR(v) ((UINT16)(((UINT16)(v)) & HFA384x_TXSTATUS_ACKERR))
01670 #define HFA384x_TXSTATUS_ISFORMERR(v) ((UINT16)(((UINT16)(v)) & HFA384x_TXSTATUS_FORMERR))
01671 #define HFA384x_TXSTATUS_ISDISCON(v) ((UINT16)(((UINT16)(v)) & HFA384x_TXSTATUS_DISCON))
01672 #define HFA384x_TXSTATUS_ISAGEDERR(v) ((UINT16)(((UINT16)(v)) & HFA384x_TXSTATUS_AGEDERR))
01673 #define HFA384x_TXSTATUS_ISRETRYERR(v) ((UINT16)(((UINT16)(v)) & HFA384x_TXSTATUS_RETRYERR))
01674
01675 #define HFA384x_TX_GET(v,m,s) ((((UINT16)(v))&((UINT16)(m)))>>((UINT16)(s)))
01676 #define HFA384x_TX_SET(v,m,s) ((((UINT16)(v))<<((UINT16)(s)))&((UINT16)(m)))
01677
01678 #define HFA384x_TX_CFPOLL_GET(v) HFA384x_TX_GET(v, HFA384x_TX_CFPOLL,12)
01679 #define HFA384x_TX_CFPOLL_SET(v) HFA384x_TX_SET(v, HFA384x_TX_CFPOLL,12)
01680 #define HFA384x_TX_PRST_GET(v) HFA384x_TX_GET(v, HFA384x_TX_PRST,11)
01681 #define HFA384x_TX_PRST_SET(v) HFA384x_TX_SET(v, HFA384x_TX_PRST,11)
01682 #define HFA384x_TX_MACPORT_GET(v) HFA384x_TX_GET(v, HFA384x_TX_MACPORT, 8)
01683 #define HFA384x_TX_MACPORT_SET(v) HFA384x_TX_SET(v, HFA384x_TX_MACPORT, 8)
01684 #define HFA384x_TX_NOENCRYPT_GET(v) HFA384x_TX_GET(v, HFA384x_TX_NOENCRYPT, 7)
01685 #define HFA384x_TX_NOENCRYPT_SET(v) HFA384x_TX_SET(v, HFA384x_TX_NOENCRYPT, 7)
01686 #define HFA384x_TX_RETRYSTRAT_GET(v) HFA384x_TX_GET(v, HFA384x_TX_RETRYSTRAT, 5)
01687 #define HFA384x_TX_RETRYSTRAT_SET(v) HFA384x_TX_SET(v, HFA384x_TX_RETRYSTRAT, 5)
01688 #define HFA384x_TX_STRUCTYPE_GET(v) HFA384x_TX_GET(v, HFA384x_TX_STRUCTYPE, 3)
01689 #define HFA384x_TX_STRUCTYPE_SET(v) HFA384x_TX_SET(v, HFA384x_TX_STRUCTYPE, 3)
01690 #define HFA384x_TX_TXEX_GET(v) HFA384x_TX_GET(v, HFA384x_TX_TXEX, 2)
01691 #define HFA384x_TX_TXEX_SET(v) HFA384x_TX_SET(v, HFA384x_TX_TXEX, 2)
01692 #define HFA384x_TX_TXOK_GET(v) HFA384x_TX_GET(v, HFA384x_TX_TXOK, 1)
01693 #define HFA384x_TX_TXOK_SET(v) HFA384x_TX_SET(v, HFA384x_TX_TXOK, 1)
01694
01695
01696
01697
01698 typedef struct hfa384x_rx_frame
01699 {
01700
01701 UINT16 status;
01702 UINT32 time;
01703 UINT8 silence;
01704 UINT8 signal;
01705 UINT8 rate;
01706 UINT8 rx_flow;
01707 UINT16 reserved1;
01708 UINT16 reserved2;
01709
01710
01711 UINT16 frame_control;
01712 UINT16 duration_id;
01713 UINT8 address1[6];
01714 UINT8 address2[6];
01715 UINT8 address3[6];
01716 UINT16 sequence_control;
01717 UINT8 address4[6];
01718 UINT16 data_len;
01719
01720
01721 UINT8 dest_addr[6];
01722 UINT8 src_addr[6];
01723 UINT16 data_length;
01724 } __WLAN_ATTRIB_PACK__ hfa384x_rx_frame_t;
01725
01726
01727
01728
01729 #define HFA384x_RX_DATA_LEN_OFF ((UINT16)44)
01730 #define HFA384x_RX_80211HDR_OFF ((UINT16)14)
01731 #define HFA384x_RX_DATA_OFF ((UINT16)60)
01732
01733
01734 #define HFA384x_RXSTATUS_MSGTYPE ((UINT16)(BIT15 | BIT14 | BIT13))
01735 #define HFA384x_RXSTATUS_MACPORT ((UINT16)(BIT10 | BIT9 | BIT8))
01736 #define HFA384x_RXSTATUS_UNDECR ((UINT16)BIT1)
01737 #define HFA384x_RXSTATUS_FCSERR ((UINT16)BIT0)
01738
01739
01740
01741 #define HFA384x_RXSTATUS_MSGTYPE_GET(value) ((UINT16)((((UINT16)(value)) & HFA384x_RXSTATUS_MSGTYPE) >> 13))
01742 #define HFA384x_RXSTATUS_MSGTYPE_SET(value) ((UINT16)(((UINT16)(value)) << 13))
01743 #define HFA384x_RXSTATUS_MACPORT_GET(value) ((UINT16)((((UINT16)(value)) & HFA384x_RXSTATUS_MACPORT) >> 8))
01744 #define HFA384x_RXSTATUS_MACPORT_SET(value) ((UINT16)(((UINT16)(value)) << 8))
01745 #define HFA384x_RXSTATUS_ISUNDECR(value) ((UINT16)(((UINT16)(value)) & HFA384x_RXSTATUS_UNDECR))
01746 #define HFA384x_RXSTATUS_ISFCSERR(value) ((UINT16)(((UINT16)(value)) & HFA384x_RXSTATUS_FCSERR))
01747
01748
01749
01750
01751
01752 #define HFA384x_IT_HANDOVERADDR ((UINT16)0xF000UL)
01753 #define HFA384x_IT_HANDOVERDEAUTHADDRESS ((UINT16)0xF001UL)//AP 1.3.7
01754 #define HFA384x_IT_COMMTALLIES ((UINT16)0xF100UL)
01755 #define HFA384x_IT_SCANRESULTS ((UINT16)0xF101UL)
01756 #define HFA384x_IT_CHINFORESULTS ((UINT16)0xF102UL)
01757 #define HFA384x_IT_HOSTSCANRESULTS ((UINT16)0xF103UL)
01758 #define HFA384x_IT_LINKSTATUS ((UINT16)0xF200UL)
01759 #define HFA384x_IT_ASSOCSTATUS ((UINT16)0xF201UL)
01760 #define HFA384x_IT_AUTHREQ ((UINT16)0xF202UL)
01761 #define HFA384x_IT_PSUSERCNT ((UINT16)0xF203UL)
01762 #define HFA384x_IT_KEYIDCHANGED ((UINT16)0xF204UL)
01763 #define HFA384x_IT_ASSOCREQ ((UINT16)0xF205UL)
01764 #define HFA384x_IT_MICFAILURE ((UINT16)0xF206UL)
01765
01766
01767
01768
01769
01770
01771
01772 typedef struct hfa384x_HandoverAddr
01773 {
01774 UINT16 framelen;
01775 UINT16 infotype;
01776 UINT8 handover_addr[WLAN_BSSID_LEN];
01777 } __WLAN_ATTRIB_PACK__ hfa384x_HandoverAddr_t;
01778
01779
01780 typedef struct hfa384x_CommTallies16
01781 {
01782 UINT16 txunicastframes;
01783 UINT16 txmulticastframes;
01784 UINT16 txfragments;
01785 UINT16 txunicastoctets;
01786 UINT16 txmulticastoctets;
01787 UINT16 txdeferredtrans;
01788 UINT16 txsingleretryframes;
01789 UINT16 txmultipleretryframes;
01790 UINT16 txretrylimitexceeded;
01791 UINT16 txdiscards;
01792 UINT16 rxunicastframes;
01793 UINT16 rxmulticastframes;
01794 UINT16 rxfragments;
01795 UINT16 rxunicastoctets;
01796 UINT16 rxmulticastoctets;
01797 UINT16 rxfcserrors;
01798 UINT16 rxdiscardsnobuffer;
01799 UINT16 txdiscardswrongsa;
01800 UINT16 rxdiscardswepundecr;
01801 UINT16 rxmsginmsgfrag;
01802 UINT16 rxmsginbadmsgfrag;
01803 } __WLAN_ATTRIB_PACK__ hfa384x_CommTallies16_t;
01804
01805 typedef struct hfa384x_CommTallies32
01806 {
01807 UINT32 txunicastframes;
01808 UINT32 txmulticastframes;
01809 UINT32 txfragments;
01810 UINT32 txunicastoctets;
01811 UINT32 txmulticastoctets;
01812 UINT32 txdeferredtrans;
01813 UINT32 txsingleretryframes;
01814 UINT32 txmultipleretryframes;
01815 UINT32 txretrylimitexceeded;
01816 UINT32 txdiscards;
01817 UINT32 rxunicastframes;
01818 UINT32 rxmulticastframes;
01819 UINT32 rxfragments;
01820 UINT32 rxunicastoctets;
01821 UINT32 rxmulticastoctets;
01822 UINT32 rxfcserrors;
01823 UINT32 rxdiscardsnobuffer;
01824 UINT32 txdiscardswrongsa;
01825 UINT32 rxdiscardswepundecr;
01826 UINT32 rxmsginmsgfrag;
01827 UINT32 rxmsginbadmsgfrag;
01828 } __WLAN_ATTRIB_PACK__ hfa384x_CommTallies32_t;
01829
01830
01831 typedef struct hfa384x_ScanResultSub
01832 {
01833 UINT16 chid;
01834 UINT16 anl;
01835 UINT16 sl;
01836 UINT8 bssid[WLAN_BSSID_LEN];
01837 UINT16 bcnint;
01838 UINT16 capinfo;
01839 hfa384x_bytestr32_t ssid;
01840 UINT8 supprates[10];
01841 UINT16 proberesp_rate;
01842 } __WLAN_ATTRIB_PACK__ hfa384x_ScanResultSub_t;
01843
01844 typedef struct hfa384x_ScanResult
01845 {
01846 UINT16 rsvd;
01847 UINT16 scanreason;
01848 hfa384x_ScanResultSub_t
01849 result[HFA384x_SCANRESULT_MAX];
01850 } __WLAN_ATTRIB_PACK__ hfa384x_ScanResult_t;
01851
01852
01853 typedef struct hfa384x_ChInfoResultSub
01854 {
01855 UINT16 chid;
01856 UINT16 anl;
01857 UINT16 pnl;
01858 UINT16 active;
01859 } __WLAN_ATTRIB_PACK__ hfa384x_ChInfoResultSub_t;
01860
01861 #define HFA384x_CHINFORESULT_BSSACTIVE BIT0
01862 #define HFA384x_CHINFORESULT_PCFACTIVE BIT1
01863
01864 typedef struct hfa384x_ChInfoResult
01865 {
01866 UINT16 scanchannels;
01867 hfa384x_ChInfoResultSub_t
01868 result[HFA384x_CHINFORESULT_MAX];
01869 } __WLAN_ATTRIB_PACK__ hfa384x_ChInfoResult_t;
01870
01871
01872 typedef struct hfa384x_HScanResultSub
01873 {
01874 UINT16 chid;
01875 UINT16 anl;
01876 UINT16 sl;
01877 UINT8 bssid[WLAN_BSSID_LEN];
01878 UINT16 bcnint;
01879 UINT16 capinfo;
01880 hfa384x_bytestr32_t ssid;
01881 UINT8 supprates[10];
01882 UINT16 proberesp_rate;
01883 UINT16 atim;
01884 } __WLAN_ATTRIB_PACK__ hfa384x_HScanResultSub_t;
01885
01886 typedef struct hfa384x_HScanResult
01887 {
01888 UINT16 nresult;
01889 UINT16 rsvd;
01890 hfa384x_HScanResultSub_t
01891 result[HFA384x_HSCANRESULT_MAX];
01892 } __WLAN_ATTRIB_PACK__ hfa384x_HScanResult_t;
01893
01894
01895
01896 #define HFA384x_LINK_NOTCONNECTED ((UINT16)0)
01897 #define HFA384x_LINK_CONNECTED ((UINT16)1)
01898 #define HFA384x_LINK_DISCONNECTED ((UINT16)2)
01899 #define HFA384x_LINK_AP_CHANGE ((UINT16)3)
01900 #define HFA384x_LINK_AP_OUTOFRANGE ((UINT16)4)
01901 #define HFA384x_LINK_AP_INRANGE ((UINT16)5)
01902 #define HFA384x_LINK_ASSOCFAIL ((UINT16)6)
01903
01904 typedef struct hfa384x_LinkStatus
01905 {
01906 UINT16 linkstatus;
01907 } __WLAN_ATTRIB_PACK__ hfa384x_LinkStatus_t;
01908
01909
01910
01911
01912 #define HFA384x_ASSOCSTATUS_STAASSOC ((UINT16)1)
01913 #define HFA384x_ASSOCSTATUS_REASSOC ((UINT16)2)
01914 #define HFA384x_ASSOCSTATUS_DISASSOC ((UINT16)3)
01915 #define HFA384x_ASSOCSTATUS_ASSOCFAIL ((UINT16)4)
01916 #define HFA384x_ASSOCSTATUS_AUTHFAIL ((UINT16)5)
01917
01918 typedef struct hfa384x_AssocStatus
01919 {
01920 UINT16 assocstatus;
01921 UINT8 sta_addr[WLAN_ADDR_LEN];
01922
01923 UINT8 old_ap_addr[WLAN_ADDR_LEN];
01924 UINT16 reason;
01925 UINT16 reserved;
01926 } __WLAN_ATTRIB_PACK__ hfa384x_AssocStatus_t;
01927
01928
01929
01930 typedef struct hfa384x_AuthRequest
01931 {
01932 UINT8 sta_addr[WLAN_ADDR_LEN];
01933 UINT16 algorithm;
01934 } __WLAN_ATTRIB_PACK__ hfa384x_AuthReq_t;
01935
01936
01937
01938 typedef struct hfa384x_AssocRequest
01939 {
01940 UINT8 sta_addr[WLAN_ADDR_LEN];
01941 UINT16 type;
01942 UINT8 wpa_data[80];
01943 } __WLAN_ATTRIB_PACK__ hfa384x_AssocReq_t;
01944
01945
01946 #define HFA384x_ASSOCREQ_TYPE_ASSOC 0
01947 #define HFA384x_ASSOCREQ_TYPE_REASSOC 1
01948
01949
01950
01951 typedef struct hfa384x_MicFailure
01952 {
01953 UINT8 sender[WLAN_ADDR_LEN];
01954 UINT8 dest[WLAN_ADDR_LEN];
01955 } __WLAN_ATTRIB_PACK__ hfa384x_MicFailure_t;
01956
01957
01958
01959 typedef struct hfa384x_PSUserCount
01960 {
01961 UINT16 usercnt;
01962 } __WLAN_ATTRIB_PACK__ hfa384x_PSUserCount_t;
01963
01964 typedef struct hfa384x_KeyIDChanged
01965 {
01966 UINT8 sta_addr[WLAN_ADDR_LEN];
01967 UINT16 keyid;
01968 } __WLAN_ATTRIB_PACK__ hfa384x_KeyIDChanged_t;
01969
01970
01971 typedef union hfa384x_infodata {
01972 hfa384x_CommTallies16_t commtallies16;
01973 hfa384x_CommTallies32_t commtallies32;
01974 hfa384x_ScanResult_t scanresult;
01975 hfa384x_ChInfoResult_t chinforesult;
01976 hfa384x_HScanResult_t hscanresult;
01977 hfa384x_LinkStatus_t linkstatus;
01978 hfa384x_AssocStatus_t assocstatus;
01979 hfa384x_AuthReq_t authreq;
01980 hfa384x_PSUserCount_t psusercnt;
01981 hfa384x_KeyIDChanged_t keyidchanged;
01982 } __WLAN_ATTRIB_PACK__ hfa384x_infodata_t;
01983
01984 typedef struct hfa384x_InfFrame
01985 {
01986 UINT16 framelen;
01987 UINT16 infotype;
01988 hfa384x_infodata_t info;
01989 } __WLAN_ATTRIB_PACK__ hfa384x_InfFrame_t;
01990
01991 #if (WLAN_HOSTIF == WLAN_USB)
01992
01993
01994
01995
01996
01997 #define HFA384x_USB_ENBULKIN 6
01998
01999
02000 #define HFA384x_USB_TXFRM 0
02001 #define HFA384x_USB_CMDREQ 1
02002 #define HFA384x_USB_WRIDREQ 2
02003 #define HFA384x_USB_RRIDREQ 3
02004 #define HFA384x_USB_WMEMREQ 4
02005 #define HFA384x_USB_RMEMREQ 5
02006
02007
02008 #define HFA384x_USB_ISFRM(a) (!((a) & 0x8000))
02009 #define HFA384x_USB_ISTXFRM(a) (((a) & 0x9000) == 0x1000)
02010 #define HFA384x_USB_ISRXFRM(a) (!((a) & 0x9000))
02011 #define HFA384x_USB_INFOFRM 0x8000
02012 #define HFA384x_USB_CMDRESP 0x8001
02013 #define HFA384x_USB_WRIDRESP 0x8002
02014 #define HFA384x_USB_RRIDRESP 0x8003
02015 #define HFA384x_USB_WMEMRESP 0x8004
02016 #define HFA384x_USB_RMEMRESP 0x8005
02017 #define HFA384x_USB_BUFAVAIL 0x8006
02018 #define HFA384x_USB_ERROR 0x8007
02019
02020
02021
02022
02023 typedef struct hfa384x_usb_txfrm {
02024 hfa384x_tx_frame_t desc;
02025 UINT8 data[WLAN_DATA_MAXLEN];
02026 } __WLAN_ATTRIB_PACK__ hfa384x_usb_txfrm_t;
02027
02028 typedef struct hfa384x_usb_cmdreq {
02029 UINT16 type;
02030 UINT16 cmd;
02031 UINT16 parm0;
02032 UINT16 parm1;
02033 UINT16 parm2;
02034 UINT8 pad[54];
02035 } __WLAN_ATTRIB_PACK__ hfa384x_usb_cmdreq_t;
02036
02037 typedef struct hfa384x_usb_wridreq {
02038 UINT16 type;
02039 UINT16 frmlen;
02040 UINT16 rid;
02041 UINT8 data[HFA384x_RIDDATA_MAXLEN];
02042 } __WLAN_ATTRIB_PACK__ hfa384x_usb_wridreq_t;
02043
02044 typedef struct hfa384x_usb_rridreq {
02045 UINT16 type;
02046 UINT16 frmlen;
02047 UINT16 rid;
02048 UINT8 pad[58];
02049 } __WLAN_ATTRIB_PACK__ hfa384x_usb_rridreq_t;
02050
02051 typedef struct hfa384x_usb_wmemreq {
02052 UINT16 type;
02053 UINT16 frmlen;
02054 UINT16 offset;
02055 UINT16 page;
02056 UINT8 data[HFA384x_USB_RWMEM_MAXLEN];
02057 } __WLAN_ATTRIB_PACK__ hfa384x_usb_wmemreq_t;
02058
02059 typedef struct hfa384x_usb_rmemreq {
02060 UINT16 type;
02061 UINT16 frmlen;
02062 UINT16 offset;
02063 UINT16 page;
02064 UINT8 pad[56];
02065 } __WLAN_ATTRIB_PACK__ hfa384x_usb_rmemreq_t;
02066
02067
02068
02069
02070 typedef struct hfa384x_usb_rxfrm {
02071 hfa384x_rx_frame_t desc;
02072 UINT8 data[WLAN_DATA_MAXLEN];
02073 } __WLAN_ATTRIB_PACK__ hfa384x_usb_rxfrm_t;
02074
02075 typedef struct hfa384x_usb_infofrm {
02076 UINT16 type;
02077 hfa384x_InfFrame_t info;
02078 } __WLAN_ATTRIB_PACK__ hfa384x_usb_infofrm_t;
02079
02080 typedef struct hfa384x_usb_statusresp {
02081 UINT16 type;
02082 UINT16 status;
02083 UINT16 resp0;
02084 UINT16 resp1;
02085 UINT16 resp2;
02086 } __WLAN_ATTRIB_PACK__ hfa384x_usb_cmdresp_t;
02087
02088 typedef hfa384x_usb_cmdresp_t hfa384x_usb_wridresp_t;
02089
02090 typedef struct hfa384x_usb_rridresp {
02091 UINT16 type;
02092 UINT16 frmlen;
02093 UINT16 rid;
02094 UINT8 data[HFA384x_RIDDATA_MAXLEN];
02095 } __WLAN_ATTRIB_PACK__ hfa384x_usb_rridresp_t;
02096
02097 typedef hfa384x_usb_cmdresp_t hfa384x_usb_wmemresp_t;
02098
02099 typedef struct hfa384x_usb_rmemresp {
02100 UINT16 type;
02101 UINT16 frmlen;
02102 UINT8 data[HFA384x_USB_RWMEM_MAXLEN];
02103 } __WLAN_ATTRIB_PACK__ hfa384x_usb_rmemresp_t;
02104
02105 typedef struct hfa384x_usb_bufavail {
02106 UINT16 type;
02107 UINT16 frmlen;
02108 } __WLAN_ATTRIB_PACK__ hfa384x_usb_bufavail_t;
02109
02110 typedef struct hfa384x_usb_error {
02111 UINT16 type;
02112 UINT16 errortype;
02113 } __WLAN_ATTRIB_PACK__ hfa384x_usb_error_t;
02114
02115
02116
02117
02118 typedef union hfa384x_usbout {
02119 UINT16 type;
02120 hfa384x_usb_txfrm_t txfrm;
02121 hfa384x_usb_cmdreq_t cmdreq;
02122 hfa384x_usb_wridreq_t wridreq;
02123 hfa384x_usb_rridreq_t rridreq;
02124 hfa384x_usb_wmemreq_t wmemreq;
02125 hfa384x_usb_rmemreq_t rmemreq;
02126 } __WLAN_ATTRIB_PACK__ hfa384x_usbout_t;
02127
02128 typedef union hfa384x_usbin {
02129 UINT16 type;
02130 hfa384x_usb_rxfrm_t rxfrm;
02131 hfa384x_usb_txfrm_t txfrm;
02132 hfa384x_usb_infofrm_t infofrm;
02133 hfa384x_usb_cmdresp_t cmdresp;
02134 hfa384x_usb_wridresp_t wridresp;
02135 hfa384x_usb_rridresp_t rridresp;
02136 hfa384x_usb_wmemresp_t wmemresp;
02137 hfa384x_usb_rmemresp_t rmemresp;
02138 hfa384x_usb_bufavail_t bufavail;
02139 hfa384x_usb_error_t usberror;
02140 UINT8 boguspad[3000];
02141 } __WLAN_ATTRIB_PACK__ hfa384x_usbin_t;
02142
02143 #endif
02144
02145
02146
02147
02148
02149 typedef struct hfa384x_pdr_pcb_partnum
02150 {
02151 UINT8 num[8];
02152 } __WLAN_ATTRIB_PACK__ hfa384x_pdr_pcb_partnum_t;
02153
02154 typedef struct hfa384x_pdr_pcb_tracenum
02155 {
02156 UINT8 num[8];
02157 } __WLAN_ATTRIB_PACK__ hfa384x_pdr_pcb_tracenum_t;
02158
02159 typedef struct hfa384x_pdr_nic_serial
02160 {
02161 UINT8 num[12];
02162 } __WLAN_ATTRIB_PACK__ hfa384x_pdr_nic_serial_t;
02163
02164 typedef struct hfa384x_pdr_mkk_measurements
02165 {
02166 double carrier_freq;
02167 double occupied_band;
02168 double power_density;
02169 double tx_spur_f1;
02170 double tx_spur_f2;
02171 double tx_spur_f3;
02172 double tx_spur_f4;
02173 double tx_spur_l1;
02174 double tx_spur_l2;
02175 double tx_spur_l3;
02176 double tx_spur_l4;
02177 double rx_spur_f1;
02178 double rx_spur_f2;
02179 double rx_spur_l1;
02180 double rx_spur_l2;
02181 } __WLAN_ATTRIB_PACK__ hfa384x_pdr_mkk_measurements_t;
02182
02183 typedef struct hfa384x_pdr_nic_ramsize
02184 {
02185 UINT8 size[12];
02186 } __WLAN_ATTRIB_PACK__ hfa384x_pdr_nic_ramsize_t;
02187
02188 typedef struct hfa384x_pdr_mfisuprange
02189 {
02190 UINT16 id;
02191 UINT16 variant;
02192 UINT16 bottom;
02193 UINT16 top;
02194 } __WLAN_ATTRIB_PACK__ hfa384x_pdr_mfisuprange_t;
02195
02196 typedef struct hfa384x_pdr_cfisuprange
02197 {
02198 UINT16 id;
02199 UINT16 variant;
02200 UINT16 bottom;
02201 UINT16 top;
02202 } __WLAN_ATTRIB_PACK__ hfa384x_pdr_cfisuprange_t;
02203
02204 typedef struct hfa384x_pdr_nicid
02205 {
02206 UINT16 id;
02207 UINT16 variant;
02208 UINT16 major;
02209 UINT16 minor;
02210 } __WLAN_ATTRIB_PACK__ hfa384x_pdr_nicid_t;
02211
02212
02213 typedef struct hfa384x_pdr_refdac_measurements
02214 {
02215 UINT16 value[0];
02216 } __WLAN_ATTRIB_PACK__ hfa384x_pdr_refdac_measurements_t;
02217
02218 typedef struct hfa384x_pdr_vgdac_measurements
02219 {
02220 UINT16 value[0];
02221 } __WLAN_ATTRIB_PACK__ hfa384x_pdr_vgdac_measurements_t;
02222
02223 typedef struct hfa384x_pdr_level_comp_measurements
02224 {
02225 UINT16 value[0];
02226 } __WLAN_ATTRIB_PACK__ hfa384x_pdr_level_compc_measurements_t;
02227
02228 typedef struct hfa384x_pdr_mac_address
02229 {
02230 UINT8 addr[6];
02231 } __WLAN_ATTRIB_PACK__ hfa384x_pdr_mac_address_t;
02232
02233 typedef struct hfa384x_pdr_mkk_callname
02234 {
02235 UINT8 callname[8];
02236 } __WLAN_ATTRIB_PACK__ hfa384x_pdr_mkk_callname_t;
02237
02238 typedef struct hfa384x_pdr_regdomain
02239 {
02240 UINT16 numdomains;
02241 UINT16 domain[5];
02242 } __WLAN_ATTRIB_PACK__ hfa384x_pdr_regdomain_t;
02243
02244 typedef struct hfa384x_pdr_allowed_channel
02245 {
02246 UINT16 ch_bitmap;
02247 } __WLAN_ATTRIB_PACK__ hfa384x_pdr_allowed_channel_t;
02248
02249 typedef struct hfa384x_pdr_default_channel
02250 {
02251 UINT16 channel;
02252 } __WLAN_ATTRIB_PACK__ hfa384x_pdr_default_channel_t;
02253
02254 typedef struct hfa384x_pdr_privacy_option
02255 {
02256 UINT16 available;
02257 } __WLAN_ATTRIB_PACK__ hfa384x_pdr_privacy_option_t;
02258
02259 typedef struct hfa384x_pdr_temptype
02260 {
02261 UINT16 type;
02262 } __WLAN_ATTRIB_PACK__ hfa384x_pdr_temptype_t;
02263
02264 typedef struct hfa384x_pdr_refdac_setup
02265 {
02266 UINT16 ch_value[14];
02267 } __WLAN_ATTRIB_PACK__ hfa384x_pdr_refdac_setup_t;
02268
02269 typedef struct hfa384x_pdr_vgdac_setup
02270 {
02271 UINT16 ch_value[14];
02272 } __WLAN_ATTRIB_PACK__ hfa384x_pdr_vgdac_setup_t;
02273
02274 typedef struct hfa384x_pdr_level_comp_setup
02275 {
02276 UINT16 ch_value[14];
02277 } __WLAN_ATTRIB_PACK__ hfa384x_pdr_level_comp_setup_t;
02278
02279 typedef struct hfa384x_pdr_trimdac_setup
02280 {
02281 UINT16 trimidac;
02282 UINT16 trimqdac;
02283 } __WLAN_ATTRIB_PACK__ hfa384x_pdr_trimdac_setup_t;
02284
02285 typedef struct hfa384x_pdr_ifr_setting
02286 {
02287 UINT16 value[3];
02288 } __WLAN_ATTRIB_PACK__ hfa384x_pdr_ifr_setting_t;
02289
02290 typedef struct hfa384x_pdr_rfr_setting
02291 {
02292 UINT16 value[3];
02293 } __WLAN_ATTRIB_PACK__ hfa384x_pdr_rfr_setting_t;
02294
02295 typedef struct hfa384x_pdr_hfa3861_baseline
02296 {
02297 UINT16 value[50];
02298 } __WLAN_ATTRIB_PACK__ hfa384x_pdr_hfa3861_baseline_t;
02299
02300 typedef struct hfa384x_pdr_hfa3861_shadow
02301 {
02302 UINT32 value[32];
02303 } __WLAN_ATTRIB_PACK__ hfa384x_pdr_hfa3861_shadow_t;
02304
02305 typedef struct hfa384x_pdr_hfa3861_ifrf
02306 {
02307 UINT32 value[20];
02308 } __WLAN_ATTRIB_PACK__ hfa384x_pdr_hfa3861_ifrf_t;
02309
02310 typedef struct hfa384x_pdr_hfa3861_chcalsp
02311 {
02312 UINT16 value[14];
02313 } __WLAN_ATTRIB_PACK__ hfa384x_pdr_hfa3861_chcalsp_t;
02314
02315 typedef struct hfa384x_pdr_hfa3861_chcali
02316 {
02317 UINT16 value[17];
02318 } __WLAN_ATTRIB_PACK__ hfa384x_pdr_hfa3861_chcali_t;
02319
02320 typedef struct hfa384x_pdr_hfa3861_nic_config
02321 {
02322 UINT16 config_bitmap;
02323 } __WLAN_ATTRIB_PACK__ hfa384x_pdr_nic_config_t;
02324
02325 typedef struct hfa384x_pdr_hfo_delay
02326 {
02327 UINT8 hfo_delay;
02328 } __WLAN_ATTRIB_PACK__ hfa384x_hfo_delay_t;
02329
02330 typedef struct hfa384x_pdr_hfa3861_manf_testsp
02331 {
02332 UINT16 value[30];
02333 } __WLAN_ATTRIB_PACK__ hfa384x_pdr_hfa3861_manf_testsp_t;
02334
02335 typedef struct hfa384x_pdr_hfa3861_manf_testi
02336 {
02337 UINT16 value[30];
02338 } __WLAN_ATTRIB_PACK__ hfa384x_pdr_hfa3861_manf_testi_t;
02339
02340 typedef struct hfa384x_end_of_pda
02341 {
02342 UINT16 crc;
02343 } __WLAN_ATTRIB_PACK__ hfa384x_pdr_end_of_pda_t;
02344
02345 typedef struct hfa384x_pdrec
02346 {
02347 UINT16 len;
02348 UINT16 code;
02349 union pdr {
02350 hfa384x_pdr_pcb_partnum_t pcb_partnum;
02351 hfa384x_pdr_pcb_tracenum_t pcb_tracenum;
02352 hfa384x_pdr_nic_serial_t nic_serial;
02353 hfa384x_pdr_mkk_measurements_t mkk_measurements;
02354 hfa384x_pdr_nic_ramsize_t nic_ramsize;
02355 hfa384x_pdr_mfisuprange_t mfisuprange;
02356 hfa384x_pdr_cfisuprange_t cfisuprange;
02357 hfa384x_pdr_nicid_t nicid;
02358 hfa384x_pdr_refdac_measurements_t refdac_measurements;
02359 hfa384x_pdr_vgdac_measurements_t vgdac_measurements;
02360 hfa384x_pdr_level_compc_measurements_t level_compc_measurements;
02361 hfa384x_pdr_mac_address_t mac_address;
02362 hfa384x_pdr_mkk_callname_t mkk_callname;
02363 hfa384x_pdr_regdomain_t regdomain;
02364 hfa384x_pdr_allowed_channel_t allowed_channel;
02365 hfa384x_pdr_default_channel_t default_channel;
02366 hfa384x_pdr_privacy_option_t privacy_option;
02367 hfa384x_pdr_temptype_t temptype;
02368 hfa384x_pdr_refdac_setup_t refdac_setup;
02369 hfa384x_pdr_vgdac_setup_t vgdac_setup;
02370 hfa384x_pdr_level_comp_setup_t level_comp_setup;
02371 hfa384x_pdr_trimdac_setup_t trimdac_setup;
02372 hfa384x_pdr_ifr_setting_t ifr_setting;
02373 hfa384x_pdr_rfr_setting_t rfr_setting;
02374 hfa384x_pdr_hfa3861_baseline_t hfa3861_baseline;
02375 hfa384x_pdr_hfa3861_shadow_t hfa3861_shadow;
02376 hfa384x_pdr_hfa3861_ifrf_t hfa3861_ifrf;
02377 hfa384x_pdr_hfa3861_chcalsp_t hfa3861_chcalsp;
02378 hfa384x_pdr_hfa3861_chcali_t hfa3861_chcali;
02379 hfa384x_pdr_nic_config_t nic_config;
02380 hfa384x_hfo_delay_t hfo_delay;
02381 hfa384x_pdr_hfa3861_manf_testsp_t hfa3861_manf_testsp;
02382 hfa384x_pdr_hfa3861_manf_testi_t hfa3861_manf_testi;
02383 hfa384x_pdr_end_of_pda_t end_of_pda;
02384
02385 } data;
02386 } __WLAN_ATTRIB_PACK__ hfa384x_pdrec_t;
02387
02388
02389 #ifdef __KERNEL__
02390
02391
02392
02393
02394 typedef struct hfa384x_statusresult
02395 {
02396 UINT16 status;
02397 UINT16 resp0;
02398 UINT16 resp1;
02399 UINT16 resp2;
02400 } hfa384x_cmdresult_t;
02401
02402 #if (WLAN_HOSTIF == WLAN_USB)
02403
02404
02405
02406
02407
02408
02409
02410
02411 typedef hfa384x_cmdresult_t hfa384x_wridresult_t;
02412 typedef hfa384x_cmdresult_t hfa384x_wmemresult_t;
02413
02414 typedef struct hfa384x_rridresult
02415 {
02416 UINT16 rid;
02417 const void *riddata;
02418 UINT riddata_len;
02419 } hfa384x_rridresult_t;
02420
02421 enum ctlx_state {
02422 CTLX_START = 0,
02423
02424 CTLX_COMPLETE,
02425 CTLX_REQ_FAILED,
02426
02427 CTLX_PENDING,
02428 CTLX_REQ_SUBMITTED,
02429 CTLX_REQ_COMPLETE,
02430 CTLX_RESP_COMPLETE
02431 };
02432 typedef enum ctlx_state CTLX_STATE;
02433
02434 struct hfa384x_usbctlx;
02435 struct hfa384x;
02436
02437 typedef void (*ctlx_cmdcb_t)( struct hfa384x*, const struct hfa384x_usbctlx* );
02438
02439 typedef void (*ctlx_usercb_t)(
02440 struct hfa384x *hw,
02441 void *ctlxresult,
02442 void *usercb_data);
02443
02444 typedef struct hfa384x_usbctlx
02445 {
02446 struct list_head list;
02447
02448 size_t outbufsize;
02449 hfa384x_usbout_t outbuf;
02450 hfa384x_usbin_t inbuf;
02451
02452 CTLX_STATE state;
02453
02454 struct completion done;
02455 volatile int reapable;
02456
02457 ctlx_cmdcb_t cmdcb;
02458 ctlx_usercb_t usercb;
02459 void *usercb_data;
02460
02461 int variant;
02462 } hfa384x_usbctlx_t;
02463
02464 typedef struct hfa384x_usbctlxq
02465 {
02466 spinlock_t lock;
02467 struct list_head pending;
02468 struct list_head active;
02469 struct list_head completing;
02470 struct list_head reapable;
02471 } hfa384x_usbctlxq_t;
02472 #endif
02473
02474 typedef struct hfa484x_metacmd
02475 {
02476 UINT16 cmd;
02477
02478 UINT16 parm0;
02479 UINT16 parm1;
02480 UINT16 parm2;
02481
02482 #if 0 //XXX cmd irq stuff
02483 UINT16 bulkid;
02484 int bulklen;
02485 char *bulkdata;
02486 #endif
02487
02488 hfa384x_cmdresult_t result;
02489 } hfa384x_metacmd_t;
02490
02491 #define MAX_PRISM2_GRP_ADDR 16
02492 #define MAX_GRP_ADDR 32
02493 #define WLAN_COMMENT_MAX 80
02494
02495 #define MM_SAT_PCF (BIT14)
02496 #define MM_GCSD_PCF (BIT15)
02497 #define MM_GCSD_PCF_EB (BIT14 | BIT15)
02498
02499 #define WLAN_STATE_STOPPED 0
02500 #define WLAN_STATE_STARTED 1
02501
02502 #define WLAN_AUTH_MAX 60
02503 #define WLAN_ACCESS_MAX 60
02504 #define WLAN_ACCESS_NONE 0
02505 #define WLAN_ACCESS_ALL 1
02506 #define WLAN_ACCESS_ALLOW 2
02507 #define WLAN_ACCESS_DENY 3
02508
02509
02510 typedef struct prism2sta_authlist
02511 {
02512 UINT cnt;
02513 UINT8 addr[WLAN_AUTH_MAX][WLAN_ADDR_LEN];
02514 UINT8 assoc[WLAN_AUTH_MAX];
02515 } prism2sta_authlist_t;
02516
02517 typedef struct prism2sta_accesslist
02518 {
02519 UINT modify;
02520 UINT cnt;
02521 UINT8 addr[WLAN_ACCESS_MAX][WLAN_ADDR_LEN];
02522 UINT cnt1;
02523 UINT8 addr1[WLAN_ACCESS_MAX][WLAN_ADDR_LEN];
02524 } prism2sta_accesslist_t;
02525
02526 typedef struct hfa384x
02527 {
02528 #if (WLAN_HOSTIF != WLAN_USB)
02529
02530 UINT32 iobase;
02531 char __iomem *membase;
02532 UINT32 irq;
02533 #else
02534
02535 struct usb_device *usb;
02536 struct urb rx_urb;
02537 struct sk_buff *rx_urb_skb;
02538 struct urb tx_urb;
02539 struct urb ctlx_urb;
02540 hfa384x_usbout_t txbuff;
02541 hfa384x_usbctlxq_t ctlxq;
02542 struct timer_list reqtimer;
02543 struct timer_list resptimer;
02544
02545 struct timer_list throttle;
02546
02547 struct tasklet_struct reaper_bh;
02548 struct tasklet_struct completion_bh;
02549
02550 struct work_struct usb_work;
02551
02552 unsigned long usb_flags;
02553 #define THROTTLE_RX 0
02554 #define THROTTLE_TX 1
02555 #define WORK_RX_HALT 2
02556 #define WORK_TX_HALT 3
02557 #define WORK_RX_RESUME 4
02558 #define WORK_TX_RESUME 5
02559
02560 unsigned short req_timer_done:1;
02561 unsigned short resp_timer_done:1;
02562
02563 int endp_in;
02564 int endp_out;
02565 #endif
02566
02567 #if (WLAN_HOSTIF == WLAN_PCMCIA)
02568 #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,16)
02569 struct pcmcia_device *pdev;
02570 #else
02571 dev_link_t *link;
02572 #endif
02573 dev_node_t node;
02574 #endif
02575
02576 int sniff_fcs;
02577 int sniff_channel;
02578 int sniff_truncate;
02579 int sniffhdr;
02580
02581 wait_queue_head_t cmdq;
02582
02583
02584 UINT32 state;
02585 UINT32 isap;
02586 UINT8 port_enabled[HFA384x_NUMPORTS_MAX];
02587 #if (WLAN_HOSTIF != WLAN_USB)
02588 UINT auxen;
02589 UINT isram16;
02590 #endif
02591
02592
02593 UINT dlstate;
02594 hfa384x_downloadbuffer_t bufinfo;
02595 UINT16 dltimeout;
02596
02597 #if (WLAN_HOSTIF != WLAN_USB)
02598 spinlock_t cmdlock;
02599 volatile int cmdflag;
02600 hfa384x_metacmd_t *cmddata;
02601
02602
02603 spinlock_t baplock;
02604 struct tasklet_struct bap_tasklet;
02605
02606
02607 UINT16 txfid_head;
02608 UINT16 txfid_tail;
02609 UINT txfid_N;
02610 UINT16 txfid_queue[HFA384x_DRVR_FIDSTACKLEN_MAX];
02611 UINT16 infofid;
02612 struct semaphore infofid_sem;
02613 #endif
02614
02615 int scanflag;
02616 int join_ap;
02617 int join_retries;
02618 hfa384x_JoinRequest_data_t joinreq;
02619
02620 wlandevice_t *wlandev;
02621
02622 struct work_struct link_bh;
02623
02624 struct work_struct commsqual_bh;
02625 hfa384x_commsquality_t qual;
02626 struct timer_list commsqual_timer;
02627
02628 UINT16 link_status;
02629 UINT16 link_status_new;
02630 struct sk_buff_head authq;
02631
02632
02633
02634
02635 UINT presniff_port_type;
02636 UINT16 presniff_wepflags;
02637 UINT32 dot11_desired_bss_type;
02638 int ap;
02639
02640 int dbmadjust;
02641
02642
02643
02644 UINT8 dot11_grp_addr[MAX_GRP_ADDR][WLAN_ADDR_LEN];
02645 UINT dot11_grpcnt;
02646
02647
02648 hfa384x_compident_t ident_nic;
02649 hfa384x_compident_t ident_pri_fw;
02650 hfa384x_compident_t ident_sta_fw;
02651 hfa384x_compident_t ident_ap_fw;
02652 UINT16 mm_mods;
02653
02654
02655 hfa384x_caplevel_t cap_sup_mfi;
02656 hfa384x_caplevel_t cap_sup_cfi;
02657 hfa384x_caplevel_t cap_sup_pri;
02658 hfa384x_caplevel_t cap_sup_sta;
02659 hfa384x_caplevel_t cap_sup_ap;
02660
02661
02662 hfa384x_caplevel_t cap_act_pri_cfi;
02663 hfa384x_caplevel_t cap_act_sta_cfi;
02664 hfa384x_caplevel_t cap_act_sta_mfi;
02665 hfa384x_caplevel_t cap_act_ap_cfi;
02666 hfa384x_caplevel_t cap_act_ap_mfi;
02667
02668 UINT32 psusercount;
02669 hfa384x_CommTallies32_t tallies;
02670 UINT8 comment[WLAN_COMMENT_MAX+1];
02671
02672
02673 struct {
02674 atomic_t done;
02675 UINT8 count;
02676 hfa384x_ChInfoResult_t results;
02677 } channel_info;
02678
02679 hfa384x_InfFrame_t *scanresults;
02680
02681
02682 prism2sta_authlist_t authlist;
02683 UINT accessmode;
02684 prism2sta_accesslist_t allow;
02685 prism2sta_accesslist_t deny;
02686
02687 } hfa384x_t;
02688
02689
02690
02691
02692 #if (WLAN_HOSTIF == WLAN_USB)
02693 void
02694 hfa384x_create(
02695 hfa384x_t *hw,
02696 struct usb_device *usb);
02697 #else
02698 void
02699 hfa384x_create(
02700 hfa384x_t *hw,
02701 UINT irq,
02702 UINT32 iobase,
02703 UINT8 __iomem *membase);
02704 #endif
02705
02706 void hfa384x_destroy(hfa384x_t *hw);
02707
02708 irqreturn_t
02709 hfa384x_interrupt(int irq, void *dev_id PT_REGS);
02710 int
02711 hfa384x_corereset( hfa384x_t *hw, int holdtime, int settletime, int genesis);
02712 int
02713 hfa384x_drvr_chinforesults( hfa384x_t *hw);
02714 int
02715 hfa384x_drvr_commtallies( hfa384x_t *hw);
02716 int
02717 hfa384x_drvr_disable(hfa384x_t *hw, UINT16 macport);
02718 int
02719 hfa384x_drvr_enable(hfa384x_t *hw, UINT16 macport);
02720 int
02721 hfa384x_drvr_flashdl_enable(hfa384x_t *hw);
02722 int
02723 hfa384x_drvr_flashdl_disable(hfa384x_t *hw);
02724 int
02725 hfa384x_drvr_flashdl_write(hfa384x_t *hw, UINT32 daddr, void* buf, UINT32 len);
02726 int
02727 hfa384x_drvr_getconfig(hfa384x_t *hw, UINT16 rid, void *buf, UINT16 len);
02728 int
02729 hfa384x_drvr_handover( hfa384x_t *hw, UINT8 *addr);
02730 int
02731 hfa384x_drvr_hostscanresults( hfa384x_t *hw);
02732 int
02733 hfa384x_drvr_low_level(hfa384x_t *hw, hfa384x_metacmd_t *cmd);
02734 int
02735 hfa384x_drvr_mmi_read(hfa384x_t *hw, UINT32 address, UINT32 *result);
02736 int
02737 hfa384x_drvr_mmi_write(hfa384x_t *hw, UINT32 address, UINT32 data);
02738 int
02739 hfa384x_drvr_ramdl_enable(hfa384x_t *hw, UINT32 exeaddr);
02740 int
02741 hfa384x_drvr_ramdl_disable(hfa384x_t *hw);
02742 int
02743 hfa384x_drvr_ramdl_write(hfa384x_t *hw, UINT32 daddr, void* buf, UINT32 len);
02744 int
02745 hfa384x_drvr_readpda(hfa384x_t *hw, void *buf, UINT len);
02746 int
02747 hfa384x_drvr_scanresults( hfa384x_t *hw);
02748
02749 int
02750 hfa384x_drvr_setconfig(hfa384x_t *hw, UINT16 rid, void *buf, UINT16 len);
02751
02752 static inline int
02753 hfa384x_drvr_getconfig16(hfa384x_t *hw, UINT16 rid, void *val)
02754 {
02755 int result = 0;
02756 result = hfa384x_drvr_getconfig(hw, rid, val, sizeof(UINT16));
02757 if ( result == 0 ) {
02758 *((UINT16*)val) = hfa384x2host_16(*((UINT16*)val));
02759 }
02760 return result;
02761 }
02762
02763 static inline int
02764 hfa384x_drvr_getconfig32(hfa384x_t *hw, UINT16 rid, void *val)
02765 {
02766 int result = 0;
02767
02768 result = hfa384x_drvr_getconfig(hw, rid, val, sizeof(UINT32));
02769 if ( result == 0 ) {
02770 *((UINT32*)val) = hfa384x2host_32(*((UINT32*)val));
02771 }
02772
02773 return result;
02774 }
02775
02776 static inline int
02777 hfa384x_drvr_setconfig16(hfa384x_t *hw, UINT16 rid, UINT16 val)
02778 {
02779 UINT16 value = host2hfa384x_16(val);
02780 return hfa384x_drvr_setconfig(hw, rid, &value, sizeof(value));
02781 }
02782
02783 static inline int
02784 hfa384x_drvr_setconfig32(hfa384x_t *hw, UINT16 rid, UINT32 val)
02785 {
02786 UINT32 value = host2hfa384x_32(val);
02787 return hfa384x_drvr_setconfig(hw, rid, &value, sizeof(value));
02788 }
02789
02790 #if (WLAN_HOSTIF == WLAN_USB)
02791 int
02792 hfa384x_drvr_getconfig_async(hfa384x_t *hw,
02793 UINT16 rid,
02794 ctlx_usercb_t usercb,
02795 void *usercb_data);
02796
02797 int
02798 hfa384x_drvr_setconfig_async(hfa384x_t *hw,
02799 UINT16 rid,
02800 void *buf,
02801 UINT16 len,
02802 ctlx_usercb_t usercb,
02803 void *usercb_data);
02804 #else
02805 static inline int
02806 hfa384x_drvr_setconfig_async(hfa384x_t *hw, UINT16 rid, void *buf, UINT16 len,
02807 void *ptr1, void *ptr2)
02808 {
02809 (void)ptr1;
02810 (void)ptr2;
02811 return hfa384x_drvr_setconfig(hw, rid, buf, len);
02812 }
02813 #endif
02814
02815 static inline int
02816 hfa384x_drvr_setconfig16_async(hfa384x_t *hw, UINT16 rid, UINT16 val)
02817 {
02818 UINT16 value = host2hfa384x_16(val);
02819 return hfa384x_drvr_setconfig_async(hw, rid, &value, sizeof(value),
02820 NULL , NULL);
02821 }
02822
02823 static inline int
02824 hfa384x_drvr_setconfig32_async(hfa384x_t *hw, UINT16 rid, UINT32 val)
02825 {
02826 UINT32 value = host2hfa384x_32(val);
02827 return hfa384x_drvr_setconfig_async(hw, rid, &value, sizeof(value),
02828 NULL , NULL);
02829 }
02830
02831
02832 int
02833 hfa384x_drvr_start(hfa384x_t *hw);
02834 int
02835 hfa384x_drvr_stop(hfa384x_t *hw);
02836 int
02837 hfa384x_drvr_txframe(hfa384x_t *hw, struct sk_buff *skb, p80211_hdr_t *p80211_hdr, p80211_metawep_t *p80211_wep);
02838 void
02839 hfa384x_tx_timeout(wlandevice_t *wlandev);
02840
02841 int
02842 hfa384x_cmd_initialize(hfa384x_t *hw);
02843 int
02844 hfa384x_cmd_enable(hfa384x_t *hw, UINT16 macport);
02845 int
02846 hfa384x_cmd_disable(hfa384x_t *hw, UINT16 macport);
02847 int
02848 hfa384x_cmd_diagnose(hfa384x_t *hw);
02849 int
02850 hfa384x_cmd_allocate(hfa384x_t *hw, UINT16 len);
02851 int
02852 hfa384x_cmd_transmit(hfa384x_t *hw, UINT16 reclaim, UINT16 qos, UINT16 fid);
02853 int
02854 hfa384x_cmd_clearpersist(hfa384x_t *hw, UINT16 fid);
02855 int
02856 hfa384x_cmd_notify(hfa384x_t *hw, UINT16 reclaim, UINT16 fid, void *buf, UINT16 len);
02857 int
02858 hfa384x_cmd_inquire(hfa384x_t *hw, UINT16 fid);
02859 int
02860 hfa384x_cmd_access(hfa384x_t *hw, UINT16 write, UINT16 rid, void *buf, UINT16 len);
02861 int
02862 hfa384x_cmd_monitor(hfa384x_t *hw, UINT16 enable);
02863 int
02864 hfa384x_cmd_download(
02865 hfa384x_t *hw,
02866 UINT16 mode,
02867 UINT16 lowaddr,
02868 UINT16 highaddr,
02869 UINT16 codelen);
02870 int
02871 hfa384x_cmd_aux_enable(hfa384x_t *hw, int force);
02872 int
02873 hfa384x_cmd_aux_disable(hfa384x_t *hw);
02874 int
02875 hfa384x_copy_from_bap(
02876 hfa384x_t *hw,
02877 UINT16 bap,
02878 UINT16 id,
02879 UINT16 offset,
02880 void *buf,
02881 UINT len);
02882 int
02883 hfa384x_copy_to_bap(
02884 hfa384x_t *hw,
02885 UINT16 bap,
02886 UINT16 id,
02887 UINT16 offset,
02888 void *buf,
02889 UINT len);
02890 void
02891 hfa384x_copy_from_aux(
02892 hfa384x_t *hw,
02893 UINT32 cardaddr,
02894 UINT32 auxctl,
02895 void *buf,
02896 UINT len);
02897 void
02898 hfa384x_copy_to_aux(
02899 hfa384x_t *hw,
02900 UINT32 cardaddr,
02901 UINT32 auxctl,
02902 void *buf,
02903 UINT len);
02904
02905 #if (WLAN_HOSTIF != WLAN_USB)
02906
02907
02908
02909
02910
02911
02912
02913
02914 static inline UINT16
02915 __hfa384x_getreg(hfa384x_t *hw, UINT reg);
02916
02917 static inline void
02918 __hfa384x_setreg(hfa384x_t *hw, UINT16 val, UINT reg);
02919
02920 static inline UINT16
02921 __hfa384x_getreg_noswap(hfa384x_t *hw, UINT reg);
02922
02923 static inline void
02924 __hfa384x_setreg_noswap(hfa384x_t *hw, UINT16 val, UINT reg);
02925
02926 #ifdef REVERSE_ENDIAN
02927 #define hfa384x_getreg __hfa384x_getreg_noswap
02928 #define hfa384x_setreg __hfa384x_setreg_noswap
02929 #define hfa384x_getreg_noswap __hfa384x_getreg
02930 #define hfa384x_setreg_noswap __hfa384x_setreg
02931 #else
02932 #define hfa384x_getreg __hfa384x_getreg
02933 #define hfa384x_setreg __hfa384x_setreg
02934 #define hfa384x_getreg_noswap __hfa384x_getreg_noswap
02935 #define hfa384x_setreg_noswap __hfa384x_setreg_noswap
02936 #endif
02937
02938
02939
02940
02941
02942
02943
02944
02945
02946
02947
02948
02949
02950
02951
02952 static inline UINT16
02953 __hfa384x_getreg(hfa384x_t *hw, UINT reg)
02954 {
02955
02956 #if ((WLAN_HOSTIF == WLAN_PCMCIA) || (WLAN_HOSTIF == WLAN_PLX))
02957 return wlan_inw_le16_to_cpu(hw->iobase+reg);
02958 #elif (WLAN_HOSTIF == WLAN_PCI)
02959 return __le16_to_cpu(readw(hw->membase + reg));
02960 #endif
02961 }
02962
02963
02964
02965
02966
02967
02968
02969
02970
02971
02972
02973
02974
02975
02976
02977
02978 static inline void
02979 __hfa384x_setreg(hfa384x_t *hw, UINT16 val, UINT reg)
02980 {
02981 #if ((WLAN_HOSTIF == WLAN_PCMCIA) || (WLAN_HOSTIF == WLAN_PLX))
02982 wlan_outw_cpu_to_le16( val, hw->iobase + reg);
02983 return;
02984 #elif (WLAN_HOSTIF == WLAN_PCI)
02985 writew(__cpu_to_le16(val), hw->membase + reg);
02986 return;
02987 #endif
02988 }
02989
02990
02991
02992
02993
02994
02995
02996
02997
02998
02999
03000
03001
03002
03003
03004 static inline UINT16
03005 __hfa384x_getreg_noswap(hfa384x_t *hw, UINT reg)
03006 {
03007 #if ((WLAN_HOSTIF == WLAN_PCMCIA) || (WLAN_HOSTIF == WLAN_PLX))
03008 return wlan_inw(hw->iobase+reg);
03009 #elif (WLAN_HOSTIF == WLAN_PCI)
03010 return readw(hw->membase + reg);
03011 #endif
03012 }
03013
03014
03015
03016
03017
03018
03019
03020
03021
03022
03023
03024
03025
03026
03027
03028
03029 static inline void
03030 __hfa384x_setreg_noswap(hfa384x_t *hw, UINT16 val, UINT reg)
03031 {
03032 #if ((WLAN_HOSTIF == WLAN_PCMCIA) || (WLAN_HOSTIF == WLAN_PLX))
03033 wlan_outw( val, hw->iobase + reg);
03034 return;
03035 #elif (WLAN_HOSTIF == WLAN_PCI)
03036 writew(val, hw->membase + reg);
03037 return;
03038 #endif
03039 }
03040
03041
03042 static inline void hfa384x_events_all(hfa384x_t *hw)
03043 {
03044 hfa384x_setreg(hw,
03045 HFA384x_INT_NORMAL
03046 #ifdef CMD_IRQ
03047 | HFA384x_INTEN_CMD_SET(1)
03048 #endif
03049 ,
03050 HFA384x_INTEN);
03051
03052 }
03053
03054 static inline void hfa384x_events_nobap(hfa384x_t *hw)
03055 {
03056 hfa384x_setreg(hw,
03057 (HFA384x_INT_NORMAL & ~HFA384x_INT_BAP_OP)
03058 #ifdef CMD_IRQ
03059 | HFA384x_INTEN_CMD_SET(1)
03060 #endif
03061 ,
03062 HFA384x_INTEN);
03063
03064 }
03065
03066 #endif
03067 #endif
03068
03069 #endif