2 ** $Id: //Department/DaVinci/BRANCHES/MT6620_WIFI_DRIVER_V2_2/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 * 10 19 2011 yuche.tsai
58 * [WCXRP00001045] [WiFi Direct][Driver] Check 2.1 branch.
60 * Davinci Maintrunk Label: MT6620_WIFI_DRIVER_FW_TRUNK_MT6620E5_111019_0926.
63 * [WCXRP00000577] [MT6620 Wi-Fi][Driver][FW] Create V2.0 branch for firmware and driver
64 * create V2.0 driver release based on label "MT6620_WIFI_DRIVER_V2_0_110318_1600" from main trunk
67 * [WCXRP00000327] [MT6620 Wi-Fi][Driver] Improve HEC WHQA 6972 workaround coverage in driver side
68 * host driver not to set FW-own when there is still pending interrupts
70 * 09 03 2010 kevin.huang
72 * Refine #include sequence and solve recursive/nested #include issue
74 * 08 16 2010 kevin.huang
76 * Refine AAA functions
78 * 07 19 2010 jeffrey.chang
80 * Linux port modification
84 * [WPD00003833] [MT6620 and MT5931] Driver migration - move to new repository.
87 * [WPD00003833][MT6620 and MT5931] Driver migration
91 * [WPD00003841][LITE Driver] Migrate RLM/CNM to host driver
92 * Provide cnmMgtPktAlloc() and alloc/free function of msg/buf
95 * [WPD00003833][MT6620 and MT5931] Driver migration
97 * 2) add ucTxSeqNum for tracking frames which needs TX-DONE awareness
98 * 3) add configuration options for CNM_MEM and RSN modules
99 * 4) add data path for management frames
100 * 5) eliminate rPacketInfo of MSDU_INFO_T
103 * [WPD00003833][MT6620 and MT5931] Driver migration
104 * add necessary changes to driver data paths.
107 * [WPD00003833][MT6620 and MT5931] Driver migration
108 * add definitions for module migration.
111 * [WPD00003833][MT6620 and MT5931] Driver migration
112 * add aa_fsm.h, ais_fsm.h, bss.h, mib.h and scan.h.
114 * 06 06 2010 kevin.huang
115 * [WPD00003832][MT6620 5931] Create driver base
116 * [MT6620 5931] Create driver base
119 * [WPD00001943]Create WiFi test driver framework on WinXP
120 * move timer callback to glue layer.
123 * [WPD00003831][MT6620 Wi-Fi] Add framework for Wi-Fi Direct support
124 * add cfg80211 interface, which is to replace WE, for further extension
126 * 03 24 2010 jeffrey.chang
127 * [WPD00003826]Initial import for Linux port
128 * initial import for Linux port
131 * [WPD00001943]Create WiFi test driver framework on WinXP
132 * add Ethernet destination address information in packet info for TX
135 * [WPD00001943]Create WiFi test driver framework on WinXP
136 * add new API: wlanProcessQueuedPackets()
137 ** \main\maintrunk.MT6620WiFiDriver_Prj\6 2009-03-23 21:41:37 GMT mtk01461
138 ** Update PACKET_INFO_INIT for TX Path
139 ** \main\maintrunk.MT6620WiFiDriver_Prj\5 2009-03-23 00:30:17 GMT mtk01461
140 ** Add parameter in PACKET_INFO_T for HIF Loopback
141 ** \main\maintrunk.MT6620WiFiDriver_Prj\4 2009-03-18 20:25:22 GMT mtk01461
143 ** \main\maintrunk.MT6620WiFiDriver_Prj\3 2009-03-16 09:08:28 GMT mtk01461
144 ** Update TX PATH API
145 ** \main\maintrunk.MT6620WiFiDriver_Prj\2 2009-03-10 20:11:54 GMT mtk01426
153 /*******************************************************************************
154 * C O M P I L E R F L A G S
155 ********************************************************************************
158 /*******************************************************************************
159 * E X T E R N A L R E F E R E N C E S
160 ********************************************************************************
163 /*******************************************************************************
165 ********************************************************************************
168 /* ieee80211.h of linux has duplicated definitions */
169 #if defined(WLAN_STATUS_SUCCESS)
170 #undef WLAN_STATUS_SUCCESS
173 #define WLAN_STATUS_SUCCESS ((WLAN_STATUS) 0x00000000L)
174 #define WLAN_STATUS_PENDING ((WLAN_STATUS) 0x00000103L)
175 #define WLAN_STATUS_NOT_ACCEPTED ((WLAN_STATUS) 0x00010003L)
177 #define WLAN_STATUS_MEDIA_CONNECT ((WLAN_STATUS) 0x4001000BL)
178 #define WLAN_STATUS_MEDIA_DISCONNECT ((WLAN_STATUS) 0x4001000CL)
179 #define WLAN_STATUS_MEDIA_SPECIFIC_INDICATION ((WLAN_STATUS) 0x40010012L)
181 #define WLAN_STATUS_SCAN_COMPLETE ((WLAN_STATUS) 0x60010001L)
182 #define WLAN_STATUS_MSDU_OK ((WLAN_STATUS) 0x60010002L)
184 /* TODO(Kevin): double check if 0x60010001 & 0x60010002 is proprietary */
185 #define WLAN_STATUS_ROAM_OUT_FIND_BEST ((WLAN_STATUS) 0x60010101L)
186 #define WLAN_STATUS_ROAM_DISCOVERY ((WLAN_STATUS) 0x60010102L)
188 #define WLAN_STATUS_FAILURE ((WLAN_STATUS) 0xC0000001L)
189 #define WLAN_STATUS_RESOURCES ((WLAN_STATUS) 0xC000009AL)
190 #define WLAN_STATUS_NOT_SUPPORTED ((WLAN_STATUS) 0xC00000BBL)
192 #define WLAN_STATUS_MULTICAST_FULL ((WLAN_STATUS) 0xC0010009L)
193 #define WLAN_STATUS_INVALID_PACKET ((WLAN_STATUS) 0xC001000FL)
194 #define WLAN_STATUS_ADAPTER_NOT_READY ((WLAN_STATUS) 0xC0010011L)
195 #define WLAN_STATUS_NOT_INDICATING ((WLAN_STATUS) 0xC0010013L)
196 #define WLAN_STATUS_INVALID_LENGTH ((WLAN_STATUS) 0xC0010014L)
197 #define WLAN_STATUS_INVALID_DATA ((WLAN_STATUS) 0xC0010015L)
198 #define WLAN_STATUS_BUFFER_TOO_SHORT ((WLAN_STATUS) 0xC0010016L)
200 #define WLAN_STATUS_BWCS_UPDATE ((WLAN_STATUS) 0xC0010017L)
202 /* NIC status flags */
203 #define ADAPTER_FLAG_HW_ERR 0x00400000
206 #define TL_IPV4 0x0008
207 #define TL_IPV6 0xDD86
210 /*******************************************************************************
212 ********************************************************************************
214 /* Type definition for GLUE_INFO structure */
215 typedef struct _GLUE_INFO_T GLUE_INFO_T, *P_GLUE_INFO_T;
217 /* Type definition for WLAN STATUS */
218 typedef UINT_32 WLAN_STATUS, *P_WLAN_STATUS;
220 /* Type definition for ADAPTER structure */
221 typedef struct _ADAPTER_T ADAPTER_T, *P_ADAPTER_T;
223 /* Type definition for MESSAGE HEADER structure */
224 typedef struct _MSG_HDR_T MSG_HDR_T, *P_MSG_HDR_T;
226 /* Type definition for Pointer to OS Native Packet */
227 typedef void *P_NATIVE_PACKET;
229 /* Type definition for STA_RECORD_T structure to handle the connectivity and packet reception
230 * for a particular STA.
232 typedef struct _STA_RECORD_T STA_RECORD_T, *P_STA_RECORD_T, **PP_STA_RECORD_T;
234 /* CMD_INFO_T is used by Glue Layer to send a cluster of Command(OID) information to
235 * the TX Path to reduce the parameters of a function call.
237 typedef struct _CMD_INFO_T CMD_INFO_T, *P_CMD_INFO_T;
239 /* Following typedef should be removed later, because Glue Layer should not
240 * be aware of following data type.
242 typedef struct _SW_RFB_T SW_RFB_T, *P_SW_RFB_T, **PP_SW_RFB_T;
244 typedef struct _MSDU_INFO_T MSDU_INFO_T, *P_MSDU_INFO_T;
246 typedef struct _REG_ENTRY_T REG_ENTRY_T, *P_REG_ENTRY_T;
248 /* IST handler definition */
249 typedef VOID (*IST_EVENT_FUNCTION)(P_ADAPTER_T);
251 /* Type definition for function pointer of timer handler */
252 typedef VOID (*PFN_TIMER_CALLBACK)(IN P_GLUE_INFO_T);
255 /*******************************************************************************
256 * P U B L I C D A T A
257 ********************************************************************************
260 /*******************************************************************************
261 * P R I V A T E D A T A
262 ********************************************************************************
265 /*******************************************************************************
267 ********************************************************************************
270 /*******************************************************************************
271 * F U N C T I O N D E C L A R A T I O N S
272 ********************************************************************************
275 /*******************************************************************************
277 ********************************************************************************
279 #endif /* _TYPEDEF_H */