import PULS_20160108
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / misc / mediatek / connectivity / combo / drv_wlan / mt6628 / wlan / include / nic / p2p.h
CommitLineData
6fa3eb70
S
1/*
2** $Id: //Department/DaVinci/TRUNK/WiFi_P2P_Driver/include/nic/p2p.h#3 $
3*/
4
5
6
7/*
8** $Log: p2p.h $
9 *
10 * 07 17 2012 yuche.tsai
11 * NULL
12 * Compile no error before trial run.
13 *
14 * 10 20 2010 wh.su
15 * [WCXRP00000124] [MT6620 Wi-Fi] [Driver] Support the dissolve P2P Group
16 * Add the code to support disconnect p2p group
17 *
18 * 09 21 2010 kevin.huang
19 * [WCXRP00000054] [MT6620 Wi-Fi][Driver] Restructure driver for second Interface
20 * Isolate P2P related function for Hardware Software Bundle
21 *
22 * 08 03 2010 cp.wu
23 * NULL
24 * [Wi-Fi Direct] add framework for driver hooks
25 *
26 * 07 08 2010 cp.wu
27 *
28 * [WPD00003833] [MT6620 and MT5931] Driver migration - move to new repository.
29 *
30 * 06 23 2010 cp.wu
31 * [WPD00003833][MT6620 and MT5931] Driver migration
32 * p2p interface revised to be sync. with HAL
33 *
34 * 06 06 2010 kevin.huang
35 * [WPD00003832][MT6620 5931] Create driver base
36 * [MT6620 5931] Create driver base
37 *
38 * 05 18 2010 cp.wu
39 * [WPD00003831][MT6620 Wi-Fi] Add framework for Wi-Fi Direct support
40 * add parameter to control:
41 * 1) auto group owner
42 * 2) P2P-PS parameter (CTWindow, NoA descriptors)
43 *
44 * 05 18 2010 cp.wu
45 * [WPD00003831][MT6620 Wi-Fi] Add framework for Wi-Fi Direct support
46 * correct WPS Device Password ID definition.
47 *
48 * 05 17 2010 cp.wu
49 * [WPD00003831][MT6620 Wi-Fi] Add framework for Wi-Fi Direct support
50 * implement get scan result.
51 *
52 * 05 17 2010 cp.wu
53 * [WPD00003831][MT6620 Wi-Fi] Add framework for Wi-Fi Direct support
54 * add basic handling framework for wireless extension ioctls.
55 *
56 * 05 14 2010 cp.wu
57 * [WPD00003831][MT6620 Wi-Fi] Add framework for Wi-Fi Direct support
58 * add ioctl framework for Wi-Fi Direct by reusing wireless extension ioctls as well
59 *
60 * 05 11 2010 cp.wu
61 * [WPD00003831][MT6620 Wi-Fi] Add framework for Wi-Fi Direct support
62 * p2p ioctls revised.
63 *
64 * 05 10 2010 cp.wu
65 * [WPD00003831][MT6620 Wi-Fi] Add framework for Wi-Fi Direct support
66 * implement basic wi-fi direct framework
67 *
68 * 05 07 2010 cp.wu
69 * [WPD00003831][MT6620 Wi-Fi] Add framework for Wi-Fi Direct support
70 * add basic framework for implementating P2P driver hook.
71 *
72 *
73*/
74
75#ifndef _P2P_H
76#define _P2P_H
77
78/*******************************************************************************
79* C O M P I L E R F L A G S
80********************************************************************************
81*/
82
83/*******************************************************************************
84* E X T E R N A L R E F E R E N C E S
85********************************************************************************
86*/
87
88/*******************************************************************************
89* C O N S T A N T S
90********************************************************************************
91*/
92
93/* refer to 'Config Methods' in WPS */
94#define WPS_CONFIG_USBA 0x0001
95#define WPS_CONFIG_ETHERNET 0x0002
96#define WPS_CONFIG_LABEL 0x0004
97#define WPS_CONFIG_DISPLAY 0x0008
98#define WPS_CONFIG_EXT_NFC 0x0010
99#define WPS_CONFIG_INT_NFC 0x0020
100#define WPS_CONFIG_NFC 0x0040
101#define WPS_CONFIG_PBC 0x0080
102#define WPS_CONFIG_KEYPAD 0x0100
103
104/* refer to 'Device Password ID' in WPS */
105#define WPS_DEV_PASSWORD_ID_PIN 0x0000
106#define WPS_DEV_PASSWORD_ID_USER 0x0001
107#define WPS_DEV_PASSWORD_ID_MACHINE 0x0002
108#define WPS_DEV_PASSWORD_ID_REKEY 0x0003
109#define WPS_DEV_PASSWORD_ID_PUSHBUTTON 0x0004
110#define WPS_DEV_PASSWORD_ID_REGISTRAR 0x0005
111
112
113#define P2P_DEVICE_TYPE_NUM 2
114#define P2P_DEVICE_NAME_LENGTH 32
115#define P2P_NETWORK_NUM 8
116#define P2P_MEMBER_NUM 8
117
118#define P2P_WILDCARD_SSID "DIRECT-"
119
120/*******************************************************************************
121* M A C R O S
122********************************************************************************
123*/
124
125/*******************************************************************************
126* D A T A T Y P E S
127********************************************************************************
128*/
129
130struct _P2P_INFO_T {
131 UINT_32 u4DeviceNum;
132 EVENT_P2P_DEV_DISCOVER_RESULT_T arP2pDiscoverResult[CFG_MAX_NUM_BSS_LIST];
133 PUINT_8 pucCurrIePtr;
134 UINT_8 aucCommIePool[CFG_MAX_COMMON_IE_BUF_LEN]; /* A common pool for IE of all scan results. */
135};
136
137typedef enum {
138 ENUM_P2P_PEER_GROUP,
139 ENUM_P2P_PEER_DEVICE,
140 ENUM_P2P_PEER_NUM
141} ENUM_P2P_PEER_TYPE, *P_ENUM_P2P_PEER_TYPE;
142
143typedef struct _P2P_DEVICE_INFO {
144 UINT_8 aucDevAddr[PARAM_MAC_ADDR_LEN];
145 UINT_8 aucIfAddr[PARAM_MAC_ADDR_LEN];
146 UINT_8 ucDevCapabilityBitmap;
147 INT_32 i4ConfigMethod;
148 UINT_8 aucPrimaryDeviceType[8];
149 UINT_8 aucSecondaryDeviceType[8];
150 UINT_8 aucDeviceName[P2P_DEVICE_NAME_LENGTH];
151} P2P_DEVICE_INFO, *P_P2P_DEVICE_INFO;
152
153typedef struct _P2P_GROUP_INFO {
154 PARAM_SSID_T rGroupID;
155 P2P_DEVICE_INFO rGroupOwnerInfo;
156 UINT_8 ucMemberNum;
157 P2P_DEVICE_INFO arMemberInfo[P2P_MEMBER_NUM];
158} P2P_GROUP_INFO, *P_P2P_GROUP_INFO;
159
160typedef struct _P2P_NETWORK_INFO {
161 ENUM_P2P_PEER_TYPE eNodeType;
162
163 union {
164 P2P_GROUP_INFO rGroupInfo;
165 P2P_DEVICE_INFO rDeviceInfo;
166 } node;
167
168} P2P_NETWORK_INFO, *P_P2P_NETWORK_INFO;
169
170typedef struct _P2P_NETWORK_LIST {
171 UINT_8 ucNetworkNum;
172 P2P_NETWORK_INFO rP2PNetworkInfo[P2P_NETWORK_NUM];
173} P2P_NETWORK_LIST, *P_P2P_NETWORK_LIST;
174
175typedef struct _P2P_DISCONNECT_INFO {
176 UINT_8 ucRole;
177 UINT_8 ucRsv[3];
178} P2P_DISCONNECT_INFO, *P_P2P_DISCONNECT_INFO;
179
180/*******************************************************************************
181* P U B L I C D A T A
182********************************************************************************
183*/
184
185/*******************************************************************************
186* P R I V A T E D A T A
187********************************************************************************
188*/
189
190/*******************************************************************************
191* F U N C T I O N D E C L A R A T I O N S
192********************************************************************************
193*/
194
195#endif /*_P2P_H */