1/******************************************************************************* 2 * Agere Systems Inc. 3 * Wireless device driver for Linux (wlags49). 4 * 5 * Copyright (c) 1998-2003 Agere Systems Inc. 6 * All rights reserved. 7 * http://www.agere.com 8 * 9 * Initially developed by TriplePoint, Inc. 10 * http://www.triplepoint.com 11 * 12 *------------------------------------------------------------------------------ 13 * 14 * Header describing device specific routines and driver init/un-init. 15 * 16 *------------------------------------------------------------------------------ 17 * 18 * SOFTWARE LICENSE 19 * 20 * This software is provided subject to the following terms and conditions, 21 * which you should read carefully before using the software. Using this 22 * software indicates your acceptance of these terms and conditions. If you do 23 * not agree with these terms and conditions, do not use the software. 24 * 25 * Copyright © 2003 Agere Systems Inc. 26 * All rights reserved. 27 * 28 * Redistribution and use in source or binary forms, with or without 29 * modifications, are permitted provided that the following conditions are met: 30 * 31 * . Redistributions of source code must retain the above copyright notice, this 32 * list of conditions and the following Disclaimer as comments in the code as 33 * well as in the documentation and/or other materials provided with the 34 * distribution. 35 * 36 * . Redistributions in binary form must reproduce the above copyright notice, 37 * this list of conditions and the following Disclaimer in the documentation 38 * and/or other materials provided with the distribution. 39 * 40 * . Neither the name of Agere Systems Inc. nor the names of the contributors 41 * may be used to endorse or promote products derived from this software 42 * without specific prior written permission. 43 * 44 * Disclaimer 45 * 46 * THIS SOFTWARE IS PROVIDED AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, 47 * INCLUDING, BUT NOT LIMITED TO, INFRINGEMENT AND THE IMPLIED WARRANTIES OF 48 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ANY 49 * USE, MODIFICATION OR DISTRIBUTION OF THIS SOFTWARE IS SOLELY AT THE USERS OWN 50 * RISK. IN NO EVENT SHALL AGERE SYSTEMS INC. OR CONTRIBUTORS BE LIABLE FOR ANY 51 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 52 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 53 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 54 * ON ANY THEORY OF LIABILITY, INCLUDING, BUT NOT LIMITED TO, CONTRACT, STRICT 55 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 56 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 57 * DAMAGE. 58 * 59 ******************************************************************************/ 60 61#ifndef __WL_MAIN_H__ 62#define __WL_MAIN_H__ 63 64 65 66 67/******************************************************************************* 68 * function prototypes 69 ******************************************************************************/ 70int wl_insert( struct net_device *dev ); 71 72void wl_set_wep_keys( struct wl_private *lp ); 73 74int wl_put_ltv_init( struct wl_private *lp ); 75 76int wl_put_ltv( struct wl_private *lp ); 77 78p_u16 wl_get_irq_mask( void ); 79 80p_s8 * wl_get_irq_list( void ); 81 82int wl_reset( struct net_device *dev ); 83 84int wl_go( struct wl_private *lp ); 85 86int wl_apply( struct wl_private *lp ); 87 88irqreturn_t wl_isr( int irq, void *dev_id, struct pt_regs *regs ); 89 90void wl_remove( struct net_device *dev ); 91 92void wl_suspend( struct net_device *dev ); 93 94void wl_resume( struct net_device *dev ); 95 96void wl_release( struct net_device *dev ); 97 98int wl_enable( struct wl_private *lp ); 99 100int wl_connect( struct wl_private *lp ); 101 102int wl_disable( struct wl_private *lp ); 103 104int wl_disconnect( struct wl_private *lp ); 105 106void wl_enable_wds_ports( struct wl_private * lp ); 107 108void wl_disable_wds_ports( struct wl_private * lp ); 109 110#ifndef USE_MBOX_SYNC 111 112int wl_mbx( struct wl_private *lp ); 113void wl_endian_translate_mailbox( ltv_t *ltv ); 114void wl_process_mailbox( struct wl_private *lp ); 115 116#endif /* USE_MBOX_SYNC */ 117 118 119#ifdef USE_WDS 120 121void wl_wds_netdev_register( struct wl_private *lp ); 122void wl_wds_netdev_deregister( struct wl_private *lp ); 123 124#endif /* USE_WDS */ 125 126 127#ifdef USE_WDS 128 129#define WL_WDS_NETDEV_REGISTER( ARG ) wl_wds_netdev_register( ARG ) 130#define WL_WDS_NETDEV_DEREGISTER( ARG ) wl_wds_netdev_deregister( ARG ) 131 132#else 133 134#define WL_WDS_NETDEV_REGISTER( ARG ) 135#define WL_WDS_NETDEV_DEREGISTER( ARG ) 136 137#endif /* USE_WDS */ 138#endif // __WL_MAIN_H__ 139