/* asource.c: [one line description of file]
*    --------------------------------------------------------------------
*
*   [Project Name]
*
*   [License Statement, eg.
*   The contents of this file are subject to the Mozilla Public
*   License Version 1.0 (the "License"); you may not use this file
*   except in compliance with the License. You may obtain a copy of
*   the License at http://www.mozilla.org/MPL/ ]
*
*   [Warranty Statement, eg.
*   Software distributed under the License is distributed on an "AS
*   IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
*   implied. See the License for the specific language governing
*   rights and limitations under the License. ]
*
*   [Author contact, eg.
*   Copyright (C) 1998 AbsoluteValue Software, Inc.  All Rights Reserved.
*
*   Inquiries regarding the linux-wlan Open Source project can be
*   made directly to:
*
*   AbsoluteValue Systems Inc.
*   info@linux-wlan.com
*   http://www.linux-wlan.com ]
*
*   [Change History]
*
*   [Verbose Description]
*
*   [Implementation and usage notes]
*
*   [References]
*
*    --------------------------------------------------------------------
*/

/* Portability/Compatibility header */
#include <wlan/wlan_compat.h>

/* The following prevents "kernel_version" from being set in this file. */
#define __NO_VERSION__

/* Non-project specific includes */
/* PCMCIA headers generated during PCMCIA package installation */
#include <pcmcia/config.h>
#include <pcmcia/k_compat.h>

/* Module related headers, non-module drivers should not include */
#include <linux/version.h>

#include <assert.h>
#include <linux/delay.h>
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/fcntl.h>
#include <linux/interrupt.h>
#include <linux/ptrace.h>
#include <linux/ioport.h>
#include <linux/in.h>
#include <linux/malloc.h>
#include <linux/string.h>
#include <linux/timer.h>
#include <asm/system.h>
#include <asm/bitops.h>
#include <asm/io.h>
#include <linux/errno.h>

/* Project Includes */
#include <wlan/version.h>
#include <wlan/am930mib.h>
#include <wlan/p80211hdr.h>
#include <wlan/p80211mgmt.h>
#include <wlan/wlan_ioctl.h>
#include <wlan/wlan_stable.h>
#include "am930di.h"
#include "am930llc.h"
#include "am930mac.h"
#include "am930hw.h"
#include "am930mgr.h"

/*====================================================================*/
/* Local Constants                                                    */
/*====================================================================*/

#define ACONSTANT    22


/*====================================================================*/
/* Local Types                                                        */
/*====================================================================*/

typdef struct atype
{
    struct atype *next;
    struct atype *prev;
} atype_t;


/*====================================================================*/
/* Static data defined in this file                                   */
/*====================================================================*/

UINT8    wepkey[WLAN_WEP_NKEYS][WLAN_WEP_KEYLEN] =
{
    { 0xf1, 0x10, 0xec, 0xe0, 0xdc },
    { 0x0f, 0xf2, 0x04, 0x09, 0xfb },
    { 0x13, 0x37, 0xf2, 0xf9, 0x2d },
    { 0xe9, 0x17, 0x19, 0x63, 0xc7 }
};


/*====================================================================*/
/* Local Function Declarations                                        */
/*====================================================================*/

static void am930mgr_authen1_rx( am930mgr_t *mgr, wlan_fr_authen_t *f );
static void am930mgr_authen2_rx( am930mgr_t *mgr, wlan_fr_authen_t *f );
static void am930mgr_authen3_rx( am930mgr_t *mgr, wlan_fr_authen_t *f );
static void am930mgr_authen4_rx( am930mgr_t *mgr, wlan_fr_authen_t *f );

/*====================================================================*/
/* Function Definitions                                               */
/*====================================================================*/


/*----------------------------------------------------------------
*    am930mgr_assoc_begin_sta
*
*    Start the station association procedure.  Namely, send an
*    association request frame to the AP.
*
*    returns: nothing for now
----------------------------------------------------------------*/
void am930mgr_assoc_begin_sta(am930mgr_t *mgr)