100b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman/* prism2mgmt.h 200b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* 300b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* Declares the mgmt command handler functions 400b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* 500b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* Copyright (C) 1999 AbsoluteValue Systems, Inc. All Rights Reserved. 600b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* -------------------------------------------------------------------- 700b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* 800b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* linux-wlan 900b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* 1000b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* The contents of this file are subject to the Mozilla Public 1100b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* License Version 1.1 (the "License"); you may not use this file 1200b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* except in compliance with the License. You may obtain a copy of 1300b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* the License at http://www.mozilla.org/MPL/ 1400b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* 1500b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* Software distributed under the License is distributed on an "AS 1600b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 1700b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* implied. See the License for the specific language governing 1800b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* rights and limitations under the License. 1900b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* 2000b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* Alternatively, the contents of this file may be used under the 2100b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* terms of the GNU Public License version 2 (the "GPL"), in which 2200b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* case the provisions of the GPL are applicable instead of the 2300b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* above. If you wish to allow the use of your version of this file 2400b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* only under the terms of the GPL and not to allow others to use 2500b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* your version of this file under the MPL, indicate your decision 2600b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* by deleting the provisions above and replace them with the notice 2700b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* and other provisions required by the GPL. If you do not delete 2800b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* the provisions above, a recipient may use your version of this 2900b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* file under either the MPL or the GPL. 3000b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* 3100b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* -------------------------------------------------------------------- 3200b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* 3300b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* Inquiries regarding the linux-wlan Open Source project can be 3400b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* made directly to: 3500b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* 3600b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* AbsoluteValue Systems Inc. 3700b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* info@linux-wlan.com 3800b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* http://www.linux-wlan.com 3900b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* 4000b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* -------------------------------------------------------------------- 4100b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* 4200b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* Portions of the development of this software were funded by 4300b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* Intersil Corporation as part of PRISM(R) chipset product development. 4400b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* 4500b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* -------------------------------------------------------------------- 4600b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* 4700b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* This file contains the constants and data structures for interaction 4800b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* with the hfa384x Wireless LAN (WLAN) Media Access Contoller (MAC). 4900b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* The hfa384x is a portion of the Harris PRISM(tm) WLAN chipset. 5000b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* 5100b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* [Implementation and usage notes] 5200b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* 5300b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* [References] 5400b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* CW10 Programmer's Manual v1.5 5500b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* IEEE 802.11 D10.0 5600b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* 5700b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* -------------------------------------------------------------------- 5800b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman*/ 5900b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman 6000b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman#ifndef _PRISM2MGMT_H 6100b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman#define _PRISM2MGMT_H 6200b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman 632407486b839ae1a635b12fa60356dd5e37ac18a4Moritz Muehlenhoffextern int prism2_reset_holdtime; 642407486b839ae1a635b12fa60356dd5e37ac18a4Moritz Muehlenhoffextern int prism2_reset_settletime; 6500b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman 665dd8acc8fd6b0476a2dc49bc6de4712d22c368c0Svenne Krapu32 prism2sta_ifstate(wlandevice_t *wlandev, u32 ifstate); 6700b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman 685dd8acc8fd6b0476a2dc49bc6de4712d22c368c0Svenne Krapvoid prism2sta_ev_info(wlandevice_t *wlandev, hfa384x_InfFrame_t *inf); 695dd8acc8fd6b0476a2dc49bc6de4712d22c368c0Svenne Krapvoid prism2sta_ev_txexc(wlandevice_t *wlandev, u16 status); 705dd8acc8fd6b0476a2dc49bc6de4712d22c368c0Svenne Krapvoid prism2sta_ev_tx(wlandevice_t *wlandev, u16 status); 715dd8acc8fd6b0476a2dc49bc6de4712d22c368c0Svenne Krapvoid prism2sta_ev_rx(wlandevice_t *wlandev, struct sk_buff *skb); 725dd8acc8fd6b0476a2dc49bc6de4712d22c368c0Svenne Krapvoid prism2sta_ev_alloc(wlandevice_t *wlandev); 7300b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman 745dd8acc8fd6b0476a2dc49bc6de4712d22c368c0Svenne Krapint prism2mgmt_mibset_mibget(wlandevice_t *wlandev, void *msgp); 755dd8acc8fd6b0476a2dc49bc6de4712d22c368c0Svenne Krapint prism2mgmt_scan(wlandevice_t *wlandev, void *msgp); 765dd8acc8fd6b0476a2dc49bc6de4712d22c368c0Svenne Krapint prism2mgmt_scan_results(wlandevice_t *wlandev, void *msgp); 775dd8acc8fd6b0476a2dc49bc6de4712d22c368c0Svenne Krapint prism2mgmt_start(wlandevice_t *wlandev, void *msgp); 785dd8acc8fd6b0476a2dc49bc6de4712d22c368c0Svenne Krapint prism2mgmt_wlansniff(wlandevice_t *wlandev, void *msgp); 795dd8acc8fd6b0476a2dc49bc6de4712d22c368c0Svenne Krapint prism2mgmt_readpda(wlandevice_t *wlandev, void *msgp); 805dd8acc8fd6b0476a2dc49bc6de4712d22c368c0Svenne Krapint prism2mgmt_ramdl_state(wlandevice_t *wlandev, void *msgp); 815dd8acc8fd6b0476a2dc49bc6de4712d22c368c0Svenne Krapint prism2mgmt_ramdl_write(wlandevice_t *wlandev, void *msgp); 825dd8acc8fd6b0476a2dc49bc6de4712d22c368c0Svenne Krapint prism2mgmt_flashdl_state(wlandevice_t *wlandev, void *msgp); 835dd8acc8fd6b0476a2dc49bc6de4712d22c368c0Svenne Krapint prism2mgmt_flashdl_write(wlandevice_t *wlandev, void *msgp); 845dd8acc8fd6b0476a2dc49bc6de4712d22c368c0Svenne Krapint prism2mgmt_autojoin(wlandevice_t *wlandev, void *msgp); 8500b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman 8600b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman/*--------------------------------------------------------------- 8700b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* conversion functions going between wlan message data types and 8800b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman* Prism2 data types 8900b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman---------------------------------------------------------------*/ 9000b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman/* byte area conversion functions*/ 915dd8acc8fd6b0476a2dc49bc6de4712d22c368c0Svenne Krapvoid prism2mgmt_pstr2bytearea(u8 *bytearea, p80211pstrd_t *pstr); 925dd8acc8fd6b0476a2dc49bc6de4712d22c368c0Svenne Krapvoid prism2mgmt_bytearea2pstr(u8 *bytearea, p80211pstrd_t *pstr, int len); 9300b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman 9400b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman/* byte string conversion functions*/ 955dd8acc8fd6b0476a2dc49bc6de4712d22c368c0Svenne Krapvoid prism2mgmt_pstr2bytestr(hfa384x_bytestr_t *bytestr, p80211pstrd_t *pstr); 965dd8acc8fd6b0476a2dc49bc6de4712d22c368c0Svenne Krapvoid prism2mgmt_bytestr2pstr(hfa384x_bytestr_t *bytestr, p80211pstrd_t *pstr); 9700b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman 9800b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman/* functions to convert Group Addresses */ 995dd8acc8fd6b0476a2dc49bc6de4712d22c368c0Svenne Krapvoid prism2mgmt_get_grpaddr(u32 did, p80211pstrd_t *pstr, hfa384x_t *priv); 100aaad430378dd128ee015c8ed6e77809317c496a5Solomon Peachyint prism2mgmt_set_grpaddr(u32 did, 1015dd8acc8fd6b0476a2dc49bc6de4712d22c368c0Svenne Krap u8 *prism2buf, p80211pstrd_t *pstr, 1025dd8acc8fd6b0476a2dc49bc6de4712d22c368c0Svenne Krap hfa384x_t *priv); 1032407486b839ae1a635b12fa60356dd5e37ac18a4Moritz Muehlenhoffint prism2mgmt_get_grpaddr_index(u32 did); 10400b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman 10500b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartmanvoid prism2sta_processing_defer(struct work_struct *data); 10600b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman 10700b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartmanvoid prism2sta_commsqual_defer(struct work_struct *data); 10800b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartmanvoid prism2sta_commsqual_timer(unsigned long data); 10900b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman 11000b3ed1685089ff52169a715de11106ed37df087Greg Kroah-Hartman#endif 111