add MTK-combo-module,continue with commit 17f39ed917874e77e80411f33faba1b7ee8138c8
[firefly-linux-kernel-4.4.55.git] / drivers / mtk_wcn_combo / drv_wlan / p2p / os / linux / include / gl_p2p_os.h
1 /*
2 ** $Id:
3 //Department/DaVinci/TRUNK/MT6620_5931_WiFi_Driver/os/linux/include/gl_p2p_os.h#28 $
4 */
5
6 /*! \file   gl_p2p_os.h
7     \brief  List the external reference to OS for p2p GLUE Layer.
8
9     In this file we define the data structure - GLUE_INFO_T to store those objects
10     we acquired from OS - e.g. TIMER, SPINLOCK, NET DEVICE ... . And all the
11     external reference (header file, extern func() ..) to OS for GLUE Layer should
12     also list down here.
13 */
14
15
16 /*******************************************************************************
17 * Copyright (c) 2010 MediaTek Inc.
18 *
19 * All rights reserved. Copying, compilation, modification, distribution
20 * or any other use whatsoever of this material is strictly prohibited
21 * except in accordance with a Software License Agreement with
22 * MediaTek Inc.
23 ********************************************************************************
24 */
25
26 /*******************************************************************************
27 * LEGAL DISCLAIMER
28 *
29 * BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND
30 * AGREES THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK
31 * SOFTWARE") RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE
32 * PROVIDED TO BUYER ON AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY
33 * DISCLAIMS ANY AND ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
34 * LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
35 * PARTICULAR PURPOSE OR NONINFRINGEMENT. NEITHER DOES MEDIATEK PROVIDE
36 * ANY WARRANTY WHATSOEVER WITH RESPECT TO THE SOFTWARE OF ANY THIRD PARTY
37 * WHICH MAY BE USED BY, INCORPORATED IN, OR SUPPLIED WITH THE MEDIATEK
38 * SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH THIRD PARTY FOR ANY
39 * WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE
40 * FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S SPECIFICATION OR TO
41 * CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
42 *
43 * BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
44 * LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL
45 * BE, AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT
46 * ISSUE, OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY
47 * BUYER TO MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
48 *
49 * THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
50 * WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT
51 * OF LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING
52 * THEREOF AND RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN
53 * FRANCISCO, CA, UNDER THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE
54 * (ICC).
55 ********************************************************************************
56 */
57
58
59 #ifndef _GL_P2P_OS_H
60 #define _GL_P2P_OS_H
61
62 /*******************************************************************************
63 *                         C O M P I L E R   F L A G S
64 ********************************************************************************
65 */
66
67 /*******************************************************************************
68 *                    E X T E R N A L   R E F E R E N C E S
69 ********************************************************************************
70 */
71
72 /*******************************************************************************
73 *                              C O N S T A N T S
74 ********************************************************************************
75 */
76
77 /*******************************************************************************
78 *                                 M A C R O S
79 ********************************************************************************
80 */
81
82 /*******************************************************************************
83 *                             D A T A   T Y P E S
84 ********************************************************************************
85 */
86
87 /*******************************************************************************
88 *                            P U B L I C   D A T A
89 ********************************************************************************
90 */
91
92 /*******************************************************************************
93 *                           P R I V A T E   D A T A
94 ********************************************************************************
95 */
96
97 /*******************************************************************************
98 *                  F U N C T I O N   D E C L A R A T I O N S
99 ********************************************************************************
100 */
101
102
103 struct _GL_P2P_INFO_T {
104
105     /* Device handle */
106     struct net_device           *prDevHandler;
107
108     #if CFG_ENABLE_WIFI_DIRECT_CFG_80211
109     /* cfg80211 */
110     struct wireless_dev         wdev;
111
112     struct cfg80211_scan_request    *prScanRequest;
113
114     UINT_64 u8Cookie;
115
116     /* Generation for station list update. */
117     INT_32 i4Generation;
118
119     #endif
120
121     /* Device statistics */
122     struct net_device_stats     rNetDevStats;
123
124     /* glue layer variables */
125     /*move to glueinfo->adapter*/
126    // BOOLEAN                     fgIsRegistered;
127     UINT_32                     u4FreqInKHz;    /* frequency */
128     UINT_8                      ucRole;         /* 0: P2P Device, 1: Group Client, 2: Group Owner */
129     UINT_8                      ucIntent;       /* range: 0-15 */
130     UINT_8                      ucScanMode;     /* 0: Search & Listen, 1: Scan without probe response */
131
132     ENUM_PARAM_MEDIA_STATE_T    eState;
133     UINT_32                     u4PacketFilter;
134     PARAM_MAC_ADDRESS           aucMCAddrList[MAX_NUM_GROUP_ADDR];
135
136     /* connection-requested peer information */
137     UINT_8                      aucConnReqDevName[32];
138     INT_32                      u4ConnReqNameLength;
139     PARAM_MAC_ADDRESS           rConnReqPeerAddr;
140     PARAM_MAC_ADDRESS           rConnReqGroupAddr;   /* For invitation group. */
141     UINT_8                      ucConnReqDevType;
142     INT_32                      i4ConnReqConfigMethod;
143     INT_32                      i4ConnReqActiveConfigMethod;
144
145     UINT_32                     u4CipherPairwise;
146     UINT_8                      ucWSCRunning;
147
148     UINT_8                      aucWSCIE[3][400]; /* 0 for beacon, 1 for probe req, 2 for probe response */
149     UINT_16                     u2WSCIELen[3];
150
151         UINT_8                      ucOperatingChnl;
152         UINT_8                      ucInvitationType;
153
154         UINT_32                     u4InvStatus;
155
156     /* For SET_STRUCT/GET_STRUCT */
157     UINT_8                      aucOidBuf[4096];
158
159 #if 1 /* CFG_SUPPORT_ANTI_PIRACY */
160     UINT_8                      aucSecCheck[256];
161     UINT_8                      aucSecCheckRsp[256];
162 #endif
163
164 };
165
166
167 BOOLEAN
168 p2pRegisterToWlan(
169     P_GLUE_INFO_T prGlueInfo
170     );
171
172 BOOLEAN
173 p2pUnregisterToWlan(
174     P_GLUE_INFO_T prGlueInfo
175     );
176
177 BOOLEAN
178 p2pLaunch(
179     P_GLUE_INFO_T prGlueInfo
180     );
181
182 BOOLEAN
183 p2pRemove(
184     P_GLUE_INFO_T prGlueInfo
185     );
186
187 BOOLEAN
188 glRegisterP2P(
189     P_GLUE_INFO_T prGlueInfo,
190     const char *prDevName,
191     BOOLEAN fgIsApMode
192     );
193
194 BOOLEAN
195 glUnregisterP2P(
196     P_GLUE_INFO_T prGlueInfo
197     );
198
199 BOOLEAN
200 p2pStopImmediate(
201     P_GLUE_INFO_T prGlueInfo
202     );
203
204
205
206 #endif