192b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond/* 292b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond * Copyright (c) 1996, 2003 VIA Networking Technologies, Inc. 392b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond * All rights reserved. 492b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond * 592b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond * This program is free software; you can redistribute it and/or modify 692b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond * it under the terms of the GNU General Public License as published by 792b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond * the Free Software Foundation; either version 2 of the License, or 892b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond * (at your option) any later version. 992b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond * 1092b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond * This program is distributed in the hope that it will be useful, 1192b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond * but WITHOUT ANY WARRANTY; without even the implied warranty of 1292b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1392b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond * GNU General Public License for more details. 1492b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond * 1592b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond * You should have received a copy of the GNU General Public License along 1692b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond * with this program; if not, write to the Free Software Foundation, Inc., 1792b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 1892b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond * 1992b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond * 2092b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond * File: datarate.h 2192b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond * 2292b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond * Purpose: Handles the auto fallback & data rates functions 2392b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond * 2492b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond * Author: Lyndon Chen 2592b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond * 2692b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond * Date: July 16, 2002 2792b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond * 2892b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond */ 2992b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond#ifndef __DATARATE_H__ 3092b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond#define __DATARATE_H__ 3192b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond 3292b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond/*--------------------- Export Definitions -------------------------*/ 3392b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond 3492b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond#define FALLBACK_PKT_COLLECT_TR_H 50 // pkts 3592b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond#define FALLBACK_PKT_COLLECT_TR_L 10 // pkts 3692b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond#define FALLBACK_POLL_SECOND 5 // 5 sec 3792b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond#define FALLBACK_RECOVER_SECOND 30 // 30 sec 3892b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond#define FALLBACK_THRESHOLD 15 // percent 3992b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond#define UPGRADE_THRESHOLD 5 // percent 4092b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond#define UPGRADE_CNT_THRD 3 // times 4192b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond#define RETRY_TIMES_THRD_H 2 // times 4292b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond#define RETRY_TIMES_THRD_L 1 // times 4392b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond 4492b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond 4592b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond#define RATE_1M 0 4692b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond#define RATE_2M 1 4792b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond#define RATE_5M 2 4892b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond#define RATE_11M 3 4992b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond#define RATE_6M 4 5092b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond#define RATE_9M 5 5192b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond#define RATE_12M 6 5292b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond#define RATE_18M 7 5392b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond#define RATE_24M 8 5492b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond#define RATE_36M 9 5592b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond#define RATE_48M 10 5692b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond#define RATE_54M 11 5792b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond#define RATE_AUTO 12 5892b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond#define MAX_RATE 12 5992b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond 6092b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond/*--------------------- Export Classes ----------------------------*/ 6192b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond 6292b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond/*--------------------- Export Variables --------------------------*/ 6392b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond 6492b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond 6592b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond/*--------------------- Export Types ------------------------------*/ 6692b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond 6792b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond 6892b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond/*--------------------- Export Functions --------------------------*/ 6992b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond 7092b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond 7192b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond 728611a29ab967bc197494db19d31994d1b5a26fdcAndres Morevoid 7392b96797118e5836294a6d42a5a8e10b86f50e3fForest BondRATEvParseMaxRate( 748611a29ab967bc197494db19d31994d1b5a26fdcAndres More void *pDeviceHandler, 75592ccfebb3d7ae6d2fa367b97f080790befa3c6cAndres More PWLAN_IE_SUPP_RATES pItemRates, 76592ccfebb3d7ae6d2fa367b97f080790befa3c6cAndres More PWLAN_IE_SUPP_RATES pItemExtRates, 77592ccfebb3d7ae6d2fa367b97f080790befa3c6cAndres More BOOL bUpdateBasicRate, 786f8c13c7dbe0d51e62bdb1aa11c1c38a8f8e3133Andres More PWORD pwMaxBasicRate, 796f8c13c7dbe0d51e62bdb1aa11c1c38a8f8e3133Andres More PWORD pwMaxSuppRate, 806f8c13c7dbe0d51e62bdb1aa11c1c38a8f8e3133Andres More PWORD pwSuppRate, 816f8c13c7dbe0d51e62bdb1aa11c1c38a8f8e3133Andres More PBYTE pbyTopCCKRate, 826f8c13c7dbe0d51e62bdb1aa11c1c38a8f8e3133Andres More PBYTE pbyTopOFDMRate 8392b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond ); 8492b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond 858611a29ab967bc197494db19d31994d1b5a26fdcAndres Morevoid 8692b96797118e5836294a6d42a5a8e10b86f50e3fForest BondRATEvTxRateFallBack( 878611a29ab967bc197494db19d31994d1b5a26fdcAndres More void *pDeviceHandler, 88592ccfebb3d7ae6d2fa367b97f080790befa3c6cAndres More PKnownNodeDB psNodeDBTable 8992b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond ); 9092b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond 9192b96797118e5836294a6d42a5a8e10b86f50e3fForest BondBYTE 9292b96797118e5836294a6d42a5a8e10b86f50e3fForest BondRATEuSetIE( 93592ccfebb3d7ae6d2fa367b97f080790befa3c6cAndres More PWLAN_IE_SUPP_RATES pSrcRates, 94592ccfebb3d7ae6d2fa367b97f080790befa3c6cAndres More PWLAN_IE_SUPP_RATES pDstRates, 95cc856e61ee4ffb150ff352e3d6940978a2f819e8Andres More unsigned int uRateLen 9692b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond ); 9792b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond 9892b96797118e5836294a6d42a5a8e10b86f50e3fForest BondWORD 9992b96797118e5836294a6d42a5a8e10b86f50e3fForest BondRATEwGetRateIdx( 100592ccfebb3d7ae6d2fa367b97f080790befa3c6cAndres More BYTE byRate 10192b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond ); 10292b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond 10392b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond 10492b96797118e5836294a6d42a5a8e10b86f50e3fForest BondBYTE 10592b96797118e5836294a6d42a5a8e10b86f50e3fForest BondDATARATEbyGetRateIdx( 106592ccfebb3d7ae6d2fa367b97f080790befa3c6cAndres More BYTE byRate 10792b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond ); 10892b96797118e5836294a6d42a5a8e10b86f50e3fForest Bond 109e7b07d1d8936e06f88dbe227401ce659c2f9dee5Andres More#endif /* __DATARATE_H__ */ 110