/*******************************************************************************
 * Agere Systems Inc.
 * Wireless device driver for Linux (wlags49).
 *
 * Copyright (c) 1998-2003 Agere Systems Inc. 
 * All rights reserved.
 *   http://www.agere.com
 *
 * Initially developed by TriplePoint, Inc.
 *   http://www.triplepoint.com
 *
 *------------------------------------------------------------------------------
 *
 *   This header file contains version information for the code base, as well as
 *   special definitions and macros needed by certain versions of the code.
 *
 *------------------------------------------------------------------------------
 *
 * SOFTWARE LICENSE
 *
 * This software is provided subject to the following terms and conditions,
 * which you should read carefully before using the software.  Using this
 * software indicates your acceptance of these terms and conditions.  If you do
 * not agree with these terms and conditions, do not use the software.
 *
 * Copyright © 2003 Agere Systems Inc.
 * All rights reserved.
 *
 * Redistribution and use in source or binary forms, with or without
 * modifications, are permitted provided that the following conditions are met:
 *
 * . Redistributions of source code must retain the above copyright notice, this
 *    list of conditions and the following Disclaimer as comments in the code as
 *    well as in the documentation and/or other materials provided with the
 *    distribution.
 * 
 * . Redistributions in binary form must reproduce the above copyright notice,
 *    this list of conditions and the following Disclaimer in the documentation
 *    and/or other materials provided with the distribution.
 * 
 * . Neither the name of Agere Systems Inc. nor the names of the contributors
 *    may be used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * Disclaimer
 *
 * THIS SOFTWARE IS PROVIDED “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES,
 * INCLUDING, BUT NOT LIMITED TO, INFRINGEMENT AND THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  ANY
 * USE, MODIFICATION OR DISTRIBUTION OF THIS SOFTWARE IS SOLELY AT THE USERS OWN
 * RISK. IN NO EVENT SHALL AGERE SYSTEMS INC. OR CONTRIBUTORS BE LIABLE FOR ANY
 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 * ON ANY THEORY OF LIABILITY, INCLUDING, BUT NOT LIMITED TO, CONTRACT, STRICT 
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 * DAMAGE.
 *
 ******************************************************************************/




/*******************************************************************************
 * VERSION CONTROL INFORMATION
 *******************************************************************************
 *
 * $Author: nico $
 * $Date: 2004/08/04 12:36:10 $
 * $Revision: 1.7 $
 * $Source: /usr/local/cvs/wl_lkm/include/wireless/wl_version.h,v $
 *
 ******************************************************************************/

#ifndef __WL_VERSION_H__
#define __WL_VERSION_H__

/*******************************************************************************
 *  include files
 ******************************************************************************/
#include <linux/config.h>
#include <linux/version.h>

#ifdef CONFIG_MODVERSIONS
#include <linux/modversions.h>
#else
#define __NO_VERSION__
#endif  // CONFIG_MODVERSIONS

/*******************************************************************************
 *  constant definitions
 ******************************************************************************/

#define VENDOR_NAME         "Agere Systems, http://www.agere.com"

#define DRIVER_NAME         "wlags49"
#define DRV_IDENTITY        49

#define DRV_MAJOR_VERSION   7
#define DRV_MINOR_VERSION   22

#if defined BUS_PCMCIA
#define BUS_TYPE            "PCMCIA"
#elif defined BUS_PCI
#define BUS_TYPE            "PCI"
#else
err: define bus type;
#endif  // BUS_XXX

#if defined HERMES25
#define HW_TYPE				"HII.5"
#else
#define HW_TYPE				"HII"
#endif // HERMES25

#if defined WARP
#define FW_TYPE				"WARP"
#else
#define FW_TYPE				"BEAGLE"
#endif // WARP

#if defined HERMES25
#if defined WARP
#define DRV_VARIANT         3
#else
#define DRV_VARIANT         4
#endif // WARP
#else
#define DRV_VARIANT         2
#endif // HERMES25

#ifdef DBG
#define MODULE_DATE         __DATE__ " " __TIME__
#else
#define MODULE_DATE         "07/18/2004 13:30:00"
#endif // DBG

#define STR2(m) #m
#define STR1(m) STR2(m)
#define MODULE_NAME			STR1( MOD_NAME )

#define VERSION_INFO        MODULE_NAME " v" STR1(DRV_MAJOR_VERSION) "." STR1(DRV_MINOR_VERSION) \
							" for " BUS_TYPE ", " 											   	 \
							MODULE_DATE " by " VENDOR_NAME

#define WIRELESS_SUPPORT    15  // The version of wireless extensions we support 

//#define DBG_MOD_NAME         DRIVER_NAME ":" BUS_TYPE ":" HW_TYPE ":" FW_TYPE
#define DBG_MOD_NAME        MODULE_NAME



/*******************************************************************************
 *  bus architechture specific defines, includes, etc.
 ******************************************************************************/
/* If building for PCMCIA, it's configuration script will be used to determine
   the status of wireless extension support. Otherwise, including wireless
   extension support will be switched on/off by the USE_WEXT condition */
#if defined BUS_PCMCIA
#include <pcmcia/config.h>
#include <pcmcia/k_compat.h>
#elif defined BUS_PCI
#if USE_WEXT
#define HAS_WIRELESS_EXTENSIONS
#endif  // USE_WEXT


/* These are #defines you get "for free" with PCMCIA that I needed to add for 
   PCI to build */
#define NEW_MULTICAST
#define ALLOC_SKB(len)   dev_alloc_skb(len+2)
#define GET_PACKET(dev, skb, count)\
                        skb_reserve((skb), 2); \
                        BLOCK_INPUT(skb_put((skb), (count)), (count)); \
                        (skb)->protocol = eth_type_trans((skb), (dev))
#define GET_PACKET_DMA(dev, skb, count)\
                        skb_reserve((skb), 2); \
                        BLOCK_INPUT_DMA(skb_put((skb), (count)), (count)); \
                        (skb)->protocol = eth_type_trans((skb), (dev))
#endif  // BUS_XXX




#endif  // __WL_VERSION_H__
