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