⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test.c

📁 Atheros wifi driver source code
💻 C
📖 第 1 页 / 共 3 页
字号:
/* * Copyright (c) 2002-2005 Sam Leffler, Errno Consulting * Copyright (c) 2002-2005 Atheros Communications, Inc. * All rights reserved. * * $Id: test.c,v 1.1.1.1 2006/09/12 03:45:24 steven Exp $ */#include "opt_ah.h"#include "ah.h"#include "ah_internal.h"#include "ah_eeprom.h"#include <stdio.h>#include <stdlib.h>#include <stdarg.h>#include <string.h>#include <unistd.h>#define	IEEE80211_CHAN_MAX	255int		ath_hal_debug = 0;HAL_CTRY_CODE	cc = CTRY_DEFAULT;HAL_BOOL	outdoor = AH_TRUE;HAL_BOOL	Amode = 1;HAL_BOOL	Bmode = 1;HAL_BOOL	Gmode = 1;HAL_BOOL	turbo5Disable = AH_FALSE;u_int16_t	_numCtls = 8;u_int16_t	_ctl[32] =	{ 0x10, 0x13, 0x40, 0x30, 0x11, 0x31, 0x12, 0x32 };RD_EDGES_POWER	_rdEdgesPower[NUM_EDGES*NUM_CTLS] = {	{ 5180, 28, 0 },	/* 0x10 */	{ 5240, 60, 0 },	{ 5260, 36, 0 },	{ 5320, 27, 0 },	{ 5745, 36, 0 },	{ 5765, 36, 0 },	{ 5805, 36, 0 },	{ 5825, 36, 0 },	{ 5210, 28, 0 },	/* 0x13 */	{ 5250, 28, 0 },	{ 5290, 30, 0 },	{ 5760, 36, 0 },	{ 5800, 36, 0 },	{ 0, 0, 0 },	{ 0, 0, 0 },	{ 0, 0, 0 },	{ 5170, 60, 0 },	/* 0x40 */	{ 5230, 60, 0 },	{ 0, 0, 0 },	{ 0, 0, 0 },	{ 0, 0, 0 },	{ 0, 0, 0 },	{ 0, 0, 0 },	{ 0, 0, 0 },	{ 5180, 33, 0 },	/* 0x30 */	{ 5320, 33, 0 },	{ 5500, 34, 0 },	{ 5700, 34, 0 },	{ 5745, 35, 0 },	{ 5765, 35, 0 },	{ 5785, 35, 0 },	{ 5825, 35, 0 },	{ 2412, 36, 0 },	/* 0x11 */	{ 2417, 36, 0 },	{ 2422, 36, 0 },	{ 2432, 36, 0 },	{ 2442, 36, 0 },	{ 2457, 36, 0 },	{ 2467, 36, 0 },	{ 2472, 36, 0 },	{ 2412, 36, 0 },	/* 0x31 */	{ 2417, 36, 0 },	{ 2422, 36, 0 },	{ 2432, 36, 0 },	{ 2442, 36, 0 },	{ 2457, 36, 0 },	{ 2467, 36, 0 },	{ 2472, 36, 0 },	{ 2412, 36, 0 },	/* 0x12 */	{ 2417, 36, 0 },	{ 2422, 36, 0 },	{ 2432, 36, 0 },	{ 2442, 36, 0 },	{ 2457, 36, 0 },	{ 2467, 36, 0 },	{ 2472, 36, 0 },	{ 2412, 28, 0 },	/* 0x32 */	{ 2417, 28, 0 },	{ 2422, 28, 0 },	{ 2432, 28, 0 },	{ 2442, 28, 0 },	{ 2457, 28, 0 },	{ 2467, 28, 0 },	{ 2472, 28, 0 },};u_int16_t	turbo2WMaxPower5 = 32;u_int16_t	turbo2WMaxPower2;int8_t		antennaGainMax[2] = { 0, 0 };	/* XXX */int		eeversion = AR_EEPROM_VER3_1;TRGT_POWER_ALL_MODES tpow = {	8, {	    { 22, 24, 28, 32, 5180 },	    { 22, 24, 28, 32, 5200 },	    { 22, 24, 28, 32, 5320 },	    { 26, 30, 34, 34, 5500 },	    { 26, 30, 34, 34, 5700 },	    { 20, 30, 34, 36, 5745 },	    { 20, 30, 34, 36, 5825 },	    { 20, 30, 34, 36, 5850 },	},	2, {	    { 23, 27, 31, 34, 2412 },	    { 23, 27, 31, 34, 2447 },	},	2, {	    { 36, 36, 36, 36, 2412 },	    { 36, 36, 36, 36, 2484 },	}};#define	numTargetPwr_11a	tpow.numTargetPwr_11a#define	trgtPwr_11a		tpow.trgtPwr_11a#define	numTargetPwr_11g	tpow.numTargetPwr_11g#define	trgtPwr_11g		tpow.trgtPwr_11g#define	numTargetPwr_11b	tpow.numTargetPwr_11b#define	trgtPwr_11b		tpow.trgtPwr_11bstatic HAL_BOOLgetChannelEdges(struct ath_hal *ah, u_int16_t flags, u_int16_t *low, u_int16_t *high){	if (flags & CHANNEL_5GHZ) {		*low = 4920;		*high = 6100;		return AH_TRUE;	}	if (flags & CHANNEL_2GHZ) {		*low = 2312;		*high = 2732;		return AH_TRUE;	}	return AH_FALSE;}static u_intgetWirelessModes(struct ath_hal *ah){	u_int mode = 0;	if (Amode) {		mode = HAL_MODE_11A;		if (!turbo5Disable)			mode |= HAL_MODE_TURBO;	}	if (Bmode)		mode |= HAL_MODE_11B;	if (Gmode)		mode |= HAL_MODE_11G;	return mode;}/* * Convert IEEE channel number to GHz frequency. */u_intath_hal_ieee2mhz(u_int chan, u_int flags){	if (flags & CHANNEL_2GHZ) {	/* 2GHz band */		if (chan == 14)			return 2484;		if (chan < 14)			return 2407 + chan*5;		else			return 2512 + ((chan-15)*20);	} else if (flags & CHANNEL_5GHZ) {/* 5Ghz band */		return 5000 + (chan*5);	} else {			/* either, guess */		if (chan == 14)			return 2484;		if (chan < 14)		/* 0-13 */			return 2407 + chan*5;		if (chan < 27)		/* 15-26 */			return 2512 + ((chan-15)*20);		return 5000 + (chan*5);	}}/* * Country/Region Codes from MS WINNLS.H * Numbering from ISO 3166 */enum CountryCode {    CTRY_ALBANIA              = 8,       /* Albania */    CTRY_ALGERIA              = 12,      /* Algeria */    CTRY_ARGENTINA            = 32,      /* Argentina */    CTRY_ARMENIA              = 51,      /* Armenia */    CTRY_AUSTRALIA            = 36,      /* Australia */    CTRY_AUSTRIA              = 40,      /* Austria */    CTRY_AZERBAIJAN           = 31,      /* Azerbaijan */    CTRY_BAHRAIN              = 48,      /* Bahrain */    CTRY_BELARUS              = 112,     /* Belarus */    CTRY_BELGIUM              = 56,      /* Belgium */    CTRY_BELIZE               = 84,      /* Belize */    CTRY_BOLIVIA              = 68,      /* Bolivia */    CTRY_BRAZIL               = 76,      /* Brazil */    CTRY_BRUNEI_DARUSSALAM    = 96,      /* Brunei Darussalam */    CTRY_BULGARIA             = 100,     /* Bulgaria */    CTRY_CANADA               = 124,     /* Canada */    CTRY_CHILE                = 152,     /* Chile */    CTRY_CHINA                = 156,     /* People's Republic of China */    CTRY_COLOMBIA             = 170,     /* Colombia */    CTRY_COSTA_RICA           = 188,     /* Costa Rica */    CTRY_CROATIA              = 191,     /* Croatia */    CTRY_CYPRUS               = 196,    CTRY_CZECH                = 203,     /* Czech Republic */    CTRY_DENMARK              = 208,     /* Denmark */    CTRY_DOMINICAN_REPUBLIC   = 214,     /* Dominican Republic */    CTRY_ECUADOR              = 218,     /* Ecuador */    CTRY_EGYPT                = 818,     /* Egypt */    CTRY_EL_SALVADOR          = 222,     /* El Salvador */    CTRY_ESTONIA              = 233,     /* Estonia */    CTRY_FAEROE_ISLANDS       = 234,     /* Faeroe Islands */    CTRY_FINLAND              = 246,     /* Finland */    CTRY_FRANCE               = 250,     /* France */    CTRY_FRANCE2              = 255,     /* France2 */    CTRY_GEORGIA              = 268,     /* Georgia */    CTRY_GERMANY              = 276,     /* Germany */    CTRY_GREECE               = 300,     /* Greece */    CTRY_GUATEMALA            = 320,     /* Guatemala */    CTRY_HONDURAS             = 340,     /* Honduras */    CTRY_HONG_KONG            = 344,     /* Hong Kong S.A.R., P.R.C. */    CTRY_HUNGARY              = 348,     /* Hungary */    CTRY_ICELAND              = 352,     /* Iceland */    CTRY_INDIA                = 356,     /* India */    CTRY_INDONESIA            = 360,     /* Indonesia */    CTRY_IRAN                 = 364,     /* Iran */    CTRY_IRAQ                 = 368,     /* Iraq */    CTRY_IRELAND              = 372,     /* Ireland */    CTRY_ISRAEL               = 376,     /* Israel */    CTRY_ITALY                = 380,     /* Italy */    CTRY_JAMAICA              = 388,     /* Jamaica */    CTRY_JAPAN                = 392,     /* Japan */    CTRY_JAPAN1               = 393,     /* Japan (JP1) */    CTRY_JAPAN2               = 394,     /* Japan (JP0) */    CTRY_JAPAN3               = 395,     /* Japan (JP1-1) */    CTRY_JAPAN4               = 396,     /* Japan (JE1) */    CTRY_JAPAN5               = 397,     /* Japan (JE2) */    CTRY_JORDAN               = 400,     /* Jordan */    CTRY_KAZAKHSTAN           = 398,     /* Kazakhstan */    CTRY_KENYA                = 404,     /* Kenya */    CTRY_KOREA_NORTH          = 408,     /* North Korea */    CTRY_KOREA_ROC            = 410,     /* South Korea */    CTRY_KOREA_ROC2           = 411,     /* South Korea */    CTRY_KUWAIT               = 414,     /* Kuwait */    CTRY_LATVIA               = 428,     /* Latvia */    CTRY_LEBANON              = 422,     /* Lebanon */    CTRY_LIBYA                = 434,     /* Libya */    CTRY_LIECHTENSTEIN        = 438,     /* Liechtenstein */    CTRY_LITHUANIA            = 440,     /* Lithuania */    CTRY_LUXEMBOURG           = 442,     /* Luxembourg */    CTRY_MACAU                = 446,     /* Macau */    CTRY_MACEDONIA            = 807,     /* the Former Yugoslav Republic of Macedonia */    CTRY_MALAYSIA             = 458,     /* Malaysia */    CTRY_MEXICO               = 484,     /* Mexico */    CTRY_MONACO               = 492,     /* Principality of Monaco */    CTRY_MOROCCO              = 504,     /* Morocco */    CTRY_NETHERLANDS          = 528,     /* Netherlands */    CTRY_NEW_ZEALAND          = 554,     /* New Zealand */    CTRY_NICARAGUA            = 558,     /* Nicaragua */    CTRY_NORWAY               = 578,     /* Norway */    CTRY_OMAN                 = 512,     /* Oman */    CTRY_PAKISTAN             = 586,     /* Islamic Republic of Pakistan */    CTRY_PANAMA               = 591,     /* Panama */    CTRY_PARAGUAY             = 600,     /* Paraguay */    CTRY_PERU                 = 604,     /* Peru */    CTRY_PHILIPPINES          = 608,     /* Republic of the Philippines */    CTRY_POLAND               = 616,     /* Poland */    CTRY_PORTUGAL             = 620,     /* Portugal */    CTRY_PUERTO_RICO          = 630,     /* Puerto Rico */    CTRY_QATAR                = 634,     /* Qatar */    CTRY_ROMANIA              = 642,     /* Romania */    CTRY_RUSSIA               = 643,     /* Russia */    CTRY_SAUDI_ARABIA         = 682,     /* Saudi Arabia */    CTRY_SINGAPORE            = 702,     /* Singapore */    CTRY_SLOVAKIA             = 703,     /* Slovak Republic */    CTRY_SLOVENIA             = 705,     /* Slovenia */    CTRY_SOUTH_AFRICA         = 710,     /* South Africa */    CTRY_SPAIN                = 724,     /* Spain */    CTRY_SWEDEN               = 752,     /* Sweden */    CTRY_SWITZERLAND          = 756,     /* Switzerland */    CTRY_SYRIA                = 760,     /* Syria */    CTRY_TAIWAN               = 158,     /* Taiwan */    CTRY_THAILAND             = 764,     /* Thailand */    CTRY_TRINIDAD_Y_TOBAGO    = 780,     /* Trinidad y Tobago */    CTRY_TUNISIA              = 788,     /* Tunisia */    CTRY_TURKEY               = 792,     /* Turkey */    CTRY_UAE                  = 784,     /* U.A.E. */    CTRY_UKRAINE              = 804,     /* Ukraine */    CTRY_UNITED_KINGDOM       = 826,     /* United Kingdom */    CTRY_UNITED_STATES        = 840,     /* United States */    CTRY_URUGUAY              = 858,     /* Uruguay */    CTRY_UZBEKISTAN           = 860,     /* Uzbekistan */    CTRY_VENEZUELA            = 862,     /* Venezuela */    CTRY_VIET_NAM             = 704,     /* Viet Nam */    CTRY_YEMEN                = 887,     /* Yemen */    CTRY_ZIMBABWE             = 716      /* Zimbabwe */};/* Enumerated Regulatory Domain Information */enum EnumRd {	/*	 * The following regulatory domain definitions are	 * found in the EEPROM. Each regulatory domain	 * can operate in either a 5GHz or 2.4GHz wireless mode or	 * both 5GHz and 2.4GHz wireless modes.	 * In general, the value holds no special	 * meaning and is used to decode into either specific	 * 2.4GHz or 5GHz wireless mode for that particular	 * regulatory domain.	 */	NO_ENUMRD	= 0x00,	NULL1_WORLD	= 0x03,		/* For 11b-only countries (no 11a allowed) */	NULL1_ETSIB	= 0x07,		/* Israel */	NULL1_ETSIC	= 0x08,	FCC1_FCCA	= 0x10,		/* USA */	FCC1_WORLD	= 0x11,		/* Hong Kong */	FCC2_FCCA	= 0x20,		/* Canada */	FCC2_WORLD	= 0x21,		/* Australia & HK */	FCC2_ETSIC	= 0x22,	FRANCE_RES	= 0x31,		/* Legacy France for OEM */	FCC3_FCCA	= 0x3A,		/* USA & Canada w/5470 band, 11h, DFS enabled */	ETSI1_WORLD	= 0x37,	ETSI3_ETSIA	= 0x32,		/* France (optional) */	ETSI2_WORLD	= 0x35,		/* Hungary & others */	ETSI3_WORLD	= 0x36,		/* France & others */	ETSI4_WORLD	= 0x30,	ETSI4_ETSIC	= 0x38,	ETSI5_WORLD	= 0x39,	ETSI6_WORLD	= 0x34,		/* Bulgaria */	ETSI_RESERVED	= 0x33,		/* Reserved (Do not used) */	MKK1_MKKA	= 0x40,		/* Japan (JP1) */	MKK1_MKKB	= 0x41,		/* Japan (JP0) */	APL4_WORLD	= 0x42,		/* Singapore */	MKK2_MKKA	= 0x43,		/* Japan with 4.9G channels */	APL_RESERVED	= 0x44,		/* Reserved (Do not used)  */	APL2_WORLD	= 0x45,		/* Korea */	APL2_APLC	= 0x46,	APL3_WORLD	= 0x47,	MKK1_FCCA	= 0x48,		/* Japan (JP1-1) */	APL2_APLD	= 0x49,		/* Korea with 2.3G channels */	MKK1_MKKA1	= 0x4A,		/* Japan (JE1) */	MKK1_MKKA2	= 0x4B,		/* Japan (JE2) */	APL1_WORLD	= 0x52,		/* Latin America */	APL1_FCCA	= 0x53,	APL1_APLA	= 0x54,	APL1_ETSIC	= 0x55,	APL2_ETSIC	= 0x56,		/* Venezuela */	APL5_WORLD	= 0x58,		/* Chile */	/*	 * World mode SKUs	 */	WOR0_WORLD	= 0x60,		/* World0 (WO0 SKU) */	WOR1_WORLD	= 0x61,		/* World1 (WO1 SKU) */	WOR2_WORLD	= 0x62,		/* World2 (WO2 SKU) */	WOR3_WORLD	= 0x63,		/* World3 (WO3 SKU) */	WOR4_WORLD	= 0x64,		/* World4 (WO4 SKU) */		WOR5_ETSIC	= 0x65,		/* World5 (WO5 SKU) */    	WOR01_WORLD	= 0x66,		/* World0-1 (WW0-1 SKU) */	WOR02_WORLD	= 0x67,		/* World0-2 (WW0-2 SKU) */	EU1_WORLD	= 0x68,		/* Same as World0-2 (WW0-2 SKU), except active scan ch1-13. No ch14 */	WOR9_WORLD	= 0x69,		/* World9 (WO9 SKU) */		WORA_WORLD	= 0x6A,		/* WorldA (WOA SKU) */		/*	 * Regulator domains ending in a number (e.g. APL1,	 * MK1, ETSI4, etc) apply to 5GHz channel and power	 * information.  Regulator domains ending in a letter	 * (e.g. APLA, FCCA, etc) apply to 2.4GHz channel and	 * power information.	 */	APL1		= 0x0150,	/* LAT & Asia */	APL2		= 0x0250,	/* LAT & Asia */	APL3		= 0x0350,	/* Taiwan */	APL4		= 0x0450,	/* Singapore */	APL5		= 0x0550,	/* Chile */	ETSI1		= 0x0130,	/* Europe & others */	ETSI2		= 0x0230,	/* Europe & others */	ETSI3		= 0x0330,	/* Europe & others */	ETSI4		= 0x0430,	/* Europe & others */	ETSI5		= 0x0530,	/* Europe & others */	ETSI6		= 0x0630,	/* Europe & others */	ETSIA		= 0x0A30,	/* France */	ETSIB		= 0x0B30,	/* Israel */	ETSIC		= 0x0C30,	/* Latin America */	FCC1		= 0x0110,	/* US & others */	FCC2		= 0x0120,	/* Canada, Australia & New Zealand */	FCC3		= 0x0160,	/* US w/new middle band & DFS */    	FCCA		= 0x0A10,	 	APLD		= 0x0D50,	/* South Korea */	MKK1		= 0x0140,	/* Japan */	MKK2		= 0x0240,	/* Japan Extended */	MKKA		= 0x0A40,	/* Japan */	NULL1		= 0x0198,	WORLD		= 0x0199,	DEBUG_REG_DMN	= 0x01ff};#define DEF_REGDMN		FCC1_FCCAstatic struct {	const char *name;	HAL_REG_DOMAIN rd;} domains[] = {	{ "NO_ENUMRD",	NO_ENUMRD },	{ "NULL1_WORLD",	NULL1_WORLD },	{ "NULL1_ETSIB",	NULL1_ETSIB },	{ "NULL1_ETSIC",	NULL1_ETSIC },	{ "FCC1_FCCA",	FCC1_FCCA },	{ "FCC1_WORLD",	FCC1_WORLD },	{ "FCC2_FCCA",	FCC2_FCCA },	{ "FCC2_WORLD",	FCC2_WORLD },	{ "FCC2_ETSIC",	FCC2_ETSIC },	{ "FRANCE_RES",	FRANCE_RES },	{ "FCC3_FCCA",	FCC3_FCCA },	{ "ETSI1_WORLD",	ETSI1_WORLD },	{ "ETSI3_ETSIA",	ETSI3_ETSIA },	{ "ETSI2_WORLD",	ETSI2_WORLD },	{ "ETSI3_WORLD",	ETSI3_WORLD },	{ "ETSI4_WORLD",	ETSI4_WORLD },	{ "ETSI4_ETSIC",	ETSI4_ETSIC },	{ "ETSI5_WORLD",	ETSI5_WORLD },	{ "ETSI6_WORLD",	ETSI6_WORLD },	{ "ETSI_RESERVED",	ETSI_RESERVED },	{ "MKK1_MKKA",	MKK1_MKKA },	{ "MKK1_MKKB",	MKK1_MKKB },

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -