import PULS_20160108
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / misc / mediatek / connectivity / combo / drv_wlan / mt6628 / wlan / include / nic / p2p.h
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
130 struct _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
137 typedef 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
143 typedef 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
153 typedef 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
160 typedef 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
170 typedef 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
175 typedef 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 */