2 ** $Id: //Department/DaVinci/TRUNK/WiFi_P2P_Driver/os/linux/include/gl_p2p_ioctl.h#9 $
5 /*! \file gl_p2p_ioctl.h
6 \brief This file is for custom ioctls for Wi-Fi Direct only
12 ** $Log: gl_p2p_ioctl.h $
14 ** 07 26 2012 yuche.tsai
15 ** [ALPS00324337] [ALPS.JB][Hot-Spot] Driver update for Hot-Spot
16 ** Update driver code of ALPS.JB for hot-spot.
18 ** 07 19 2012 yuche.tsai
20 ** Code update for JB.
22 * 07 17 2012 yuche.tsai
24 * Compile no error before trial run.
26 * 06 07 2011 yuche.tsai
27 * [WCXRP00000763] [Volunteer Patch][MT6620][Driver] RX Service Discovery Frame under AP mode Issue
28 * Fix RX SD request under AP mode issue.
32 * Fix P2P IOCTL of multicast address bug, add low power driver stop control.
34 * 11 22 2011 yuche.tsai
36 * Update RSSI link quality of P2P Network query method. (Bug fix)
38 * 11 19 2011 yuche.tsai
40 * Add RSSI support for P2P network.
42 * 11 11 2011 yuche.tsai
44 * Fix work thread cancel issue.
46 * 11 08 2011 yuche.tsai
47 * [WCXRP00001094] [Volunteer Patch][Driver] Driver version & supplicant version query & set support for service discovery version check.
48 * Add support for driver version query & p2p supplicant verseion set.
49 * For new service discovery mechanism sync.
52 * [WCXRP00001058] [All Wi-Fi][Driver] Fix sta_rec's phyTypeSet and OBSS scan in AP mode
55 * 10 18 2011 yuche.tsai
56 * [WCXRP00001045] [WiFi Direct][Driver] Check 2.1 branch.
60 * 08 16 2011 chinglan.wang
62 * Add the group id information in the invitation indication.
64 * 08 09 2011 yuche.tsai
65 * [WCXRP00000919] [Volunteer Patch][WiFi Direct][Driver] Invitation New Feature.
66 * Invitation Feature add on.
68 * 05 04 2011 chinglan.wang
69 * [WCXRP00000698] [MT6620 Wi-Fi][P2P][Driver] Add p2p invitation command for the p2p driver
73 * [WCXRP00000095] [MT6620 Wi-Fi] [FW] Refine the P2P GO send broadcast protected code
74 * add the set power and get power function sample.
76 * 03 22 2011 george.huang
77 * [WCXRP00000504] [MT6620 Wi-Fi][FW] Support Sigma CAPI for power saving related command
78 * link with supplicant commands
81 * [WCXRP00000506] [MT6620 Wi-Fi][Driver][FW] Add Security check related code
82 * rename the define to anti_pviracy.
85 * [WCXRP00000506] [MT6620 Wi-Fi][Driver][FW] Add Security check related code
86 * Add Security check related code.
89 * [WCXRP00000488] [MT6620 Wi-Fi][Driver] Support the SIGMA set p2p parameter to driver
90 * fixed the ioctl sumcmd to meet the p2p_supplicant setting.
93 * [WCXRP00000488] [MT6620 Wi-Fi][Driver] Support the SIGMA set p2p parameter to driver
94 * adding the ioctl set int define for p2p parameter.
97 * [WCXRP00000488] [MT6620 Wi-Fi][Driver] Support the SIGMA set p2p parameter to driver
98 * adding the ioctl set int from supplicant, and can used to set the p2p paramters
101 * [WCXRP00000448] [MT6620 Wi-Fi][Driver] Fixed WSC IE not send out at probe request
102 * adjust the set wsc ie structure.
105 * [WCXRP00000283] [MT6620 Wi-Fi][Driver][Wi-Fi Direct] Implementation of interface for supporting Wi-Fi Direct Service Discovery
106 * ioctl implementations for P2P Service Discovery
109 * [WCXRP00000283] [MT6620 Wi-Fi][Driver][Wi-Fi Direct] Implementation of interface for supporting Wi-Fi Direct Service Discovery
110 * 1. header file restructure for more clear module isolation
111 * 2. add function interface definition for implementing Service Discovery callbacks
115 * invoke nicEnableInterrupt() before leaving from wlanAdapterStart()
118 * [WCXRP00000237] [MT6620 Wi-Fi][Wi-Fi Direct][Driver] Add interface for supporting service discovery
119 * define a pair of i/o control for multiplexing layer
122 * [WCXRP00000164] [MT6620 Wi-Fi][Driver] Support the p2p random SSID
123 * adding the p2p random ssid support.
126 * [WCXRP00000124] [MT6620 Wi-Fi] [Driver] Support the dissolve P2P Group
127 * Add the code to support disconnect p2p group
129 * 09 21 2010 kevin.huang
130 * [WCXRP00000054] [MT6620 Wi-Fi][Driver] Restructure driver for second Interface
131 * Isolate P2P related function for Hardware Software Bundle
133 * 09 10 2010 george.huang
135 * update iwpriv LP related
139 * adding the code for beacon/probe req/ probe rsp wsc ie at p2p.
143 * add netdev_ops(NDO) for linux kernel 2.6.31 or greater
145 * 08 20 2010 yuche.tsai
147 * Refine a function parameter name.
151 * add set mac address interface for further possibilities of wpa_supplicant overriding interface address.
153 * 08 16 2010 george.huang
155 * add wext handlers to link P2P set PS profile/ network address function (TBD)
159 * revised implementation of Wi-Fi Direct io controls.
163 * follow-up with ioctl interface update for Wi-Fi Direct application
167 * driver hook modifications corresponding to ioctl interface change.
171 * [Wi-Fi Direct] add framework for driver hooks
175 * [WPD00003833] [MT6620 and MT5931] Driver migration - move to new repository.
177 * 06 06 2010 kevin.huang
178 * [WPD00003832][MT6620 5931] Create driver base
179 * [MT6620 5931] Create driver base
182 * [WPD00003831][MT6620 Wi-Fi] Add framework for Wi-Fi Direct support
183 * add ioctl to configure scan mode for p2p connection
186 * [WPD00003831][MT6620 Wi-Fi] Add framework for Wi-Fi Direct support
187 * add cfg80211 interface, which is to replace WE, for further extension
190 * [WPD00003831][MT6620 Wi-Fi] Add framework for Wi-Fi Direct support
191 * implement get scan result.
194 * [WPD00003831][MT6620 Wi-Fi] Add framework for Wi-Fi Direct support
195 * implement wireless extension ioctls in iw_handler form.
198 * [WPD00003831][MT6620 Wi-Fi] Add framework for Wi-Fi Direct support
199 * add ioctl framework for Wi-Fi Direct by reusing wireless extension ioctls as well
202 * [WPD00003831][MT6620 Wi-Fi] Add framework for Wi-Fi Direct support
203 * p2p ioctls revised.
206 * [WPD00003831][MT6620 Wi-Fi] Add framework for Wi-Fi Direct support
207 * add ioctl for controlling p2p scan phase parameters
211 #ifndef _GL_P2P_IOCTL_H
212 #define _GL_P2P_IOCTL_H
214 /*******************************************************************************
215 * C O M P I L E R F L A G S
216 ********************************************************************************
219 /*******************************************************************************
220 * E X T E R N A L R E F E R E N C E S
221 ********************************************************************************
223 #include <linux/kernel.h>
224 #include <linux/netdevice.h>
225 #include <linux/wireless.h>
226 #if CFG_ENABLE_WIFI_DIRECT_CFG_80211
227 #include <linux/ieee80211.h>
228 #include <net/cfg80211.h>
231 #include "wlan_oid.h"
233 /*******************************************************************************
235 ********************************************************************************
238 // (WirelessExtension) Private I/O Controls
239 #define IOC_P2P_CFG_DEVICE (SIOCIWFIRSTPRIV+0)
240 #define IOC_P2P_PROVISION_COMPLETE (SIOCIWFIRSTPRIV+2)
241 #define IOC_P2P_START_STOP_DISCOVERY (SIOCIWFIRSTPRIV+4)
242 #define IOC_P2P_DISCOVERY_RESULTS (SIOCIWFIRSTPRIV+5)
243 #define IOC_P2P_WSC_BEACON_PROBE_RSP_IE (SIOCIWFIRSTPRIV+6)
244 #define IOC_P2P_GO_WSC_IE IOC_P2P_WSC_BEACON_PROBE_RSP_IE
245 #define IOC_P2P_CONNECT_DISCONNECT (SIOCIWFIRSTPRIV+8)
246 #define IOC_P2P_PASSWORD_READY (SIOCIWFIRSTPRIV+10)
247 //#define IOC_P2P_SET_PWR_MGMT_PARAM (SIOCIWFIRSTPRIV+12)
248 #define IOC_P2P_SET_INT (SIOCIWFIRSTPRIV+12)
249 #define IOC_P2P_GET_STRUCT (SIOCIWFIRSTPRIV+13)
250 #define IOC_P2P_SET_STRUCT (SIOCIWFIRSTPRIV+14)
251 #define IOC_P2P_GET_REQ_DEVICE_INFO (SIOCIWFIRSTPRIV+15)
253 #define PRIV_CMD_INT_P2P_SET 0
255 // IOC_P2P_PROVISION_COMPLETE (iw_point . flags)
256 #define P2P_PROVISIONING_SUCCESS 0
257 #define P2P_PROVISIONING_FAIL 1
259 // IOC_P2P_START_STOP_DISCOVERY (iw_point . flags)
260 #define P2P_STOP_DISCOVERY 0
261 #define P2P_START_DISCOVERY 1
263 // IOC_P2P_CONNECT_DISCONNECT (iw_point . flags)
264 #define P2P_CONNECT 0
265 #define P2P_DISCONNECT 1
267 // IOC_P2P_START_STOP_DISCOVERY (scan_type)
268 #define P2P_SCAN_FULL_AND_FIND 0
269 #define P2P_SCAN_FULL 1
270 #define P2P_SCAN_SEARCH_AND_LISTEN 2
273 // IOC_P2P_GET_STRUCT/IOC_P2P_SET_STRUCT
274 #define P2P_SEND_SD_RESPONSE 0
275 #define P2P_GET_SD_REQUEST 1
276 #define P2P_SEND_SD_REQUEST 2
277 #define P2P_GET_SD_RESPONSE 3
278 #define P2P_TERMINATE_SD_PHASE 4
280 /*******************************************************************************
282 ********************************************************************************
284 /*----------------------------------------------------------------------------*/
285 /* Wireless Extension: Private I/O Control */
286 /*----------------------------------------------------------------------------*/
287 typedef struct iw_p2p_cfg_device_type {
290 UINT_8 pri_device_type[8];
291 UINT_8 snd_device_type[8];
292 void __user *device_name;
293 UINT_8 device_name_len;
298 UINT_8 ch_width; /* 0: 20 Mhz 1:20/40 Mhz auto */
300 } IW_P2P_CFG_DEVICE_TYPE, *P_IW_P2P_CFG_DEVICE_TYPE;
302 typedef struct iw_p2p_hostapd_param {
308 } IW_P2P_HOSTAPD_PARAM, *P_IW_P2P_HOSTAPD_PARAM;
310 typedef struct iw_p2p_req_device_type {
311 UINT_8 scan_type; /* 0: Full scan + Find
313 * 2: Scan (Search +Listen)
317 UINT_8 pri_device_type[8];
318 void __user *probe_req_ie;
319 UINT_16 probe_req_len;
320 void __user *probe_rsp_ie;
321 UINT_16 probe_rsp_len;
322 } IW_P2P_REQ_DEVICE_TYPE, *P_IW_P2P_REQ_DEVICE_TYPE;
324 typedef struct iw_p2p_connect_device {
326 UINT_8 p2pRole; /* 0: P2P Device, 1:GC, 2: GO */
327 UINT_8 needProvision; /* 0: Don't needed provision, 1: doing the wsc provision first */
328 UINT_8 authPeer; /* 1: auth peer invitation request */
329 UINT_8 intend_config_method; /* Request Peer Device used config method */
330 } IW_P2P_CONNECT_DEVICE, *P_IW_P2P_CONNECT_DEVICE;
332 typedef struct iw_p2p_password_ready {
333 UINT_8 active_config_method;
334 void __user *probe_req_ie;
335 UINT_16 probe_req_len;
336 void __user *probe_rsp_ie;
337 UINT_16 probe_rsp_len;
338 } IW_P2P_PASSWORD_READY, *P_IW_P2P_PASSWORD_READY;
340 typedef struct iw_p2p_device_req {
343 UINT_8 device_addr[6];
345 INT_32 config_method;
346 INT_32 active_config_method;
347 } IW_P2P_DEVICE_REQ, *P_IW_P2P_DEVICE_REQ;
349 typedef struct iw_p2p_transport_struct {
351 UINT_32 inBufferLength;
352 UINT_32 outBufferLength;
353 UINT_8 aucBuffer[16];
354 } IW_P2P_TRANSPORT_STRUCT, *P_IW_P2P_TRANSPORT_STRUCT;
357 typedef struct iw_p2p_ioctl_invitation_struct {
358 UINT_8 aucDeviceID[6];
359 UINT_8 aucGroupID[6]; // BSSID
363 } IW_P2P_IOCTL_INVITATION_STRUCT, *P_IW_P2P_IOCTL_INVITATION_STRUCT;
365 typedef struct iw_p2p_ioctl_abort_invitation {
367 } IW_P2P_IOCTL_ABORT_INVITATION, *P_IW_P2P_IOCTL_ABORT_INVITATION;
369 typedef struct iw_p2p_ioctl_invitation_indicate {
371 UINT_8 group_bssid[6];
372 INT_32 config_method; /* peer device supported config method */
373 UINT_8 dev_name[32]; /* for reinvoke */
375 UINT_8 operating_channel; /* for re-invoke, target operating channel */
376 UINT_8 invitation_type; /* invitation or re-invoke */
377 } IW_P2P_IOCTL_INVITATION_INDICATE, *P_IW_P2P_IOCTL_INVITATION_INDICATE;
379 typedef struct iw_p2p_ioctl_invitation_status {
381 } IW_P2P_IOCTL_INVITATION_STATUS, *P_IW_P2P_IOCTL_INVITATION_STATUS;
384 typedef struct iw_p2p_ioctl_start_formation {
385 UINT_8 dev_addr[6]; /* bssid */
386 UINT_8 role; /* 0: P2P Device, 1:GC, 2: GO */
387 UINT_8 needProvision; /* 0: Don't needed provision, 1: doing the wsc provision first */
388 UINT_8 auth; /* 1: auth peer invitation request */
389 UINT_8 config_method; /* Request Peer Device used config method */
390 }IW_P2P_IOCTL_START_FORMATION, *P_IW_P2P_IOCTL_START_FORMATION;
392 /* SET_STRUCT / GET_STRUCT */
393 typedef enum _ENUM_P2P_CMD_ID_T {
394 P2P_CMD_ID_SEND_SD_RESPONSE = 0, /* 0x00 (Set) */
395 P2P_CMD_ID_GET_SD_REQUEST, /* 0x01 (Get) */
396 P2P_CMD_ID_SEND_SD_REQUEST, /* 0x02 (Set) */
397 P2P_CMD_ID_GET_SD_RESPONSE, /* 0x03 (Get) */
398 P2P_CMD_ID_TERMINATE_SD_PHASE, /* 0x04 (Set) */
399 #if 1 /* CFG_SUPPORT_ANTI_PIRACY */
400 P2P_CMD_ID_SEC_CHECK, /* 0x05(Set) */
402 P2P_CMD_ID_INVITATION, /* 0x06 (Set) */
403 P2P_CMD_ID_INVITATION_INDICATE, /* 0x07 (Get) */
404 P2P_CMD_ID_INVITATION_STATUS, /* 0x08 (Get) */
405 P2P_CMD_ID_INVITATION_ABORT, /* 0x09 (Set) */
406 P2P_CMD_ID_START_FORMATION, /* 0x0A (Set) */
407 P2P_CMD_ID_P2P_VERSION, /* 0x0B (Set/Get) */
408 P2P_CMD_ID_GET_CH_LIST = 12, /* 0x0C (Get) */
409 P2P_CMD_ID_GET_OP_CH = 14 /* 0x0E (Get) */
410 } ENUM_P2P_CMD_ID_T, *P_ENUM_P2P_CMD_ID_T;
412 /* Service Discovery */
413 typedef struct iw_p2p_cmd_send_sd_response {
414 PARAM_MAC_ADDRESS rReceiverAddr;
415 UINT_8 fgNeedTxDoneIndication;
417 UINT_16 u2PacketLength;
418 UINT_8 aucPacketContent[0]; /*native 802.11*/
419 } IW_P2P_CMD_SEND_SD_RESPONSE, *P_IW_P2P_CMD_SEND_SD_RESPONSE;
421 typedef struct iw_p2p_cmd_get_sd_request {
422 PARAM_MAC_ADDRESS rTransmitterAddr;
423 UINT_16 u2PacketLength;
424 UINT_8 aucPacketContent[0]; /*native 802.11*/
425 } IW_P2P_CMD_GET_SD_REQUEST, *P_IW_P2P_CMD_GET_SD_REQUEST;
427 typedef struct iw_p2p_cmd_send_service_discovery_request {
428 PARAM_MAC_ADDRESS rReceiverAddr;
429 UINT_8 fgNeedTxDoneIndication;
431 UINT_16 u2PacketLength;
432 UINT_8 aucPacketContent[0]; /*native 802.11*/
433 } IW_P2P_CMD_SEND_SD_REQUEST, *P_IW_P2P_CMD_SEND_SD_REQUEST;
435 typedef struct iw_p2p_cmd_get_sd_response {
436 PARAM_MAC_ADDRESS rTransmitterAddr;
437 UINT_16 u2PacketLength;
438 UINT_8 aucPacketContent[0]; /*native 802.11*/
439 } IW_P2P_CMD_GET_SD_RESPONSE, *P_IW_P2P_CMD_GET_SD_RESPONSE;
441 typedef struct iw_p2p_cmd_terminate_sd_phase {
442 PARAM_MAC_ADDRESS rPeerAddr;
443 } IW_P2P_CMD_TERMINATE_SD_PHASE, *P_IW_P2P_CMD_TERMINATE_SD_PHASE;
445 typedef struct iw_p2p_version {
447 } IW_P2P_VERSION, *P_IW_P2P_VERSION;
449 /*******************************************************************************
450 * P U B L I C D A T A
451 ********************************************************************************
454 /*******************************************************************************
455 * P R I V A T E D A T A
456 ********************************************************************************
459 /*******************************************************************************
461 ********************************************************************************
463 /* Macros used for cfg80211 */
464 #define RATETAB_ENT(_rate, _rateid, _flags) \
466 .bitrate = (_rate), \
467 .hw_value = (_rateid), \
471 #define CHAN2G(_channel, _freq, _flags) \
473 .band = IEEE80211_BAND_2GHZ, \
474 .center_freq = (_freq), \
475 .hw_value = (_channel), \
477 .max_antenna_gain = 0, \
481 #define CHAN5G(_channel, _flags) \
483 .band = IEEE80211_BAND_5GHZ, \
484 .center_freq = 5000 + (5 * (_channel)), \
485 .hw_value = (_channel), \
487 .max_antenna_gain = 0, \
491 /*******************************************************************************
492 * F U N C T I O N D E C L A R A T I O N S
493 ********************************************************************************
496 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 32) && (CFG_ENABLE_WIFI_DIRECT_CFG_80211 != 0)
497 int mtk_p2p_cfg80211_change_iface(
499 struct net_device *ndev,
500 enum nl80211_iftype type, u32 *flags,
501 struct vif_params *params
504 int mtk_p2p_cfg80211_add_key(
506 struct net_device *ndev,
510 struct key_params *params
513 int mtk_p2p_cfg80211_get_key(
515 struct net_device *ndev,
520 void (*callback)(void *cookie, struct key_params*)
523 int mtk_p2p_cfg80211_del_key(
525 struct net_device *ndev,
532 mtk_p2p_cfg80211_set_default_key(
534 struct net_device *netdev,
541 int mtk_p2p_cfg80211_get_station(
543 struct net_device *ndev,
545 struct station_info *sinfo
548 int mtk_p2p_cfg80211_scan(
550 struct net_device *ndev,
551 struct cfg80211_scan_request *request
554 int mtk_p2p_cfg80211_set_wiphy_params(
559 int mtk_p2p_cfg80211_connect(
561 struct net_device *dev,
562 struct cfg80211_connect_params *sme
565 int mtk_p2p_cfg80211_disconnect(
567 struct net_device *dev,
571 int mtk_p2p_cfg80211_join_ibss(
573 struct net_device *dev,
574 struct cfg80211_ibss_params *params
577 int mtk_p2p_cfg80211_leave_ibss(
579 struct net_device *dev
582 int mtk_p2p_cfg80211_set_txpower(
584 enum nl80211_tx_power_setting type,
588 int mtk_p2p_cfg80211_get_txpower(
593 int mtk_p2p_cfg80211_set_power_mgmt(
595 struct net_device *dev,
601 mtk_p2p_cfg80211_change_bss(
602 struct wiphy * wiphy,
603 struct net_device * dev,
604 struct bss_parameters * params
608 mtk_p2p_cfg80211_remain_on_channel(
609 struct wiphy * wiphy,
610 struct net_device * dev,
611 struct ieee80211_channel * chan,
612 enum nl80211_channel_type channel_type,
613 unsigned int duration,
618 mtk_p2p_cfg80211_cancel_remain_on_channel(
619 struct wiphy * wiphy,
620 struct net_device * dev,
625 mtk_p2p_cfg80211_deauth(
626 struct wiphy * wiphy,
627 struct net_device * dev,
628 struct cfg80211_deauth_request * req
629 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 2, 0)
636 mtk_p2p_cfg80211_disassoc(
637 struct wiphy * wiphy,
638 struct net_device * dev,
639 struct cfg80211_disassoc_request * req
640 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 2, 0)
644 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 2, 0)
647 mtk_p2p_cfg80211_start_ap(
649 struct net_device *dev,
650 struct cfg80211_ap_settings *settings
655 mtk_p2p_cfg80211_change_beacon(
657 struct net_device *dev,
658 struct cfg80211_beacon_data *info
662 mtk_p2p_cfg80211_mgmt_tx(
664 struct net_device *dev,
665 struct ieee80211_channel *chan,
667 enum nl80211_channel_type channel_type,
668 bool channel_type_valid,
673 bool dont_wait_for_ack,
678 mtk_p2p_cfg80211_add_set_beacon(
680 struct net_device *dev,
681 struct beacon_parameters *info
685 mtk_p2p_cfg80211_mgmt_tx(
686 struct wiphy * wiphy,
687 struct net_device * dev,
688 struct ieee80211_channel * chan,
690 enum nl80211_channel_type channel_type,
691 bool channel_type_valid,
702 mtk_p2p_cfg80211_stop_ap(
703 struct wiphy * wiphy,
704 struct net_device * dev
710 mtk_p2p_cfg80211_del_station(
711 struct wiphy * wiphy,
712 struct net_device * dev,
717 mtk_p2p_cfg80211_set_channel(
718 IN struct wiphy * wiphy,
719 IN struct net_device * dev,
720 IN struct ieee80211_channel * chan,
721 IN enum nl80211_channel_type channel_type
725 mtk_p2p_cfg80211_set_bitrate_mask(
726 IN struct wiphy *wiphy,
727 IN struct net_device *dev,
729 IN const struct cfg80211_bitrate_mask *mask
734 mtk_p2p_cfg80211_mgmt_frame_register(
735 IN struct wiphy *wiphy,
736 IN struct net_device *dev,
741 #if CONFIG_NL80211_TESTMODE
743 mtk_p2p_cfg80211_testmode_cmd(
744 IN struct wiphy *wiphy,
749 mtk_p2p_cfg80211_testmode_p2p_sigma_pre_cmd(
750 IN struct wiphy *wiphy,
755 mtk_p2p_cfg80211_testmode_p2p_sigma_cmd(
756 IN struct wiphy *wiphy,
763 mtk_p2p_cfg80211_testmode_wfd_update_cmd(
764 IN struct wiphy *wiphy,
771 mtk_p2p_cfg80211_testmode_hotspot_block_list_cmd(
772 IN struct wiphy *wiphy,
777 #error "Please ENABLE kernel config (CONFIG_NL80211_TESTMODE) to support Wi-Fi Direct"
782 /* I/O control handlers */
785 mtk_p2p_wext_get_priv (
786 IN struct net_device *prDev,
787 IN struct iw_request_info *info,
788 IN OUT union iwreq_data *wrqu,
793 mtk_p2p_wext_reconnect (
794 IN struct net_device *prDev,
795 IN struct iw_request_info *info,
796 IN OUT union iwreq_data *wrqu,
801 mtk_p2p_wext_set_auth (
802 IN struct net_device *prDev,
803 IN struct iw_request_info *info,
804 IN OUT union iwreq_data *wrqu,
809 mtk_p2p_wext_set_key (
810 IN struct net_device *prDev,
811 IN struct iw_request_info *info,
812 IN OUT union iwreq_data *wrqu,
817 mtk_p2p_wext_mlme_handler(
818 IN struct net_device *prDev,
819 IN struct iw_request_info *info,
820 IN OUT union iwreq_data *wrqu,
825 mtk_p2p_wext_set_powermode(
826 IN struct net_device *prDev,
827 IN struct iw_request_info *info,
828 IN OUT union iwreq_data *wrqu,
833 mtk_p2p_wext_get_powermode(
834 IN struct net_device *prDev,
835 IN struct iw_request_info *info,
836 IN OUT union iwreq_data *wrqu,
840 /* Private Wireless I/O Controls takes use of iw_handler */
842 mtk_p2p_wext_set_local_dev_info(
843 IN struct net_device *prDev,
844 IN struct iw_request_info *info,
845 IN OUT union iwreq_data *wrqu,
850 mtk_p2p_wext_set_provision_complete(
851 IN struct net_device *prDev,
852 IN struct iw_request_info *info,
853 IN OUT union iwreq_data *wrqu,
858 mtk_p2p_wext_start_stop_discovery(
859 IN struct net_device *prDev,
860 IN struct iw_request_info *info,
861 IN OUT union iwreq_data *wrqu,
866 mtk_p2p_wext_discovery_results(
867 IN struct net_device *prDev,
868 IN struct iw_request_info *info,
869 IN OUT union iwreq_data *wrqu,
875 IN struct net_device *prDev,
876 IN struct iw_request_info *info,
877 IN OUT union iwreq_data *wrqu,
882 mtk_p2p_wext_connect_disconnect(
883 IN struct net_device *prDev,
884 IN struct iw_request_info *info,
885 IN OUT union iwreq_data *wrqu,
890 mtk_p2p_wext_password_ready(
891 IN struct net_device *prDev,
892 IN struct iw_request_info *info,
893 IN OUT union iwreq_data *wrqu,
898 mtk_p2p_wext_request_dev_info(
899 IN struct net_device *prDev,
900 IN struct iw_request_info *info,
901 IN OUT union iwreq_data *wrqu,
906 mtk_p2p_wext_invitation_indicate(
907 IN struct net_device *prDev,
908 IN struct iw_request_info *info,
909 IN OUT union iwreq_data *wrqu,
914 mtk_p2p_wext_invitation_status(
915 IN struct net_device *prDev,
916 IN struct iw_request_info *info,
917 IN OUT union iwreq_data *wrqu,
922 mtk_p2p_wext_set_pm_param (
923 IN struct net_device *prDev,
924 IN struct iw_request_info *info,
925 IN OUT union iwreq_data *wrqu,
930 mtk_p2p_wext_set_ps_profile (
931 IN struct net_device *prDev,
932 IN struct iw_request_info *info,
933 IN OUT union iwreq_data *wrqu,
938 mtk_p2p_wext_set_network_address (
939 IN struct net_device *prDev,
940 IN struct iw_request_info *info,
941 IN OUT union iwreq_data *wrqu,
946 mtk_p2p_wext_set_int (
947 IN struct net_device *prDev,
948 IN struct iw_request_info *info,
949 IN OUT union iwreq_data *wrqu,
953 /* Private Wireless I/O Controls for IOC_SET_STRUCT/IOC_GET_STRUCT */
955 mtk_p2p_wext_set_struct (
956 IN struct net_device *prDev,
957 IN struct iw_request_info *info,
958 IN OUT union iwreq_data *wrqu,
963 mtk_p2p_wext_get_struct (
964 IN struct net_device *prDev,
965 IN struct iw_request_info *info,
966 IN OUT union iwreq_data *wrqu,
970 /* IOC_SET_STRUCT/IOC_GET_STRUCT: Service Discovery */
972 mtk_p2p_wext_get_service_discovery_request (
973 IN struct net_device *prDev,
974 IN struct iw_request_info *info,
975 IN OUT union iwreq_data *wrqu,
980 mtk_p2p_wext_get_service_discovery_response (
981 IN struct net_device *prDev,
982 IN struct iw_request_info *info,
983 IN OUT union iwreq_data *wrqu,
988 mtk_p2p_wext_send_service_discovery_request (
989 IN struct net_device *prDev,
990 IN struct iw_request_info *info,
991 IN OUT union iwreq_data *wrqu,
996 mtk_p2p_wext_send_service_discovery_response (
997 IN struct net_device *prDev,
998 IN struct iw_request_info *info,
999 IN OUT union iwreq_data *wrqu,
1004 mtk_p2p_wext_terminate_service_discovery_phase (
1005 IN struct net_device *prDev,
1006 IN struct iw_request_info *info,
1007 IN OUT union iwreq_data *wrqu,
1011 #if CFG_SUPPORT_ANTI_PIRACY
1013 mtk_p2p_wext_set_sec_check_request (
1014 IN struct net_device *prDev,
1015 IN struct iw_request_info *info,
1016 IN OUT union iwreq_data *wrqu,
1021 mtk_p2p_wext_get_sec_check_response (
1022 IN struct net_device *prDev,
1023 IN struct iw_request_info *info,
1024 IN OUT union iwreq_data *wrqu,
1030 mtk_p2p_wext_set_noa_param (
1031 IN struct net_device *prDev,
1032 IN struct iw_request_info *info,
1033 IN OUT union iwreq_data *wrqu,
1038 mtk_p2p_wext_set_oppps_param (
1039 IN struct net_device *prDev,
1040 IN struct iw_request_info *info,
1041 IN OUT union iwreq_data *wrqu,
1046 mtk_p2p_wext_set_p2p_version(
1047 IN struct net_device *prDev,
1048 IN struct iw_request_info *info,
1049 IN OUT union iwreq_data *wrqu,
1054 mtk_p2p_wext_get_p2p_version(
1055 IN struct net_device *prDev,
1056 IN struct iw_request_info *info,
1057 IN OUT union iwreq_data *wrqu,
1063 mtk_p2p_wext_set_Multicastlist(
1064 IN P_GLUE_INFO_T prGlueInfo
1067 #if CFG_SUPPORT_P2P_RSSI_QUERY
1069 mtk_p2p_wext_get_rssi(
1070 IN struct net_device *prDev,
1071 IN struct iw_request_info *info,
1072 IN OUT union iwreq_data *wrqu,
1076 struct iw_statistics *
1077 mtk_p2p_wext_get_wireless_stats(
1078 struct net_device *prDev
1084 mtk_p2p_wext_set_txpow(
1085 IN struct net_device *prDev,
1086 IN struct iw_request_info *prIwrInfo,
1087 IN OUT union iwreq_data *prTxPow,
1092 /*******************************************************************************
1094 ********************************************************************************
1097 #endif /* _GL_P2P_IOCTL_H */