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