Commit | Line | Data |
---|---|---|
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 | ||
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 */ |