linux/drivers/staging/wlags49_h2/wl_netdev.h
<<
>>
Prefs
   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 information required by the network layerentry points
  15 *   into the driver.
  16 *
  17 *------------------------------------------------------------------------------
  18 *
  19 * SOFTWARE LICENSE
  20 *
  21 * This software is provided subject to the following terms and conditions,
  22 * which you should read carefully before using the software.  Using this
  23 * software indicates your acceptance of these terms and conditions.  If you do
  24 * not agree with these terms and conditions, do not use the software.
  25 *
  26 * Copyright © 2003 Agere Systems Inc.
  27 * All rights reserved.
  28 *
  29 * Redistribution and use in source or binary forms, with or without
  30 * modifications, are permitted provided that the following conditions are met:
  31 *
  32 * . Redistributions of source code must retain the above copyright notice, this
  33 *    list of conditions and the following Disclaimer as comments in the code as
  34 *    well as in the documentation and/or other materials provided with the
  35 *    distribution.
  36 *
  37 * . Redistributions in binary form must reproduce the above copyright notice,
  38 *    this list of conditions and the following Disclaimer in the documentation
  39 *    and/or other materials provided with the distribution.
  40 *
  41 * . Neither the name of Agere Systems Inc. nor the names of the contributors
  42 *    may be used to endorse or promote products derived from this software
  43 *    without specific prior written permission.
  44 *
  45 * Disclaimer
  46 *
  47 * THIS SOFTWARE IS PROVIDED “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES,
  48 * INCLUDING, BUT NOT LIMITED TO, INFRINGEMENT AND THE IMPLIED WARRANTIES OF
  49 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  ANY
  50 * USE, MODIFICATION OR DISTRIBUTION OF THIS SOFTWARE IS SOLELY AT THE USERS OWN
  51 * RISK. IN NO EVENT SHALL AGERE SYSTEMS INC. OR CONTRIBUTORS BE LIABLE FOR ANY
  52 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  53 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  54 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  55 * ON ANY THEORY OF LIABILITY, INCLUDING, BUT NOT LIMITED TO, CONTRACT, STRICT
  56 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  57 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
  58 * DAMAGE.
  59 *
  60 ******************************************************************************/
  61
  62#ifndef __WL_NETDEV_H__
  63#define __WL_NETDEV_H__
  64
  65
  66
  67
  68/*******************************************************************************
  69 *  function prototypes
  70 ******************************************************************************/
  71int wl_init(struct net_device *dev);
  72
  73int wl_config(struct net_device *dev, struct ifmap *map);
  74
  75struct net_device *wl_device_alloc(void);
  76
  77void wl_device_dealloc(struct net_device *dev);
  78
  79int wl_open(struct net_device *dev);
  80
  81int wl_close(struct net_device *dev);
  82
  83int wl_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
  84
  85int wl_tx(struct sk_buff *skb, struct net_device *dev, int port);
  86
  87int wl_send(struct wl_private *lp);
  88
  89int wl_rx(struct net_device *dev);
  90
  91void wl_tx_timeout(struct net_device *dev);
  92
  93struct net_device_stats *wl_stats(struct net_device *dev);
  94
  95
  96#ifdef ENABLE_DMA
  97int wl_send_dma(struct wl_private *lp, struct sk_buff *skb, int port);
  98int wl_rx_dma(struct net_device *dev);
  99#endif
 100
 101#ifdef NEW_MULTICAST
 102void wl_multicast(struct net_device *dev);
 103#else
 104void wl_multicast(struct net_device *dev, int num_addrs, void *addrs);
 105#endif /* NEW_MULTICAST */
 106
 107
 108int wl_tx_port0(struct sk_buff *skb, struct net_device *dev);
 109
 110
 111#ifdef USE_WDS
 112
 113int wl_tx_port1(struct sk_buff *skb, struct net_device *dev);
 114int wl_tx_port2(struct sk_buff *skb, struct net_device *dev);
 115int wl_tx_port3(struct sk_buff *skb, struct net_device *dev);
 116int wl_tx_port4(struct sk_buff *skb, struct net_device *dev);
 117int wl_tx_port5(struct sk_buff *skb, struct net_device *dev);
 118int wl_tx_port6(struct sk_buff *skb, struct net_device *dev);
 119
 120void wl_wds_device_alloc(struct wl_private *lp);
 121void wl_wds_device_dealloc(struct wl_private *lp);
 122void wl_wds_netif_start_queue(struct wl_private *lp);
 123void wl_wds_netif_stop_queue(struct wl_private *lp);
 124void wl_wds_netif_wake_queue(struct wl_private *lp);
 125void wl_wds_netif_carrier_on(struct wl_private *lp);
 126void wl_wds_netif_carrier_off(struct wl_private *lp);
 127
 128#endif  /* USE_WDS */
 129
 130
 131#ifdef USE_WDS
 132
 133#define WL_WDS_DEVICE_ALLOC(ARG)      wl_wds_device_alloc(ARG)
 134#define WL_WDS_DEVICE_DEALLOC(ARG)    wl_wds_device_dealloc(ARG)
 135#define WL_WDS_NETIF_START_QUEUE(ARG) wl_wds_netif_start_queue(ARG)
 136#define WL_WDS_NETIF_STOP_QUEUE(ARG)  wl_wds_netif_stop_queue(ARG)
 137#define WL_WDS_NETIF_WAKE_QUEUE(ARG)  wl_wds_netif_wake_queue(ARG)
 138#define WL_WDS_NETIF_CARRIER_ON(ARG)  wl_wds_netif_carrier_on(ARG)
 139#define WL_WDS_NETIF_CARRIER_OFF(ARG) wl_wds_netif_carrier_off(ARG)
 140
 141#else
 142
 143#define WL_WDS_DEVICE_ALLOC(ARG)
 144#define WL_WDS_DEVICE_DEALLOC(ARG)
 145#define WL_WDS_NETIF_START_QUEUE(ARG)
 146#define WL_WDS_NETIF_STOP_QUEUE(ARG)
 147#define WL_WDS_NETIF_WAKE_QUEUE(ARG)
 148#define WL_WDS_NETIF_CARRIER_ON(ARG)
 149#define WL_WDS_NETIF_CARRIER_OFF(ARG)
 150
 151#endif  /* USE_WDS */
 152
 153
 154#endif  /* __WL_NETDEV_H__ */
 155