2 ** $Id: //Department/DaVinci/BRANCHES/MT662X_593X_WIFI_DRIVER_V2_3/include/typedef.h#1 $
6 \brief Declaration of data type and return values of internal protocol stack.
8 In this file we declare the data type and return values which will be exported
12 /*******************************************************************************
13 * Copyright (c) 2007 MediaTek Inc.
15 * All rights reserved. Copying, compilation, modification, distribution
16 * or any other use whatsoever of this material is strictly prohibited
17 * except in accordance with a Software License Agreement with
19 ********************************************************************************
22 /*******************************************************************************
25 * BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND
26 * AGREES THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK
27 * SOFTWARE") RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE
28 * PROVIDED TO BUYER ON AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY
29 * DISCLAIMS ANY AND ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
30 * LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
31 * PARTICULAR PURPOSE OR NONINFRINGEMENT. NEITHER DOES MEDIATEK PROVIDE
32 * ANY WARRANTY WHATSOEVER WITH RESPECT TO THE SOFTWARE OF ANY THIRD PARTY
33 * WHICH MAY BE USED BY, INCORPORATED IN, OR SUPPLIED WITH THE MEDIATEK
34 * SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH THIRD PARTY FOR ANY
35 * WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE
36 * FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S SPECIFICATION OR TO
37 * CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
39 * BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
40 * LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL
41 * BE, AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT
42 * ISSUE, OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY
43 * BUYER TO MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
45 * THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
46 * WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT
47 * OF LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING
48 * THEREOF AND RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN
49 * FRANCISCO, CA, UNDER THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE
51 ********************************************************************************
57 * 07 18 2011 chinghwa.yu
58 * [WCXRP00000063] Update BCM CoEx design and settings[WCXRP00000612] [MT6620 Wi-Fi] [FW] CSD update SWRDD algorithm
59 * Add CMD/Event for RDD and BWCS.
62 * [WCXRP00000327] [MT6620 Wi-Fi][Driver] Improve HEC WHQA 6972 workaround coverage in driver side
63 * host driver not to set FW-own when there is still pending interrupts
65 * 09 03 2010 kevin.huang
67 * Refine #include sequence and solve recursive/nested #include issue
69 * 08 16 2010 kevin.huang
71 * Refine AAA functions
73 * 07 19 2010 jeffrey.chang
75 * Linux port modification
79 * [WPD00003833] [MT6620 and MT5931] Driver migration - move to new repository.
82 * [WPD00003833][MT6620 and MT5931] Driver migration
86 * [WPD00003841][LITE Driver] Migrate RLM/CNM to host driver
87 * Provide cnmMgtPktAlloc() and alloc/free function of msg/buf
90 * [WPD00003833][MT6620 and MT5931] Driver migration
92 * 2) add ucTxSeqNum for tracking frames which needs TX-DONE awareness
93 * 3) add configuration options for CNM_MEM and RSN modules
94 * 4) add data path for management frames
95 * 5) eliminate rPacketInfo of MSDU_INFO_T
98 * [WPD00003833][MT6620 and MT5931] Driver migration
99 * add necessary changes to driver data paths.
102 * [WPD00003833][MT6620 and MT5931] Driver migration
103 * add definitions for module migration.
106 * [WPD00003833][MT6620 and MT5931] Driver migration
107 * add aa_fsm.h, ais_fsm.h, bss.h, mib.h and scan.h.
109 * 06 06 2010 kevin.huang
110 * [WPD00003832][MT6620 5931] Create driver base
111 * [MT6620 5931] Create driver base
114 * [WPD00001943]Create WiFi test driver framework on WinXP
115 * move timer callback to glue layer.
118 * [WPD00003831][MT6620 Wi-Fi] Add framework for Wi-Fi Direct support
119 * add cfg80211 interface, which is to replace WE, for further extension
121 * 03 24 2010 jeffrey.chang
122 * [WPD00003826]Initial import for Linux port
123 * initial import for Linux port
126 * [WPD00001943]Create WiFi test driver framework on WinXP
127 * add Ethernet destination address information in packet info for TX
130 * [WPD00001943]Create WiFi test driver framework on WinXP
131 * add new API: wlanProcessQueuedPackets()
132 ** \main\maintrunk.MT6620WiFiDriver_Prj\6 2009-03-23 21:41:37 GMT mtk01461
133 ** Update PACKET_INFO_INIT for TX Path
134 ** \main\maintrunk.MT6620WiFiDriver_Prj\5 2009-03-23 00:30:17 GMT mtk01461
135 ** Add parameter in PACKET_INFO_T for HIF Loopback
136 ** \main\maintrunk.MT6620WiFiDriver_Prj\4 2009-03-18 20:25:22 GMT mtk01461
138 ** \main\maintrunk.MT6620WiFiDriver_Prj\3 2009-03-16 09:08:28 GMT mtk01461
139 ** Update TX PATH API
140 ** \main\maintrunk.MT6620WiFiDriver_Prj\2 2009-03-10 20:11:54 GMT mtk01426
148 /*******************************************************************************
149 * C O M P I L E R F L A G S
150 ********************************************************************************
153 /*******************************************************************************
154 * E X T E R N A L R E F E R E N C E S
155 ********************************************************************************
158 /*******************************************************************************
160 ********************************************************************************
163 /* ieee80211.h of linux has duplicated definitions */
164 #if defined(WLAN_STATUS_SUCCESS)
165 #undef WLAN_STATUS_SUCCESS
168 #define WLAN_STATUS_SUCCESS ((WLAN_STATUS) 0x00000000L)
169 #define WLAN_STATUS_PENDING ((WLAN_STATUS) 0x00000103L)
170 #define WLAN_STATUS_NOT_ACCEPTED ((WLAN_STATUS) 0x00010003L)
172 #define WLAN_STATUS_MEDIA_CONNECT ((WLAN_STATUS) 0x4001000BL)
173 #define WLAN_STATUS_MEDIA_DISCONNECT ((WLAN_STATUS) 0x4001000CL)
174 #define WLAN_STATUS_MEDIA_SPECIFIC_INDICATION ((WLAN_STATUS) 0x40010012L)
176 #define WLAN_STATUS_SCAN_COMPLETE ((WLAN_STATUS) 0x60010001L)
177 #define WLAN_STATUS_MSDU_OK ((WLAN_STATUS) 0x60010002L)
179 /* TODO(Kevin): double check if 0x60010001 & 0x60010002 is proprietary */
180 #define WLAN_STATUS_ROAM_OUT_FIND_BEST ((WLAN_STATUS) 0x60010101L)
181 #define WLAN_STATUS_ROAM_DISCOVERY ((WLAN_STATUS) 0x60010102L)
183 #define WLAN_STATUS_FAILURE ((WLAN_STATUS) 0xC0000001L)
184 #define WLAN_STATUS_RESOURCES ((WLAN_STATUS) 0xC000009AL)
185 #define WLAN_STATUS_NOT_SUPPORTED ((WLAN_STATUS) 0xC00000BBL)
187 #define WLAN_STATUS_MULTICAST_FULL ((WLAN_STATUS) 0xC0010009L)
188 #define WLAN_STATUS_INVALID_PACKET ((WLAN_STATUS) 0xC001000FL)
189 #define WLAN_STATUS_ADAPTER_NOT_READY ((WLAN_STATUS) 0xC0010011L)
190 #define WLAN_STATUS_NOT_INDICATING ((WLAN_STATUS) 0xC0010013L)
191 #define WLAN_STATUS_INVALID_LENGTH ((WLAN_STATUS) 0xC0010014L)
192 #define WLAN_STATUS_INVALID_DATA ((WLAN_STATUS) 0xC0010015L)
193 #define WLAN_STATUS_BUFFER_TOO_SHORT ((WLAN_STATUS) 0xC0010016L)
195 #define WLAN_STATUS_BWCS_UPDATE ((WLAN_STATUS) 0xC0010017L)
197 #define WLAN_STATUS_CONNECT_INDICATION ((WLAN_STATUS) 0xC0010018L)
198 /* NIC status flags */
199 #define ADAPTER_FLAG_HW_ERR 0x00400000
202 #define TL_IPV4 0x0008
203 #define TL_IPV6 0xDD86
206 /*******************************************************************************
208 ********************************************************************************
210 /* Type definition for GLUE_INFO structure */
211 typedef struct _GLUE_INFO_T GLUE_INFO_T, *P_GLUE_INFO_T;
213 /* Type definition for WLAN STATUS */
214 typedef UINT_32 WLAN_STATUS, *P_WLAN_STATUS;
216 /* Type definition for ADAPTER structure */
217 typedef struct _ADAPTER_T ADAPTER_T, *P_ADAPTER_T;
219 /* Type definition for MESSAGE HEADER structure */
220 typedef struct _MSG_HDR_T MSG_HDR_T, *P_MSG_HDR_T;
222 /* Type definition for Pointer to OS Native Packet */
223 typedef void *P_NATIVE_PACKET;
225 /* Type definition for STA_RECORD_T structure to handle the connectivity and packet reception
226 * for a particular STA.
228 typedef struct _STA_RECORD_T STA_RECORD_T, *P_STA_RECORD_T, **PP_STA_RECORD_T;
230 /* CMD_INFO_T is used by Glue Layer to send a cluster of Command(OID) information to
231 * the TX Path to reduce the parameters of a function call.
233 typedef struct _CMD_INFO_T CMD_INFO_T, *P_CMD_INFO_T;
235 /* Following typedef should be removed later, because Glue Layer should not
236 * be aware of following data type.
238 typedef struct _SW_RFB_T SW_RFB_T, *P_SW_RFB_T, **PP_SW_RFB_T;
240 typedef struct _MSDU_INFO_T MSDU_INFO_T, *P_MSDU_INFO_T;
242 typedef struct _REG_ENTRY_T REG_ENTRY_T, *P_REG_ENTRY_T;
244 /* IST handler definition */
245 typedef VOID (*IST_EVENT_FUNCTION)(P_ADAPTER_T);
247 /* Type definition for function pointer of timer handler */
248 typedef VOID (*PFN_TIMER_CALLBACK)(IN P_GLUE_INFO_T);
251 /*******************************************************************************
252 * P U B L I C D A T A
253 ********************************************************************************
256 /*******************************************************************************
257 * P R I V A T E D A T A
258 ********************************************************************************
261 /*******************************************************************************
263 ********************************************************************************
266 /*******************************************************************************
267 * F U N C T I O N D E C L A R A T I O N S
268 ********************************************************************************
271 /*******************************************************************************
273 ********************************************************************************
275 #endif /* _TYPEDEF_H */