Linux Audio

Check our new training course

Loading...
Note: File does not exist in v6.9.4.
  1#ifndef __WINBOND_LOCALPARA_H
  2#define __WINBOND_LOCALPARA_H
  3
  4/*
  5 * =============================================================
  6 * LocalPara.h -
  7 * =============================================================
  8 */
  9
 10#include "mac_structures.h"
 11
 12/* Define the local ability */
 13
 14#define LOCAL_DEFAULT_BEACON_PERIOD	100	/* ms */
 15#define LOCAL_DEFAULT_ATIM_WINDOW	0
 16#define LOCAL_DEFAULT_ERP_CAPABILITY	0x0431	/*
 17						 * 0x0001: ESS
 18						 * 0x0010: Privacy
 19						 * 0x0020: short preamble
 20						 * 0x0400: short slot time
 21						 */
 22#define LOCAL_DEFAULT_LISTEN_INTERVAL	5
 23
 24#define LOCAL_DEFAULT_24_CHANNEL_NUM	13	/* channel 1..13 */
 25#define LOCAL_DEFAULT_5_CHANNEL_NUM	8	/* channel 36..64 */
 26
 27#define LOCAL_USA_24_CHANNEL_NUM	11
 28#define LOCAL_USA_5_CHANNEL_NUM		12
 29#define LOCAL_EUROPE_24_CHANNEL_NUM	13
 30#define LOCAL_EUROPE_5_CHANNEL_NUM	19
 31#define LOCAL_JAPAN_24_CHANNEL_NUM	14
 32#define LOCAL_JAPAN_5_CHANNEL_NUM	11
 33#define LOCAL_UNKNOWN_24_CHANNEL_NUM	14
 34#define LOCAL_UNKNOWN_5_CHANNEL_NUM	34	/* not include 165 */
 35
 36#define psLOCAL				(&(adapter->sLocalPara))
 37
 38#define MODE_802_11_BG			0
 39#define MODE_802_11_A			1
 40#define MODE_802_11_ABG			2
 41#define MODE_802_11_BG_IBSS		3
 42#define MODE_802_11_B			4
 43#define MODE_AUTO			255
 44
 45#define BAND_TYPE_DSSS			0
 46#define BAND_TYPE_OFDM_24		1
 47#define BAND_TYPE_OFDM_5		2
 48
 49/* refer Bitmap2RateValue table */
 50
 51/* the bitmap value of all the H/W supported rates: */
 52/* 1, 2, 5.5, 11, 6, 9, 12, 18, 24, 36, 48, 54 */
 53#define LOCAL_ALL_SUPPORTED_RATES_BITMAP	0x130c1a66
 54/* the bitmap value of all the H/W supported rates except to non-OFDM rates: */
 55/* 6, 9, 12, 18, 24, 36, 48, 54 */
 56#define LOCAL_OFDM_SUPPORTED_RATES_BITMAP	0x130c1240
 57#define LOCAL_11B_SUPPORTED_RATE_BITMAP		0x826
 58#define LOCAL_11B_BASIC_RATE_BITMAP		0x826
 59#define LOCAL_11B_OPERATION_RATE_BITMAP		0x826
 60#define LOCAL_11G_BASIC_RATE_BITMAP		0x826	   /* 1, 2, 5.5, 11 */
 61#define LOCAL_11G_OPERATION_RATE_BITMAP		0x130c1240 /* 6, 9, 12, 18, 24, 36, 48, 54 */
 62#define LOCAL_11A_BASIC_RATE_BITMAP		0x01001040 /* 6, 12, 24 */
 63#define LOCAL_11A_OPERATION_RATE_BITMAP		0x120c0200 /* 9, 18, 36, 48, 54 */
 64
 65
 66#define PWR_ACTIVE				0
 67#define PWR_SAVE				1
 68#define PWR_TX_IDLE_CYCLE			6
 69
 70/* bPreambleMode and bSlotTimeMode */
 71#define AUTO_MODE				0
 72#define LONG_MODE				1
 73
 74/* Region definition */
 75#define REGION_AUTO				0xff
 76#define REGION_UNKNOWN				0
 77#define REGION_EUROPE				1	/* ETSI */
 78#define REGION_JAPAN				2	/* MKK */
 79#define REGION_USA				3	/* FCC */
 80#define	REGION_FRANCE				4	/* FRANCE */
 81#define REGION_SPAIN				5	/* SPAIN */
 82#define REGION_ISRAEL				6	/* ISRAEL */
 83
 84#define MAX_BSS_DESCRIPT_ELEMENT		32
 85#define MAX_PMKID_CandidateList			16
 86
 87/*
 88 * High byte : Event number,  low byte : reason
 89 * Event definition
 90 * -- SME/MLME event
 91 */
 92#define EVENT_RCV_DEAUTH			0x0100
 93#define EVENT_JOIN_FAIL				0x0200
 94#define EVENT_AUTH_FAIL				0x0300
 95#define EVENT_ASSOC_FAIL			0x0400
 96#define EVENT_LOST_SIGNAL			0x0500
 97#define EVENT_BSS_DESCRIPT_LACK			0x0600
 98#define EVENT_COUNTERMEASURE			0x0700
 99#define EVENT_JOIN_FILTER			0x0800
100/* -- TX/RX event */
101#define EVENT_RX_BUFF_UNAVAILABLE		0x4100
102
103#define EVENT_CONNECT				0x8100
104#define EVENT_DISCONNECT			0x8200
105#define EVENT_SCAN_REQ				0x8300
106
107/* Reason of Event */
108#define EVENT_REASON_FILTER_BASIC_RATE		0x0001
109#define EVENT_REASON_FILTER_PRIVACY		0x0002
110#define EVENT_REASON_FILTER_AUTH_MODE		0x0003
111#define EVENT_REASON_TIMEOUT			0x00ff
112
113/* Due to[E id][Length][OUI][Data] may be 257 bytes */
114#define MAX_IE_APPEND_SIZE			(256 + 4)
115
116struct chan_info {
117	u8	band;
118	u8	ChanNo;
119};
120
121struct radio_off {
122	u8	boHwRadioOff;
123	u8	boSwRadioOff;
124};
125
126struct wb_local_para {
127	/* read from EPROM, manufacture set for each NetCard */
128	u8	PermanentAddress[MAC_ADDR_LENGTH + 2];
129	/* the driver will use this one actually. */
130	u8	ThisMacAddress[MAC_ADDR_LENGTH + 2];
131	u32	MTUsize;	/* Ind to Uplayer, Max transmission unit size */
132	u8	region_INF;	/* region setting from INF */
133	u8	region;		/* real region setting of the device */
134	u8	Reserved_1[2];
135
136	/* power-save variables */
137	u8	iPowerSaveMode; /* 0 indicates on, 1 indicates off */
138	u8	ATIMmode;
139	u8	ExcludeUnencrypted;
140	/* Unit ime count for the decision to enter PS mode */
141	u16	CheckCountForPS;
142	u8	boHasTxActivity;/* tx activity has occurred */
143	u8	boMacPsValid;	/* Power save mode obtained from H/W is valid or not */
144
145	/* Rate */
146	u8	TxRateMode; /*
147			     * Initial, input from Registry,
148			     * may be updated by GUI
149			     * Tx Rate Mode: auto(DTO on), max, 1M, 2M, ..
150			     */
151	u8	CurrentTxRate;		/* The current Tx rate */
152	u8	CurrentTxRateForMng;	/*
153					 * The current Tx rate for management
154					 * frames. It will be decided before
155					 * connection succeeds.
156					 */
157	u8	CurrentTxFallbackRate;
158
159	/* for Rate handler */
160	u8	BRateSet[32];		/* basic rate set */
161	u8	SRateSet[32];		/* support rate set */
162
163	u8	NumOfBRate;
164	u8	NumOfSRate;
165	u8	NumOfDsssRateInSRate;	/* number of DSSS rates in supported rate set */
166	u8	reserved1;
167
168	u32	dwBasicRateBitmap;	/* bit map of basic rates */
169
170	u32	dwSupportRateBitmap;	/* bit map of all support rates including basic and operational rates */
171
172
173	/* For SME/MLME handler */
174
175	u16	wOldSTAindex;		/* valid when boHandover=TRUE, store old connected STA index */
176	u16	wConnectedSTAindex;	/* Index of peerly connected AP or IBSS in the descriptionset. */
177	u16	Association_ID;		/* The Association ID in the (Re)Association Response frame. */
178	u16	ListenInterval;		/* The listen interval when SME invoking MLME_ (Re)Associate_Request(). */
179
180	struct	radio_off RadioOffStatus;
181	u8	Reserved0[2];
182	u8	boMsRadioOff;		/* Ndis demands to be true when set Disassoc. OID and be false when set SSID OID. */
183	u8	bAntennaNo;		/* which antenna */
184	u8	bConnectFlag;		/* the connect status flag for roaming task */
185
186	u8	RoamStatus;
187	u8	reserved7[3];
188
189	struct	chan_info CurrentChan;	/* Current channel no. and channel band. It may be changed by scanning. */
190	u8	boHandover;		/* Roaming, Hnadover to other AP. */
191	u8	boCCAbusy;
192
193	u16	CWMax;			/* It may not be the real value that H/W used */
194	u8	CWMin;			/* 255: set according to 802.11 spec. */
195	u8	reserved2;
196
197	/* 11G: */
198	u8	bMacOperationMode;	/* operation in 802.11b or 802.11g */
199	u8	bSlotTimeMode;		/* AUTO, s32 */
200	u8	bPreambleMode;		/* AUTO, s32 */
201	u8	boNonERPpresent;
202
203	u8	boProtectMechanism;	/* H/W will take the necessary action based on this variable */
204	u8	boShortPreamble;	/* Same here */
205	u8	boShortSlotTime;	/* Same here */
206	u8	reserved_3;
207
208	u32	RSN_IE_Bitmap;
209	u32	RSN_OUI_Type;
210
211	/* For the BSSID */
212	u8	HwBssid[MAC_ADDR_LENGTH + 2];
213	u32	HwBssidValid;
214
215	/* For scan list */
216	u8	BssListCount;		/* Total count of valid descriptor indexes */
217	u8	boReceiveUncorrectInfo;	/* important settings in beacon/probe resp. have been changed */
218	u8	NoOfJoinerInIbss;
219	u8	reserved_4;
220
221	/* Store the valid descriptor indexes obtained from scannings */
222	u8	BssListIndex[(MAX_BSS_DESCRIPT_ELEMENT + 3) & ~0x03];
223	/*
224	 * Save the BssDescriptor index in this IBSS.
225	 * The index 0 is local descriptor (psLOCAL->wConnectedSTAindex).
226	 * If CONNECTED : NoOfJoinerInIbss >= 2
227	 * else		: NoOfJoinerInIbss <= 1
228	 */
229	u8	JoinerInIbss[(MAX_BSS_DESCRIPT_ELEMENT + 3) & ~0x03];
230
231	/* General Statistics, count at Rx_handler or Tx_callback interrupt handler */
232	u64	GS_XMIT_OK;		/* Good Frames Transmitted */
233	u64	GS_RCV_OK;		/* Good Frames Received */
234	u32	GS_RCV_ERROR;		/* Frames received with crc error */
235	u32	GS_XMIT_ERROR;		/* Bad Frames Transmitted */
236	u32	GS_RCV_NO_BUFFER;	/* Receive Buffer underrun */
237	u32	GS_XMIT_ONE_COLLISION;	/* one collision */
238	u32	GS_XMIT_MORE_COLLISIONS;/* more collisions */
239
240	/*
241	 * ================================================================
242	 * Statistics (no matter whether it had done successfully) -wkchen
243	 * ================================================================
244	 */
245	u32	_NumRxMSDU;
246	u32	_NumTxMSDU;
247	u32	_dot11WEPExcludedCount;
248	u32	_dot11WEPUndecryptableCount;
249	u32	_dot11FrameDuplicateCount;
250
251	struct	chan_info IbssChanSetting;	/* 2B. Start IBSS Channel setting by registry or WWU. */
252	u8	reserved_5[2];		/* It may not be used after considering RF type, region and modulation type. */
253
254	u8	reserved_6[2];		/* two variables are for wep key error detection */
255	u32	bWepKeyError;
256	u32	bToSelfPacketReceived;
257	u32	WepKeyDetectTimerCount;
258
259	u16	SignalLostTh;
260	u16	SignalRoamTh;
261
262	u8		IE_Append_data[MAX_IE_APPEND_SIZE];
263	u16		IE_Append_size;
264	u16		reserved_7;
265};
266
267#endif