2 ** $Id: //Department/DaVinci/TRUNK/WiFi_P2P_Driver/include/nic/p2p.h#3 $
10 * 07 17 2012 yuche.tsai
12 * Compile no error before trial run.
15 * [WCXRP00000124] [MT6620 Wi-Fi] [Driver] Support the dissolve P2P Group
16 * Add the code to support disconnect p2p group
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
24 * [Wi-Fi Direct] add framework for driver hooks
28 * [WPD00003833] [MT6620 and MT5931] Driver migration - move to new repository.
31 * [WPD00003833][MT6620 and MT5931] Driver migration
32 * p2p interface revised to be sync. with HAL
34 * 06 06 2010 kevin.huang
35 * [WPD00003832][MT6620 5931] Create driver base
36 * [MT6620 5931] Create driver base
39 * [WPD00003831][MT6620 Wi-Fi] Add framework for Wi-Fi Direct support
40 * add parameter to control:
42 * 2) P2P-PS parameter (CTWindow, NoA descriptors)
45 * [WPD00003831][MT6620 Wi-Fi] Add framework for Wi-Fi Direct support
46 * correct WPS Device Password ID definition.
49 * [WPD00003831][MT6620 Wi-Fi] Add framework for Wi-Fi Direct support
50 * implement get scan result.
53 * [WPD00003831][MT6620 Wi-Fi] Add framework for Wi-Fi Direct support
54 * add basic handling framework for wireless extension ioctls.
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
61 * [WPD00003831][MT6620 Wi-Fi] Add framework for Wi-Fi Direct support
65 * [WPD00003831][MT6620 Wi-Fi] Add framework for Wi-Fi Direct support
66 * implement basic wi-fi direct framework
69 * [WPD00003831][MT6620 Wi-Fi] Add framework for Wi-Fi Direct support
70 * add basic framework for implementating P2P driver hook.
78 /*******************************************************************************
79 * C O M P I L E R F L A G S
80 ********************************************************************************
83 /*******************************************************************************
84 * E X T E R N A L R E F E R E N C E S
85 ********************************************************************************
88 /*******************************************************************************
90 ********************************************************************************
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
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
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
118 #define P2P_WILDCARD_SSID "DIRECT-"
120 /*******************************************************************************
122 ********************************************************************************
125 /*******************************************************************************
127 ********************************************************************************
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. */
139 ENUM_P2P_PEER_DEVICE,
141 } ENUM_P2P_PEER_TYPE, *P_ENUM_P2P_PEER_TYPE;
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;
153 typedef struct _P2P_GROUP_INFO {
154 PARAM_SSID_T rGroupID;
155 P2P_DEVICE_INFO rGroupOwnerInfo;
157 P2P_DEVICE_INFO arMemberInfo[P2P_MEMBER_NUM];
158 } P2P_GROUP_INFO, *P_P2P_GROUP_INFO;
160 typedef struct _P2P_NETWORK_INFO {
161 ENUM_P2P_PEER_TYPE eNodeType;
164 P2P_GROUP_INFO rGroupInfo;
165 P2P_DEVICE_INFO rDeviceInfo;
168 } P2P_NETWORK_INFO, *P_P2P_NETWORK_INFO;
170 typedef struct _P2P_NETWORK_LIST {
172 P2P_NETWORK_INFO rP2PNetworkInfo[P2P_NETWORK_NUM];
173 } P2P_NETWORK_LIST, *P_P2P_NETWORK_LIST;
175 typedef struct _P2P_DISCONNECT_INFO {
178 } P2P_DISCONNECT_INFO, *P_P2P_DISCONNECT_INFO;
180 /*******************************************************************************
181 * P U B L I C D A T A
182 ********************************************************************************
185 /*******************************************************************************
186 * P R I V A T E D A T A
187 ********************************************************************************
190 /*******************************************************************************
191 * F U N C T I O N D E C L A R A T I O N S
192 ********************************************************************************