164064216a8433360745f69edddce19a606659163The Android Open Source Project/****************************************************************************
264064216a8433360745f69edddce19a606659163The Android Open Source Project**+-----------------------------------------------------------------------+**
364064216a8433360745f69edddce19a606659163The Android Open Source Project**|                                                                       |**
464064216a8433360745f69edddce19a606659163The Android Open Source Project**| Copyright(c) 1998 - 2008 Texas Instruments. All rights reserved.      |**
564064216a8433360745f69edddce19a606659163The Android Open Source Project**| All rights reserved.                                                  |**
664064216a8433360745f69edddce19a606659163The Android Open Source Project**|                                                                       |**
764064216a8433360745f69edddce19a606659163The Android Open Source Project**| Redistribution and use in source and binary forms, with or without    |**
864064216a8433360745f69edddce19a606659163The Android Open Source Project**| modification, are permitted provided that the following conditions    |**
964064216a8433360745f69edddce19a606659163The Android Open Source Project**| are met:                                                              |**
1064064216a8433360745f69edddce19a606659163The Android Open Source Project**|                                                                       |**
1164064216a8433360745f69edddce19a606659163The Android Open Source Project**|  * Redistributions of source code must retain the above copyright     |**
1264064216a8433360745f69edddce19a606659163The Android Open Source Project**|    notice, this list of conditions and the following disclaimer.      |**
1364064216a8433360745f69edddce19a606659163The Android Open Source Project**|  * Redistributions in binary form must reproduce the above copyright  |**
1464064216a8433360745f69edddce19a606659163The Android Open Source Project**|    notice, this list of conditions and the following disclaimer in    |**
1564064216a8433360745f69edddce19a606659163The Android Open Source Project**|    the documentation and/or other materials provided with the         |**
1664064216a8433360745f69edddce19a606659163The Android Open Source Project**|    distribution.                                                      |**
1764064216a8433360745f69edddce19a606659163The Android Open Source Project**|  * Neither the name Texas Instruments nor the names of its            |**
1864064216a8433360745f69edddce19a606659163The Android Open Source Project**|    contributors may be used to endorse or promote products derived    |**
1964064216a8433360745f69edddce19a606659163The Android Open Source Project**|    from this software without specific prior written permission.      |**
2064064216a8433360745f69edddce19a606659163The Android Open Source Project**|                                                                       |**
2164064216a8433360745f69edddce19a606659163The Android Open Source Project**| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS   |**
2264064216a8433360745f69edddce19a606659163The Android Open Source Project**| "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT     |**
2364064216a8433360745f69edddce19a606659163The Android Open Source Project**| LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |**
2464064216a8433360745f69edddce19a606659163The Android Open Source Project**| A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT  |**
2564064216a8433360745f69edddce19a606659163The Android Open Source Project**| OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |**
2664064216a8433360745f69edddce19a606659163The Android Open Source Project**| SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT      |**
2764064216a8433360745f69edddce19a606659163The Android Open Source Project**| LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |**
2864064216a8433360745f69edddce19a606659163The Android Open Source Project**| DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |**
2964064216a8433360745f69edddce19a606659163The Android Open Source Project**| THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT   |**
3064064216a8433360745f69edddce19a606659163The Android Open Source Project**| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |**
3164064216a8433360745f69edddce19a606659163The Android Open Source Project**| OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  |**
3264064216a8433360745f69edddce19a606659163The Android Open Source Project**|                                                                       |**
3364064216a8433360745f69edddce19a606659163The Android Open Source Project**+-----------------------------------------------------------------------+**
3464064216a8433360745f69edddce19a606659163The Android Open Source Project****************************************************************************/
3564064216a8433360745f69edddce19a606659163The Android Open Source Project
3664064216a8433360745f69edddce19a606659163The Android Open Source Project/** \file public_types.h
3764064216a8433360745f69edddce19a606659163The Android Open Source Project *  \brief Basic types and general macros, bit manipulations, etc.
3864064216a8433360745f69edddce19a606659163The Android Open Source Project *
3964064216a8433360745f69edddce19a606659163The Android Open Source Project */
4064064216a8433360745f69edddce19a606659163The Android Open Source Project
4164064216a8433360745f69edddce19a606659163The Android Open Source Project#ifndef PUBLIC_TYPES_H
4264064216a8433360745f69edddce19a606659163The Android Open Source Project#define PUBLIC_TYPES_H
4364064216a8433360745f69edddce19a606659163The Android Open Source Project
4464064216a8433360745f69edddce19a606659163The Android Open Source Project
4564064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
4664064216a8433360745f69edddce19a606659163The Android Open Source Project
4764064216a8433360745f69edddce19a606659163The Android Open Source Project    Basic definitions
4864064216a8433360745f69edddce19a606659163The Android Open Source Project
4964064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
5064064216a8433360745f69edddce19a606659163The Android Open Source Project#ifndef uint8
5164064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef unsigned char   uint8;
5264064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
5364064216a8433360745f69edddce19a606659163The Android Open Source Project#ifndef uint16
5464064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef unsigned short  uint16;
5564064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
5664064216a8433360745f69edddce19a606659163The Android Open Source Project#ifndef uint32
5764064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef unsigned long int    uint32;
5864064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
5964064216a8433360745f69edddce19a606659163The Android Open Source Project
6064064216a8433360745f69edddce19a606659163The Android Open Source Project#ifndef int8
6164064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef signed char     int8;
6264064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
6364064216a8433360745f69edddce19a606659163The Android Open Source Project#ifndef int16
6464064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef short           int16;
6564064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
6664064216a8433360745f69edddce19a606659163The Android Open Source Project#ifndef int32
6764064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef long int        int32;
6864064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
6964064216a8433360745f69edddce19a606659163The Android Open Source Project
7064064216a8433360745f69edddce19a606659163The Android Open Source Project#ifndef TRUE
7164064216a8433360745f69edddce19a606659163The Android Open Source Project#define TRUE  1
7264064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
7364064216a8433360745f69edddce19a606659163The Android Open Source Project#ifndef FALSE
7464064216a8433360745f69edddce19a606659163The Android Open Source Project#define FALSE 0
7564064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
7664064216a8433360745f69edddce19a606659163The Android Open Source Project
7764064216a8433360745f69edddce19a606659163The Android Open Source Project/* !! LAC - NULL definition conflicts with the compilers version.
7864064216a8433360745f69edddce19a606659163The Android Open Source Project   I redid this definition to the ANSI version....
7964064216a8433360745f69edddce19a606659163The Android Open Source Project    #define NULL 0
8064064216a8433360745f69edddce19a606659163The Android Open Source Project*/
8164064216a8433360745f69edddce19a606659163The Android Open Source Project#if !defined( NULL )
8264064216a8433360745f69edddce19a606659163The Android Open Source Project#if defined( __cplusplus )
8364064216a8433360745f69edddce19a606659163The Android Open Source Project#define NULL 0
8464064216a8433360745f69edddce19a606659163The Android Open Source Project#else
8564064216a8433360745f69edddce19a606659163The Android Open Source Project#define NULL ((void *)0)
8664064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
8764064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
8864064216a8433360745f69edddce19a606659163The Android Open Source Project
8964064216a8433360745f69edddce19a606659163The Android Open Source Project/* Bool_e should be used when we need it to be a byte. */
9064064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef uint8           Bool_e;
9164064216a8433360745f69edddce19a606659163The Android Open Source Project
9264064216a8433360745f69edddce19a606659163The Android Open Source Project/* Bool32 should be used whenever possible for efficiency */
9364064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef uint32          Bool32;
9464064216a8433360745f69edddce19a606659163The Android Open Source Project
9564064216a8433360745f69edddce19a606659163The Android Open Source Project/* to align enum to 32/16 bits */
9664064216a8433360745f69edddce19a606659163The Android Open Source Project#define MAX_POSITIVE32 0x7FFFFFFF
9764064216a8433360745f69edddce19a606659163The Android Open Source Project#define MAX_POSITIVE16 0x7FFF
9864064216a8433360745f69edddce19a606659163The Android Open Source Project
9964064216a8433360745f69edddce19a606659163The Android Open Source Project
10064064216a8433360745f69edddce19a606659163The Android Open Source Project#define MAC_ADDR_SIZE 6
10164064216a8433360745f69edddce19a606659163The Android Open Source Project
10264064216a8433360745f69edddce19a606659163The Android Open Source Project#ifndef HOST_COMPILE
10364064216a8433360745f69edddce19a606659163The Android Open Source Project#define HOST_COMPILE	/* temp fix for suppl build err */
10464064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
10564064216a8433360745f69edddce19a606659163The Android Open Source Project
10664064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef HOST_COMPILE
10764064216a8433360745f69edddce19a606659163The Android Open Source Project#else
10864064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct macAddress_t
10964064216a8433360745f69edddce19a606659163The Android Open Source Project{
11064064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8 addr[MAC_ADDR_SIZE];
11164064216a8433360745f69edddce19a606659163The Android Open Source Project}macAddress_t;
11264064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
11364064216a8433360745f69edddce19a606659163The Android Open Source Project
11464064216a8433360745f69edddce19a606659163The Android Open Source Project
11564064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_0    0x00000001
11664064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_1    0x00000002
11764064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_2    0x00000004
11864064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_3    0x00000008
11964064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_4    0x00000010
12064064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_5    0x00000020
12164064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_6    0x00000040
12264064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_7    0x00000080
12364064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_8    0x00000100
12464064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_9    0x00000200
12564064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_10   0x00000400
12664064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_11   0x00000800
12764064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_12   0x00001000
12864064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_13   0x00002000
12964064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_14   0x00004000
13064064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_15   0x00008000
13164064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_16   0x00010000
13264064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_17   0x00020000
13364064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_18   0x00040000
13464064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_19   0x00080000
13564064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_20   0x00100000
13664064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_21   0x00200000
13764064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_22   0x00400000
13864064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_23   0x00800000
13964064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_24   0x01000000
14064064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_25   0x02000000
14164064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_26   0x04000000
14264064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_27   0x08000000
14364064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_28   0x10000000
14464064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_29   0x20000000
14564064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_30   0x40000000
14664064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_31   0x80000000
14764064216a8433360745f69edddce19a606659163The Android Open Source Project
14864064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_32   0x00000001
14964064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_33   0x00000002
15064064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_34   0x00000004
15164064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_35   0x00000008
15264064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_36   0x00000010
15364064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_37   0x00000020
15464064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_38   0x00000040
15564064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_39   0x00000080
15664064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_40   0x00000100
15764064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_41   0x00000200
15864064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_42   0x00000400
15964064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_43   0x00000800
16064064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_44   0x00001000
16164064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_45   0x00002000
16264064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_46   0x00004000
16364064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_47   0x00008000
16464064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_48   0x00010000
16564064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_49   0x00020000
16664064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_50   0x00040000
16764064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_51   0x00080000
16864064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_52   0x00100000
16964064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_53   0x00200000
17064064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_54   0x00400000
17164064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_55   0x00800000
17264064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_56   0x01000000
17364064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_57   0x02000000
17464064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_58   0x04000000
17564064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_59   0x08000000
17664064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_60   0x10000000
17764064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_61   0x20000000
17864064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_62   0x40000000
17964064216a8433360745f69edddce19a606659163The Android Open Source Project#define  BIT_63   0x80000000
18064064216a8433360745f69edddce19a606659163The Android Open Source Project
18164064216a8433360745f69edddce19a606659163The Android Open Source Project
18264064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
18364064216a8433360745f69edddce19a606659163The Android Open Source Project
18464064216a8433360745f69edddce19a606659163The Android Open Source Project    CHANNELS, BAND & REG DOMAINS definitions
18564064216a8433360745f69edddce19a606659163The Android Open Source Project
18664064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
18764064216a8433360745f69edddce19a606659163The Android Open Source Project
18864064216a8433360745f69edddce19a606659163The Android Open Source Project
18964064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef uint8 Channel_e;
19064064216a8433360745f69edddce19a606659163The Android Open Source Project
19164064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum
19264064216a8433360745f69edddce19a606659163The Android Open Source Project{
19364064216a8433360745f69edddce19a606659163The Android Open Source Project    RADIO_BAND_2_4GHZ = 0,  /* 2.4 Ghz band */
19464064216a8433360745f69edddce19a606659163The Android Open Source Project    RADIO_BAND_5GHZ = 1,    /* 5 Ghz band */
19564064216a8433360745f69edddce19a606659163The Android Open Source Project    RADIO_BAND_JAPAN_4_9_GHZ = 2,
19664064216a8433360745f69edddce19a606659163The Android Open Source Project    DEFAULT_BAND = RADIO_BAND_2_4GHZ,
19764064216a8433360745f69edddce19a606659163The Android Open Source Project    INVALID_BAND = 0xFE,
19864064216a8433360745f69edddce19a606659163The Android Open Source Project    MAX_RADIO_BANDS = 0xFF
19964064216a8433360745f69edddce19a606659163The Android Open Source Project} RadioBand_enum;
20064064216a8433360745f69edddce19a606659163The Android Open Source Project
20164064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef HOST_COMPILE
20264064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef uint8 RadioBand_e;
20364064216a8433360745f69edddce19a606659163The Android Open Source Project#else
20464064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef RadioBand_enum RadioBand_e;
20564064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
20664064216a8433360745f69edddce19a606659163The Android Open Source Project
20764064216a8433360745f69edddce19a606659163The Android Open Source Project
20864064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum
20964064216a8433360745f69edddce19a606659163The Android Open Source Project{
21064064216a8433360745f69edddce19a606659163The Android Open Source Project    NO_RATE      = 0,
21164064216a8433360745f69edddce19a606659163The Android Open Source Project    RATE_1MBPS   = 0x0A,
21264064216a8433360745f69edddce19a606659163The Android Open Source Project    RATE_2MBPS   = 0x14,
21364064216a8433360745f69edddce19a606659163The Android Open Source Project    RATE_5_5MBPS = 0x37,
21464064216a8433360745f69edddce19a606659163The Android Open Source Project    RATE_6MBPS   = 0x0B,
21564064216a8433360745f69edddce19a606659163The Android Open Source Project    RATE_9MBPS   = 0x0F,
21664064216a8433360745f69edddce19a606659163The Android Open Source Project    RATE_11MBPS  = 0x6E,
21764064216a8433360745f69edddce19a606659163The Android Open Source Project    RATE_12MBPS  = 0x0A,
21864064216a8433360745f69edddce19a606659163The Android Open Source Project    RATE_18MBPS  = 0x0E,
21964064216a8433360745f69edddce19a606659163The Android Open Source Project    RATE_22MBPS  = 0xDC,
22064064216a8433360745f69edddce19a606659163The Android Open Source Project    RATE_24MBPS  = 0x09,
22164064216a8433360745f69edddce19a606659163The Android Open Source Project    RATE_36MBPS  = 0x0D,
22264064216a8433360745f69edddce19a606659163The Android Open Source Project    RATE_48MBPS  = 0x08,
22364064216a8433360745f69edddce19a606659163The Android Open Source Project    RATE_54MBPS  = 0x0C
22464064216a8433360745f69edddce19a606659163The Android Open Source Project} Rate_enum;
22564064216a8433360745f69edddce19a606659163The Android Open Source Project
22664064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef HOST_COMPILE
22764064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef uint8 Rate_e;
22864064216a8433360745f69edddce19a606659163The Android Open Source Project#else
22964064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef Rate_enum Rate_e;
23064064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
23164064216a8433360745f69edddce19a606659163The Android Open Source Project
23264064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum
23364064216a8433360745f69edddce19a606659163The Android Open Source Project{
23464064216a8433360745f69edddce19a606659163The Android Open Source Project	RATE_INDEX_1MBPS   =  0,
23564064216a8433360745f69edddce19a606659163The Android Open Source Project	RATE_INDEX_2MBPS   =  1,
23664064216a8433360745f69edddce19a606659163The Android Open Source Project	RATE_INDEX_5_5MBPS =  2,
23764064216a8433360745f69edddce19a606659163The Android Open Source Project	RATE_INDEX_6MBPS   =  3,
23864064216a8433360745f69edddce19a606659163The Android Open Source Project	RATE_INDEX_9MBPS   =  4,
23964064216a8433360745f69edddce19a606659163The Android Open Source Project	RATE_INDEX_11MBPS  =  5,
24064064216a8433360745f69edddce19a606659163The Android Open Source Project	RATE_INDEX_12MBPS  =  6,
24164064216a8433360745f69edddce19a606659163The Android Open Source Project	RATE_INDEX_18MBPS  =  7,
24264064216a8433360745f69edddce19a606659163The Android Open Source Project	RATE_INDEX_22MBPS  =  8,
24364064216a8433360745f69edddce19a606659163The Android Open Source Project	RATE_INDEX_24MBPS  =  9,
24464064216a8433360745f69edddce19a606659163The Android Open Source Project	RATE_INDEX_36MBPS  =  10,
24564064216a8433360745f69edddce19a606659163The Android Open Source Project	RATE_INDEX_48MBPS  =  11,
24664064216a8433360745f69edddce19a606659163The Android Open Source Project	RATE_INDEX_54MBPS  =  12,
24764064216a8433360745f69edddce19a606659163The Android Open Source Project	RATE_INDEX_MAX     =  RATE_INDEX_54MBPS,
24864064216a8433360745f69edddce19a606659163The Android Open Source Project	MAX_RATE_INDEX,
24964064216a8433360745f69edddce19a606659163The Android Open Source Project	INVALID_RATE_INDEX = MAX_RATE_INDEX,
25064064216a8433360745f69edddce19a606659163The Android Open Source Project	RATE_INDEX_ENUM_MAX_SIZE = 0x7FFFFFFF
25164064216a8433360745f69edddce19a606659163The Android Open Source Project} RateIndex_e;
25264064216a8433360745f69edddce19a606659163The Android Open Source Project
25364064216a8433360745f69edddce19a606659163The Android Open Source Project#define SHORT_PREAMBLE_BIT   BIT_0 /* CCK or Barker depending on the rate */
25464064216a8433360745f69edddce19a606659163The Android Open Source Project#define OFDM_RATE_BIT        BIT_6
25564064216a8433360745f69edddce19a606659163The Android Open Source Project#define PBCC_RATE_BIT        BIT_7
25664064216a8433360745f69edddce19a606659163The Android Open Source Project
25764064216a8433360745f69edddce19a606659163The Android Open Source Project
25864064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum
25964064216a8433360745f69edddce19a606659163The Android Open Source Project{
26064064216a8433360745f69edddce19a606659163The Android Open Source Project    CCK_LONG = 0,
26164064216a8433360745f69edddce19a606659163The Android Open Source Project    CCK_SHORT = SHORT_PREAMBLE_BIT,
26264064216a8433360745f69edddce19a606659163The Android Open Source Project    PBCC_LONG = PBCC_RATE_BIT,
26364064216a8433360745f69edddce19a606659163The Android Open Source Project    PBCC_SHORT = PBCC_RATE_BIT | SHORT_PREAMBLE_BIT,
26464064216a8433360745f69edddce19a606659163The Android Open Source Project    OFDM = OFDM_RATE_BIT
26564064216a8433360745f69edddce19a606659163The Android Open Source Project} Mod_enum;
26664064216a8433360745f69edddce19a606659163The Android Open Source Project
26764064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef HOST_COMPILE
26864064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef  uint8 Mod_e;
26964064216a8433360745f69edddce19a606659163The Android Open Source Project#else
27064064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef  Mod_enum Mod_e;
27164064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
27264064216a8433360745f69edddce19a606659163The Android Open Source Project
27364064216a8433360745f69edddce19a606659163The Android Open Source Project
27464064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef uint16 BasicRateSet_t;
27564064216a8433360745f69edddce19a606659163The Android Open Source Project
27664064216a8433360745f69edddce19a606659163The Android Open Source Project
27764064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
27864064216a8433360745f69edddce19a606659163The Android Open Source Project
27964064216a8433360745f69edddce19a606659163The Android Open Source ProjectTransmit-Descriptor RATE-SET field definitions...
28064064216a8433360745f69edddce19a606659163The Android Open Source Project
28164064216a8433360745f69edddce19a606659163The Android Open Source ProjectDefine a new "Rate-Set" for TX path that incorporates the
28264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRate & Modulation info into a single 16-bit field.
28364064216a8433360745f69edddce19a606659163The Android Open Source Project
28464064216a8433360745f69edddce19a606659163The Android Open Source ProjectTxdRateSet_t:
28564064216a8433360745f69edddce19a606659163The Android Open Source Project  b15    - Indicates Preamble type (1=SHORT, 0=LONG).
28664064216a8433360745f69edddce19a606659163The Android Open Source Project           Notes:
28764064216a8433360745f69edddce19a606659163The Android Open Source Project             Must be LONG (0) for 1Mbps rate.
28864064216a8433360745f69edddce19a606659163The Android Open Source Project             Does not apply (set to 0) for RevG-OFDM rates.
28964064216a8433360745f69edddce19a606659163The Android Open Source Project  b14    - Indicates PBCC encoding (1=PBCC, 0=not).
29064064216a8433360745f69edddce19a606659163The Android Open Source Project           Notes:
29164064216a8433360745f69edddce19a606659163The Android Open Source Project             Does not apply (set to 0) for rates 1 and 2 Mbps.
29264064216a8433360745f69edddce19a606659163The Android Open Source Project             Does not apply (set to 0) for RevG-OFDM rates.
29364064216a8433360745f69edddce19a606659163The Android Open Source Project  b13    - Unused (set to 0).
29464064216a8433360745f69edddce19a606659163The Android Open Source Project  b12-b0 - Supported Rate indicator bits as defined below.
29564064216a8433360745f69edddce19a606659163The Android Open Source Project
29664064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
29764064216a8433360745f69edddce19a606659163The Android Open Source Project
29864064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef uint16 TxdRateSet_t;
29964064216a8433360745f69edddce19a606659163The Android Open Source Project
30064064216a8433360745f69edddce19a606659163The Android Open Source Project
30164064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
30264064216a8433360745f69edddce19a606659163The Android Open Source Project
30364064216a8433360745f69edddce19a606659163The Android Open Source Project    CHIP_ID definitions
30464064216a8433360745f69edddce19a606659163The Android Open Source Project
30564064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
30664064216a8433360745f69edddce19a606659163The Android Open Source Project#define TNETW1150_PG10_CHIP_ID          0x04010101
30764064216a8433360745f69edddce19a606659163The Android Open Source Project#define TNETW1150_PG11_CHIP_ID          0x04020101
30864064216a8433360745f69edddce19a606659163The Android Open Source Project#define TNETW1150_CHIP_ID               0x04030101  /* 1150 PG2.0, 1250, 1350, 1450*/
30964064216a8433360745f69edddce19a606659163The Android Open Source Project#define TNETW1350A_CHIP_ID              0x06010101
31064064216a8433360745f69edddce19a606659163The Android Open Source Project#define TNETW1251_CHIP_ID_PG1_0         0x07010101
31164064216a8433360745f69edddce19a606659163The Android Open Source Project#define TNETW1251_CHIP_ID_PG1_1         0x07020101
31264064216a8433360745f69edddce19a606659163The Android Open Source Project#define TNETW1251_CHIP_ID_PG1_2	        0x07030101
31364064216a8433360745f69edddce19a606659163The Android Open Source Project
31464064216a8433360745f69edddce19a606659163The Android Open Source Project#define IS_CHIP_PG_LESS_THEN_PG12()      ((CHIP_ID == TNETW1251_CHIP_ID_PG1_0) || (CHIP_ID == TNETW1251_CHIP_ID_PG1_1))
31564064216a8433360745f69edddce19a606659163The Android Open Source Project
31664064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
31764064216a8433360745f69edddce19a606659163The Android Open Source ProjectEnable bits for SOC1251 PG1.2
31864064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
31964064216a8433360745f69edddce19a606659163The Android Open Source Project#define PDET_BINARY_OFFSET_EN   BIT_0
32064064216a8433360745f69edddce19a606659163The Android Open Source Project#define STOP_TOGGLE_MONADC_EN   BIT_1
32164064216a8433360745f69edddce19a606659163The Android Open Source Project#define RX_ADC_BIAS_DEC_EN      BIT_2
32264064216a8433360745f69edddce19a606659163The Android Open Source Project#define RX_LNB_AND_DIGI_GAIN_EN BIT_3
32364064216a8433360745f69edddce19a606659163The Android Open Source Project
32464064216a8433360745f69edddce19a606659163The Android Open Source Project
32564064216a8433360745f69edddce19a606659163The Android Open Source Project#endif /* PUBLIC_TYPES_H*/
326