//------------------------------------------------------------------------------ // ISC License (ISC) // // Copyright (c) 2004-2012, The Linux Foundation // All rights reserved. // Software was previously licensed under ISC license by Qualcomm Atheros, Inc. // // // // Permission to use, copy, modify, and/or distribute this software for any // purpose with or without fee is hereby granted, provided that the above // copyright notice and this permission notice appear in all copies. // // THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES // WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF // MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR // ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN // ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF // OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. // // // // Author(s): ="Atheros" //------------------------------------------------------------------------------ #ifndef _ATHDRV_LINUX_H #define _ATHDRV_LINUX_H #ifdef __cplusplus extern "C" { #endif /* * There are two types of ioctl's here: Standard ioctls and * eXtended ioctls. All extended ioctls (XIOCTL) are multiplexed * off of the single ioctl command, AR6000_IOCTL_EXTENDED. The * arguments for every XIOCTL starts with a 32-bit command word * that is used to select which extended ioctl is in use. After * the command word are command-specific arguments. */ /* Linux standard Wireless Extensions, private ioctl interfaces */ #define IEEE80211_IOCTL_SETPARAM (SIOCIWFIRSTPRIV+0) #define IEEE80211_IOCTL_SETKEY (SIOCIWFIRSTPRIV+1) #define IEEE80211_IOCTL_DELKEY (SIOCIWFIRSTPRIV+2) #define IEEE80211_IOCTL_SETMLME (SIOCIWFIRSTPRIV+3) #define IEEE80211_IOCTL_ADDPMKID (SIOCIWFIRSTPRIV+4) #define IEEE80211_IOCTL_SETOPTIE (SIOCIWFIRSTPRIV+5) //#define IEEE80211_IOCTL_GETPARAM (SIOCIWFIRSTPRIV+6) //#define IEEE80211_IOCTL_SETWMMPARAMS (SIOCIWFIRSTPRIV+7) //#define IEEE80211_IOCTL_GETWMMPARAMS (SIOCIWFIRSTPRIV+8) //#define IEEE80211_IOCTL_GETOPTIE (SIOCIWFIRSTPRIV+9) //#define IEEE80211_IOCTL_SETAUTHALG (SIOCIWFIRSTPRIV+10) #define IEEE80211_IOCTL_LASTONE (SIOCIWFIRSTPRIV+10) /* ====WMI Ioctls==== */ /* * * Many ioctls simply provide WMI services to application code: * an application makes such an ioctl call with a set of arguments * that are packaged into the corresponding WMI message, and sent * to the Target. */ #define AR6000_IOCTL_WMI_GETREV (SIOCIWFIRSTPRIV+11) /* * arguments: * ar6000_version *revision */ #define AR6000_IOCTL_WMI_SETPWR (SIOCIWFIRSTPRIV+12) /* * arguments: * WMI_POWER_MODE_CMD pwrModeCmd (see include/wmi.h) * uses: WMI_SET_POWER_MODE_CMDID */ #define AR6000_IOCTL_WMI_SETSCAN (SIOCIWFIRSTPRIV+13) /* * arguments: * WMI_SCAN_PARAMS_CMD scanParams (see include/wmi.h) * uses: WMI_SET_SCAN_PARAMS_CMDID */ #define AR6000_IOCTL_WMI_SETLISTENINT (SIOCIWFIRSTPRIV+14) /* * arguments: * UINT32 listenInterval * uses: WMI_SET_LISTEN_INT_CMDID */ #define AR6000_IOCTL_WMI_SETBSSFILTER (SIOCIWFIRSTPRIV+15) /* * arguments: * WMI_BSS_FILTER filter (see include/wmi.h) * uses: WMI_SET_BSS_FILTER_CMDID */ #define AR6000_IOCTL_WMI_SET_CHANNELPARAMS (SIOCIWFIRSTPRIV+16) /* * arguments: * WMI_CHANNEL_PARAMS_CMD chParams * uses: WMI_SET_CHANNEL_PARAMS_CMDID */ #define AR6000_IOCTL_WMI_SET_PROBEDSSID (SIOCIWFIRSTPRIV+17) /* * arguments: * WMI_PROBED_SSID_CMD probedSsids (see include/wmi.h) * uses: WMI_SETPROBED_SSID_CMDID */ #define AR6000_IOCTL_WMI_SET_PMPARAMS (SIOCIWFIRSTPRIV+18) /* * arguments: * WMI_POWER_PARAMS_CMD powerParams (see include/wmi.h) * uses: WMI_SET_POWER_PARAMS_CMDID */ #define AR6000_IOCTL_WMI_SET_BADAP (SIOCIWFIRSTPRIV+19) /* * arguments: * WMI_ADD_BAD_AP_CMD badAPs (see include/wmi.h) * uses: WMI_ADD_BAD_AP_CMDID */ #define AR6000_IOCTL_WMI_GET_QOS_QUEUE (SIOCIWFIRSTPRIV+20) /* * arguments: * ar6000_queuereq queueRequest (see below) */ #define AR6000_IOCTL_WMI_CREATE_QOS (SIOCIWFIRSTPRIV+21) /* * arguments: * WMI_CREATE_PSTREAM createPstreamCmd (see include/wmi.h) * uses: WMI_CREATE_PSTREAM_CMDID */ #define AR6000_IOCTL_WMI_DELETE_QOS (SIOCIWFIRSTPRIV+22) /* * arguments: * WMI_DELETE_PSTREAM_CMD deletePstreamCmd (see include/wmi.h) * uses: WMI_DELETE_PSTREAM_CMDID */ #define AR6000_IOCTL_WMI_SET_SNRTHRESHOLD (SIOCIWFIRSTPRIV+23) /* * arguments: * WMI_SNR_THRESHOLD_PARAMS_CMD thresholdParams (see include/wmi.h) * uses: WMI_SNR_THRESHOLD_PARAMS_CMDID */ #define AR6000_IOCTL_WMI_SET_ERROR_REPORT_BITMASK (SIOCIWFIRSTPRIV+24) /* * arguments: * WMI_TARGET_ERROR_REPORT_BITMASK errorReportBitMask (see include/wmi.h) * uses: WMI_TARGET_ERROR_REPORT_BITMASK_CMDID */ #define AR6000_IOCTL_WMI_GET_TARGET_STATS (SIOCIWFIRSTPRIV+25) /* * arguments: * TARGET_STATS *targetStats (see below) * uses: WMI_GET_STATISTICS_CMDID */ #define AR6000_IOCTL_WMI_SET_ASSOC_INFO (SIOCIWFIRSTPRIV+26) /* * arguments: * WMI_SET_ASSOC_INFO_CMD setAssocInfoCmd * uses: WMI_SET_ASSOC_INFO_CMDID */ #define AR6000_IOCTL_WMI_SET_ACCESS_PARAMS (SIOCIWFIRSTPRIV+27) /* * arguments: * WMI_SET_ACCESS_PARAMS_CMD setAccessParams (see include/wmi.h) * uses: WMI_SET_ACCESS_PARAMS_CMDID */ #define AR6000_IOCTL_WMI_SET_BMISS_TIME (SIOCIWFIRSTPRIV+28) /* * arguments: * UINT32 beaconMissTime * uses: WMI_SET_BMISS_TIME_CMDID */ #define AR6000_IOCTL_WMI_SET_DISC_TIMEOUT (SIOCIWFIRSTPRIV+29) /* * arguments: * WMI_DISC_TIMEOUT_CMD disconnectTimeoutCmd (see include/wmi.h) * uses: WMI_SET_DISC_TIMEOUT_CMDID */ #define AR6000_IOCTL_WMI_SET_IBSS_PM_CAPS (SIOCIWFIRSTPRIV+30) /* * arguments: * WMI_IBSS_PM_CAPS_CMD ibssPowerMgmtCapsCmd * uses: WMI_SET_IBSS_PM_CAPS_CMDID */ /* * There is a very small space available for driver-private * wireless ioctls. In order to circumvent this limitation, * we multiplex a bunch of ioctls (XIOCTLs) on top of a * single AR6000_IOCTL_EXTENDED ioctl. */ #define AR6000_IOCTL_EXTENDED (SIOCIWFIRSTPRIV+31) typedef enum { AR6000_XIOCTL_BMI_DONE = 1, AR6000_XIOCTL_BMI_READ_MEMORY, AR6000_XIOCTL_BMI_WRITE_MEMORY, AR6000_XIOCTL_BMI_EXECUTE, AR6000_XIOCTL_BMI_SET_APP_START, AR6000_XIOCTL_BMI_READ_SOC_REGISTER, AR6000_XIOCTL_BMI_WRITE_SOC_REGISTER, AR6000_XIOCTL_BMI_TEST, AR6000_XIOCTL_UNUSED9, AR6000_XIOCTL_UNUSED10, /* 10 */ AR6000_XIOCTL_UNUSED11, AR6000_XIOCTL_FORCE_TARGET_RESET, AR6000_XIOCTL_HTC_RAW_OPEN, AR6000_XIOCTL_HTC_RAW_CLOSE, AR6000_XIOCTL_HTC_RAW_READ, AR6000_XIOCTL_HTC_RAW_WRITE, AR6000_XIOCTL_CHECK_TARGET_READY, AR6000_XIOCTL_GPIO_OUTPUT_SET, AR6000_XIOCTL_GPIO_INPUT_GET, AR6000_XIOCTL_GPIO_REGISTER_SET, /* 20 */ AR6000_XIOCTL_GPIO_REGISTER_GET, AR6000_XIOCTL_GPIO_INTR_ACK, AR6000_XIOCTL_GPIO_INTR_WAIT, AR6000_XIOCTL_SET_ADHOC_BSSID, AR6000_XIOCTL_UNUSED25, AR6000_XIOCTL_UNUSED26, AR6000_XIOCTL_SET_BEACON_INTVAL, IEEE80211_IOCTL_SETAUTHALG, AR6000_XIOCTL_SET_VOICE_PKT_SIZE, AR6000_XIOCTL_SET_MAX_SP, /* 30 */ AR6000_XIOCTL_WMI_GET_ROAM_TBL, AR6000_XIOCTL_WMI_SET_ROAM_CTRL, AR6000_XIOCTRL_WMI_SET_POWERSAVE_TIMERS, AR6000_XIOCTRL_WMI_GET_POWER_MODE, AR6000_XIOCTRL_WMI_SET_WLAN_STATE, AR6000_XIOCTL_WMI_GET_ROAM_DATA, AR6000_XIOCTL_WMI_SETRETRYLIMITS, AR6000_XIOCTL_TCMD_CONT_TX, AR6000_XIOCTL_TCMD_CONT_RX, AR6000_XIOCTL_TCMD_PM, /* 40 */ AR6000_XIOCTL_WMI_STARTSCAN, AR6000_XIOCTL_WMI_SETFIXRATES, AR6000_XIOCTL_WMI_GETFIXRATES, AR6000_XIOCTL_WMI_SET_RSSITHRESHOLD, AR6000_XIOCTL_WMI_CLR_RSSISNR, AR6000_XIOCTL_WMI_SET_LQTHRESHOLD, AR6000_XIOCTL_WMI_SET_RTS, AR6000_XIOCTL_WMI_SET_LPREAMBLE, AR6000_XIOCTL_WMI_SET_AUTHMODE, AR6000_XIOCTL_WMI_SET_REASSOCMODE, /* 50 */ AR6000_XIOCTL_WMI_SET_WMM, AR6000_XIOCTL_WMI_SET_HB_CHALLENGE_RESP_PARAMS, AR6000_XIOCTL_WMI_GET_HB_CHALLENGE_RESP, AR6000_XIOCTL_WMI_GET_RD, AR6000_XIOCTL_DIAG_READ, AR6000_XIOCTL_DIAG_WRITE, AR6000_XIOCTL_WMI_SET_TXOP, AR6000_XIOCTL_USER_SETKEYS, AR6000_XIOCTL_WMI_SET_KEEPALIVE, AR6000_XIOCTL_WMI_GET_KEEPALIVE, /* 60 */ AR6000_XIOCTL_BMI_ROMPATCH_INSTALL, AR6000_XIOCTL_BMI_ROMPATCH_UNINSTALL, AR6000_XIOCTL_BMI_ROMPATCH_ACTIVATE, AR6000_XIOCTL_BMI_ROMPATCH_DEACTIVATE, AR6000_XIOCTL_WMI_SET_APPIE, AR6000_XIOCTL_WMI_SET_MGMT_FRM_RX_FILTER, AR6000_XIOCTL_DBGLOG_CFG_MODULE, AR6000_XIOCTL_DBGLOG_GET_DEBUG_LOGS, AR6000_XIOCTL_WMI_SET_WSC_STATUS = 70, /* 70 */ AR6000_XIOCTL_WMI_SET_BT_STATUS, AR6000_XIOCTL_WMI_SET_BT_PARAMS, AR6000_XIOCTL_WMI_SET_HOST_SLEEP_MODE, AR6000_XIOCTL_WMI_SET_WOW_MODE, AR6000_XIOCTL_WMI_GET_WOW_LIST, AR6000_XIOCTL_WMI_ADD_WOW_PATTERN, AR6000_XIOCTL_WMI_DEL_WOW_PATTERN, AR6000_XIOCTL_TARGET_INFO, AR6000_XIOCTL_DUMP_HTC_CREDIT_STATE, AR6000_XIOCTL_TRAFFIC_ACTIVITY_CHANGE, /* 80 */ AR6000_XIOCTL_WMI_SET_CONNECT_CTRL_FLAGS, AR6000_XIOCTL_WMI_SET_AKMP_PARAMS, AR6000_XIOCTL_WMI_GET_PMKID_LIST, AR6000_XIOCTL_WMI_SET_PMKID_LIST, AR6000_XIOCTL_WMI_SET_PARAMS, AR6000_XIOCTL_WMI_SET_MCAST_FILTER, AR6000_XIOCTL_WMI_DEL_MCAST_FILTER, AR6000_XIOCTL_UNUSED90 = 90, /* 90 */ AR6000_XIOCTL_BMI_LZ_STREAM_START, AR6000_XIOCTL_BMI_LZ_DATA, AR6000_XIOCTL_PROF_CFG, AR6000_XIOCTL_PROF_ADDR_SET, AR6000_XIOCTL_PROF_START, AR6000_XIOCTL_PROF_STOP, AR6000_XIOCTL_PROF_COUNT_GET, AR6000_XIOCTL_WMI_ABORT_SCAN, AR6000_XIOCTL_AP_GET_STA_LIST, AR6000_XIOCTL_AP_HIDDEN_SSID, /* 100 */ AR6000_XIOCTL_AP_SET_NUM_STA, AR6000_XIOCTL_AP_SET_ACL_MAC, AR6000_XIOCTL_AP_GET_ACL_LIST, AR6000_XIOCTL_AP_COMMIT_CONFIG, IEEE80211_IOCTL_GETWPAIE, AR6000_XIOCTL_AP_CONN_INACT_TIME, AR6000_XIOCTL_AP_PROT_SCAN_TIME, AR6000_XIOCTL_AP_SET_COUNTRY, AR6000_XIOCTL_AP_SET_DTIM, AR6000_XIOCTL_WMI_TARGET_EVENT_REPORT, /* 110 */ AR6000_XIOCTL_SET_IP, AR6000_XIOCTL_AP_SET_ACL_POLICY, AR6000_XIOCTL_AP_CTRL_BSS_COMM, AR6000_XIOCTL_DUMP_MODULE_DEBUG_INFO, AR6000_XIOCTL_MODULE_DEBUG_SET_MASK, AR6000_XIOCTL_MODULE_DEBUG_GET_MASK, AR6000_XIOCTL_DUMP_RCV_AGGR_STATS, AR6000_XIOCTL_SET_HT_CAP, AR6000_XIOCTL_SET_HT_OP, AR6000_XIOCTL_AP_GET_STAT, /* 120 */ AR6000_XIOCTL_SET_TX_SELECT_RATES, AR6000_XIOCTL_SETUP_AGGR, AR6000_XIOCTL_ALLOW_AGGR, AR6000_XIOCTL_AP_GET_HIDDEN_SSID, AR6000_XIOCTL_AP_GET_COUNTRY, AR6000_XIOCTL_AP_GET_WMODE, AR6000_XIOCTL_AP_GET_DTIM, AR6000_XIOCTL_AP_GET_BINTVL, AR6000_XIOCTL_AP_GET_RTS, AR6000_XIOCTL_DELE_AGGR, /* 130 */ AR6000_XIOCTL_FETCH_TARGET_REGS, AR6000_XIOCTL_HCI_CMD, AR6000_XIOCTL_ACL_DATA, AR6000_XIOCTL_WLAN_CONN_PRECEDENCE, AR6000_XIOCTL_AP_SET_11BG_RATESET, AR6000_XIOCTL_WMI_SET_AP_PS, AR6000_XIOCTL_WMI_MCAST_FILTER, AR6000_XIOCTL_WMI_SET_BTCOEX_FE_ANT, AR6000_XIOCTL_WMI_SET_BTCOEX_COLOCATED_BT_DEV, AR6000_XIOCTL_WMI_SET_BTCOEX_BTINQUIRY_PAGE_CONFIG, /* 140 */ AR6000_XIOCTL_WMI_SET_BTCOEX_SCO_CONFIG, AR6000_XIOCTL_WMI_SET_BTCOEX_A2DP_CONFIG, AR6000_XIOCTL_WMI_SET_BTCOEX_ACLCOEX_CONFIG, AR6000_XIOCTL_WMI_SET_BTCOEX_DEBUG, AR6000_XIOCTL_WMI_SET_BT_OPERATING_STATUS, AR6000_XIOCTL_WMI_GET_BTCOEX_CONFIG, AR6000_XIOCTL_WMI_GET_BTCOEX_STATS, AR6000_XIOCTL_WMI_SET_QOS_SUPP, AR6000_XIOCTL_AP_SET_DFS, AR6000_XIOCTL_WMI_P2P_DISCOVER, /* 150 */ AR6000_XIOCTL_WMI_P2P_STOP_FIND, AR6000_XIOCTL_WMI_P2P_CANCEL, AR6000_XIOCTL_WMI_P2P_LISTEN, AR6000_XIOCTL_WMI_P2P_GO_NEG, AR6000_XIOCTL_WMI_P2P_AUTH_GO_NEG, AR6000_XIOCTL_WMI_P2P_REJECT, AR6000_XIOCTL_WMI_P2P_CONFIG, AR6000_XIOCTL_WMI_WPS_CONFIG, AR6000_XIOCTL_WMI_P2P_FINDNODE, AR6000_XIOCTL_WMI_P2P_GRP_INIT, /* 160 */ AR6000_XIOCTL_WMI_P2P_GRP_FORMATION_DONE, AR6000_XIOCTL_WMI_P2P_INVITE, AR6000_XIOCTL_WMI_P2P_PROV_DISC, AR6000_XIOCTL_WMI_P2P_SET, AR6000_XIOCTL_WMI_P2P_PEER, AR6000_XIOCTL_WMI_P2P_FLUSH, AR6000_XIOCTL_WMI_GET_GO_PARAMS, AR6000_XIOCTL_P2P_AUTH_INVITE, AR6000_XIOCTL_WMI_P2P_GET_IF_ADDR, AR6000_XIOCTL_WMI_P2P_GET_DEV_ADDR, /* 170 */ AR6000_XIOCTL_WMI_P2P_SDPD_TX_CMD, AR6000_XIOTCL_WMI_P2P_SD_CANCEL_REQUEST, AR6000_XIOCTL_SET_BT_HW_POWER_STATE, AR6000_XIOCTL_GET_BT_HW_POWER_STATE, AR6000_XIOCTL_GET_WLAN_SLEEP_STATE, AR6000_XIOCTL_WMI_SET_TX_SGI_PARAM, AR6000_XIOCTL_WMI_ENABLE_WAC_PARAM, AR6000_XIOCTL_WAC_SCAN_REPLY, AR6000_XIOCTL_WMI_WAC_CTRL_REQ, AR6000_XIOCTL_WMI_SET_WPA_OFFLOAD_STATE, /* 180 */ AR6000_XIOCTL_WMI_SET_PASSPHRASE, AR6000_XIOCTL_BMI_NVRAM_PROCESS, AR6000_XIOCTL_WMI_SET_DIVERSITY_PARAM, AR6000_XIOCTL_WMI_FORCE_ASSERT, AR6000_XIOCTL_WMI_ENABLE_PKTLOG, AR6000_XIOCTL_WMI_DISABLE_PKTLOG, AR6000_XIOCTL_WMI_GET_PKTLOG, AR6000_XIOCTL_AP_ACS_POLICY, AR6000_XIOCTL_TCMD_CMDS, AR6000_XIOCTL_WMI_SET_EXCESS_TX_RETRY_THRES, /* 190 */ AR6000_XIOCTL_AP_GET_NUM_STA, AR6000_XIOCTL_SUSPEND_DRIVER, AR6000_XIOCTL_RESUME_DRIVER, AR6000_XIOCTL_GET_SUBMODE, AR6000_XIOCTL_WMI_AP_SET_APSD, AR6000_XIOCTL_TCMD_SETREG, AR6000_XIOCTL_GET_HT_CAP, AR6000_XIOCTL_WMI_GET_P2P_IE, AR6000_XIOCTL_WMI_P2P_GET_OWN_INFO, AR6000_XIOCTL_WMI_LTE_FREQ, /* 200 */ AR6000_XIOCTL_WMI_AP_IDLE_CLOSE_TIME, AR6000_XIOCTL_WMI_SEND_FRAME, AR6000_XIOCTL_WMI_GET_WMM, } XTND_IOCLTS; ///* ====BMI Extended Ioctls==== */ // //#define AR6000_XIOCTL_BMI_DONE 1 ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_BMI_DONE) // * uses: BMI_DONE // */ // //#define AR6000_XIOCTL_BMI_READ_MEMORY 2 ///* // * arguments: // * union { // * struct { // * UINT32 cmd (AR6000_XIOCTL_BMI_READ_MEMORY) // * UINT32 address // * UINT32 length // * } // * char results[length] // * } // * uses: BMI_READ_MEMORY // */ // //#define AR6000_XIOCTL_BMI_WRITE_MEMORY 3 ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_BMI_WRITE_MEMORY) // * UINT32 address // * UINT32 length // * char data[length] // * uses: BMI_WRITE_MEMORY // */ // //#define AR6000_XIOCTL_BMI_EXECUTE 4 ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_BMI_EXECUTE) // * UINT32 TargetAddress // * UINT32 parameter // * uses: BMI_EXECUTE // */ // //#define AR6000_XIOCTL_BMI_SET_APP_START 5 ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_BMI_SET_APP_START) // * UINT32 TargetAddress // * uses: BMI_SET_APP_START // */ // //#define AR6000_XIOCTL_BMI_READ_SOC_REGISTER 6 ///* // * arguments: // * union { // * struct { // * UINT32 cmd (AR6000_XIOCTL_BMI_READ_SOC_REGISTER) // * UINT32 TargetAddress, 32-bit aligned // * } // * UINT32 result // * } // * uses: BMI_READ_SOC_REGISTER // */ // //#define AR6000_XIOCTL_BMI_WRITE_SOC_REGISTER 7 ///* // * arguments: // * struct { // * UINT32 cmd (AR6000_XIOCTL_BMI_WRITE_SOC_REGISTER) // * UINT32 TargetAddress, 32-bit aligned // * UINT32 newValue // * } // * uses: BMI_WRITE_SOC_REGISTER // */ // //#define AR6000_XIOCTL_BMI_TEST 8 ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_BMI_TEST) // * UINT32 address // * UINT32 length // * UINT32 count // */ // // // ///* Historical Host-side DataSet support */ //#define AR6000_XIOCTL_UNUSED9 9 //#define AR6000_XIOCTL_UNUSED10 10 //#define AR6000_XIOCTL_UNUSED11 11 // ///* ====Misc Extended Ioctls==== */ // //#define AR6000_XIOCTL_FORCE_TARGET_RESET 12 ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_FORCE_TARGET_RESET) // */ // // //#ifdef HTC_RAW_INTERFACE ///* HTC Raw Interface Ioctls */ //#define AR6000_XIOCTL_HTC_RAW_OPEN 13 ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_HTC_RAW_OPEN) // */ // //#define AR6000_XIOCTL_HTC_RAW_CLOSE 14 ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_HTC_RAW_CLOSE) // */ // //#define AR6000_XIOCTL_HTC_RAW_READ 15 ///* // * arguments: // * union { // * struct { // * UINT32 cmd (AR6000_XIOCTL_HTC_RAW_READ) // * UINT32 mailboxID // * UINT32 length // * } // * results[length] // * } // */ // //#define AR6000_XIOCTL_HTC_RAW_WRITE 16 ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_HTC_RAW_WRITE) // * UINT32 mailboxID // * UINT32 length // * char buffer[length] // */ //#endif /* HTC_RAW_INTERFACE */ // //#define AR6000_XIOCTL_CHECK_TARGET_READY 17 ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_CHECK_TARGET_READY) // */ // // // ///* ====GPIO (General Purpose I/O) Extended Ioctls==== */ // //#define AR6000_XIOCTL_GPIO_OUTPUT_SET 18 ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_GPIO_OUTPUT_SET) // * ar6000_gpio_output_set_cmd_s (see below) // * uses: WMIX_GPIO_OUTPUT_SET_CMDID // */ // //#define AR6000_XIOCTL_GPIO_INPUT_GET 19 ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_GPIO_INPUT_GET) // * uses: WMIX_GPIO_INPUT_GET_CMDID // */ // //#define AR6000_XIOCTL_GPIO_REGISTER_SET 20 ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_GPIO_REGISTER_SET) // * ar6000_gpio_register_cmd_s (see below) // * uses: WMIX_GPIO_REGISTER_SET_CMDID // */ // //#define AR6000_XIOCTL_GPIO_REGISTER_GET 21 ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_GPIO_REGISTER_GET) // * ar6000_gpio_register_cmd_s (see below) // * uses: WMIX_GPIO_REGISTER_GET_CMDID // */ // //#define AR6000_XIOCTL_GPIO_INTR_ACK 22 ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_GPIO_INTR_ACK) // * ar6000_cpio_intr_ack_cmd_s (see below) // * uses: WMIX_GPIO_INTR_ACK_CMDID // */ // //#define AR6000_XIOCTL_GPIO_INTR_WAIT 23 ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_GPIO_INTR_WAIT) // */ // // // ///* ====more wireless commands==== */ // //#define AR6000_XIOCTL_SET_ADHOC_BSSID 24 ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_SET_ADHOC_BSSID) // * WMI_SET_ADHOC_BSSID_CMD setAdHocBssidCmd (see include/wmi.h) // */ // //#define AR6000_XIOCTL_SET_OPT_MODE 25 ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_SET_OPT_MODE) // * WMI_SET_OPT_MODE_CMD setOptModeCmd (see include/wmi.h) // * uses: WMI_SET_OPT_MODE_CMDID // */ // //#define AR6000_XIOCTL_OPT_SEND_FRAME 26 ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_OPT_SEND_FRAME) // * WMI_OPT_TX_FRAME_CMD optTxFrameCmd (see include/wmi.h) // * uses: WMI_OPT_TX_FRAME_CMDID // */ // //#define AR6000_XIOCTL_SET_BEACON_INTVAL 27 ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_SET_BEACON_INTVAL) // * WMI_BEACON_INT_CMD beaconIntCmd (see include/wmi.h) // * uses: WMI_SET_BEACON_INT_CMDID // */ // // //#define IEEE80211_IOCTL_SETAUTHALG 28 // // //#define AR6000_XIOCTL_SET_VOICE_PKT_SIZE 29 ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_SET_VOICE_PKT_SIZE) // * WMI_SET_VOICE_PKT_SIZE_CMD setVoicePktSizeCmd (see include/wmi.h) // * uses: WMI_SET_VOICE_PKT_SIZE_CMDID // */ // // //#define AR6000_XIOCTL_SET_MAX_SP 30 ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_SET_MAX_SP) // * WMI_SET_MAX_SP_LEN_CMD maxSPLen(see include/wmi.h) // * uses: WMI_SET_MAX_SP_LEN_CMDID // */ // //#define AR6000_XIOCTL_WMI_GET_ROAM_TBL 31 // //#define AR6000_XIOCTL_WMI_SET_ROAM_CTRL 32 // //#define AR6000_XIOCTRL_WMI_SET_POWERSAVE_TIMERS 33 // // ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTRL_WMI_SET_POWERSAVE_TIMERS) // * WMI_SET_POWERSAVE_TIMERS_CMD powerSaveTimers(see include/wmi.h) // * WMI_SET_POWERSAVE_TIMERS_CMDID // */ // //#define AR6000_XIOCTRL_WMI_GET_POWER_MODE 34 ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTRL_WMI_GET_POWER_MODE) // */ // //#define AR6000_XIOCTRL_WMI_SET_WLAN_STATE 35 typedef enum { WLAN_DISABLED, WLAN_ENABLED } AR6000_WLAN_STATE; ///* // * arguments: // * enable/disable // */ // //#define AR6000_XIOCTL_WMI_GET_ROAM_DATA 36 // //#define AR6000_XIOCTL_WMI_SETRETRYLIMITS 37 ///* // * arguments: // * WMI_SET_RETRY_LIMITS_CMD ibssSetRetryLimitsCmd // * uses: WMI_SET_RETRY_LIMITS_CMDID // */ // //#ifdef CONFIG_HOST_TCMD_SUPPORT ///* ====extended commands for radio test ==== */ // //#define AR6000_XIOCTL_TCMD_CONT_TX 38 ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_TCMD_CONT_TX) // * WMI_TCMD_CONT_TX_CMD contTxCmd (see include/wmi.h) // * uses: WMI_TCMD_CONT_TX_CMDID // */ // //#define AR6000_XIOCTL_TCMD_CONT_RX 39 ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_TCMD_CONT_RX) // * WMI_TCMD_CONT_RX_CMD rxCmd (see include/wmi.h) // * uses: WMI_TCMD_CONT_RX_CMDID // */ // //#define AR6000_XIOCTL_TCMD_PM 40 ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_TCMD_PM) // * WMI_TCMD_PM_CMD pmCmd (see include/wmi.h) // * uses: WMI_TCMD_PM_CMDID // */ // //#endif /* CONFIG_HOST_TCMD_SUPPORT */ // //#define AR6000_XIOCTL_WMI_STARTSCAN 41 ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_WMI_STARTSCAN) // * UINT8 scanType // * UINT8 scanConnected // * A_BOOL forceFgScan // * uses: WMI_START_SCAN_CMDID // */ // //#define AR6000_XIOCTL_WMI_SETFIXRATES 42 // //#define AR6000_XIOCTL_WMI_GETFIXRATES 43 // // //#define AR6000_XIOCTL_WMI_SET_RSSITHRESHOLD 44 ///* // * arguments: // * WMI_RSSI_THRESHOLD_PARAMS_CMD thresholdParams (see include/wmi.h) // * uses: WMI_RSSI_THRESHOLD_PARAMS_CMDID // */ // //#define AR6000_XIOCTL_WMI_CLR_RSSISNR 45 ///* // * arguments: // * WMI_CLR_RSSISNR_CMD thresholdParams (see include/wmi.h) // * uses: WMI_CLR_RSSISNR_CMDID // */ // //#define AR6000_XIOCTL_WMI_SET_LQTHRESHOLD 46 ///* // * arguments: // * WMI_LQ_THRESHOLD_PARAMS_CMD thresholdParams (see include/wmi.h) // * uses: WMI_LQ_THRESHOLD_PARAMS_CMDID // */ // //#define AR6000_XIOCTL_WMI_SET_RTS 47 ///* // * arguments: // * WMI_SET_RTS_MODE_CMD (see include/wmi.h) // * uses: WMI_SET_RTS_MODE_CMDID // */ // //#define AR6000_XIOCTL_WMI_SET_LPREAMBLE 48 // //#define AR6000_XIOCTL_WMI_SET_AUTHMODE 49 ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_WMI_SET_AUTHMODE) // * UINT8 mode // * uses: WMI_SET_RECONNECT_AUTH_MODE_CMDID // */ // //#define AR6000_XIOCTL_WMI_SET_REASSOCMODE 50 // ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_WMI_SET_WMM) // * UINT8 mode // * uses: WMI_SET_WMM_CMDID // */ //#define AR6000_XIOCTL_WMI_SET_WMM 51 // ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_WMI_SET_HB_CHALLENGE_RESP_PARAMS) // * UINT32 frequency // * UINT8 threshold // */ //#define AR6000_XIOCTL_WMI_SET_HB_CHALLENGE_RESP_PARAMS 52 // ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_WMI_GET_HB_CHALLENGE_RESP) // * UINT32 cookie // */ //#define AR6000_XIOCTL_WMI_GET_HB_CHALLENGE_RESP 53 // ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_WMI_GET_RD) // * UINT32 regDomain // */ //#define AR6000_XIOCTL_WMI_GET_RD 54 // //#define AR6000_XIOCTL_DIAG_READ 55 // //#define AR6000_XIOCTL_DIAG_WRITE 56 // ///* // * arguments cmd (AR6000_XIOCTL_SET_TXOP) // * WMI_TXOP_CFG txopEnable // */ //#define AR6000_XIOCTL_WMI_SET_TXOP 57 // //#ifdef USER_KEYS ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_USER_SETKEYS) // * UINT32 keyOpCtrl // * uses AR6000_USER_SETKEYS_INFO // */ //#define AR6000_XIOCTL_USER_SETKEYS 58 //#endif /* USER_KEYS */ // //#define AR6000_XIOCTL_WMI_SET_KEEPALIVE 59 ///* // * arguments: // * UINT8 cmd (AR6000_XIOCTL_WMI_SET_KEEPALIVE) // * UINT8 keepaliveInterval // * uses: WMI_SET_KEEPALIVE_CMDID // */ // //#define AR6000_XIOCTL_WMI_GET_KEEPALIVE 60 ///* // * arguments: // * UINT8 cmd (AR6000_XIOCTL_WMI_GET_KEEPALIVE) // * UINT8 keepaliveInterval // * A_BOOL configured // * uses: WMI_GET_KEEPALIVE_CMDID // */ // ///* ====ROM Patching Extended Ioctls==== */ // //#define AR6000_XIOCTL_BMI_ROMPATCH_INSTALL 61 ///* // * arguments: // * union { // * struct { // * UINT32 cmd (AR6000_XIOCTL_BMI_ROMPATCH_INSTALL) // * UINT32 ROM Address // * UINT32 RAM Address // * UINT32 number of bytes // * UINT32 activate? (0 or 1) // * } // * A_UINT32 resulting rompatch ID // * } // * uses: BMI_ROMPATCH_INSTALL // */ // //#define AR6000_XIOCTL_BMI_ROMPATCH_UNINSTALL 62 ///* // * arguments: // * struct { // * UINT32 cmd (AR6000_XIOCTL_BMI_ROMPATCH_UNINSTALL) // * UINT32 rompatch ID // * } // * uses: BMI_ROMPATCH_UNINSTALL // */ // //#define AR6000_XIOCTL_BMI_ROMPATCH_ACTIVATE 63 ///* // * arguments: // * struct { // * UINT32 cmd (AR6000_XIOCTL_BMI_ROMPATCH_ACTIVATE) // * UINT32 rompatch count // * UINT32 rompatch IDs[rompatch count] // * } // * uses: BMI_ROMPATCH_ACTIVATE // */ // //#define AR6000_XIOCTL_BMI_ROMPATCH_DEACTIVATE 64 ///* // * arguments: // * struct { // * UINT32 cmd (AR6000_XIOCTL_BMI_ROMPATCH_DEACTIVATE) // * UINT32 rompatch count // * UINT32 rompatch IDs[rompatch count] // * } // * uses: BMI_ROMPATCH_DEACTIVATE // */ // //#define AR6000_XIOCTL_WMI_SET_APPIE 65 ///* // * arguments: // * struct { // * UINT32 cmd (AR6000_XIOCTL_WMI_SET_APPIE) // * UINT32 app_frmtype; // * UINT32 app_buflen; // * UINT8 app_buf[]; // * } // */ //#define AR6000_XIOCTL_WMI_SET_MGMT_FRM_RX_FILTER 66 ///* // * arguments: // * A_UINT32 filter_type; // */ // //#define AR6000_XIOCTL_DBGLOG_CFG_MODULE 67 // //#define AR6000_XIOCTL_DBGLOG_GET_DEBUG_LOGS 68 // //#define AR6000_XIOCTL_WMI_SET_WSC_STATUS 70 ///* // * arguments: // * A_UINT32 wsc_status; // * (WSC_REG_INACTIVE or WSC_REG_ACTIVE) // */ // ///* // * arguments: // * struct { // * A_UINT8 streamType; // * A_UINT8 status; // * } // * uses: WMI_SET_BT_STATUS_CMDID // */ //#define AR6000_XIOCTL_WMI_SET_BT_STATUS 71 // ///* // * arguments: // * struct { // * A_UINT8 paramType; // * union { // * A_UINT8 noSCOPkts; // * BT_PARAMS_A2DP a2dpParams; // * BT_COEX_REGS regs; // * }; // * } // * uses: WMI_SET_BT_PARAM_CMDID // */ //#define AR6000_XIOCTL_WMI_SET_BT_PARAMS 72 // //#define AR6000_XIOCTL_WMI_SET_HOST_SLEEP_MODE 73 //#define AR6000_XIOCTL_WMI_SET_WOW_MODE 74 //#define AR6000_XIOCTL_WMI_GET_WOW_LIST 75 //#define AR6000_XIOCTL_WMI_ADD_WOW_PATTERN 76 //#define AR6000_XIOCTL_WMI_DEL_WOW_PATTERN 77 // // // //#define AR6000_XIOCTL_TARGET_INFO 78 ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_TARGET_INFO) // * A_UINT32 TargetVersion (returned) // * A_UINT32 TargetType (returned) // * (See also bmi_msg.h target_ver and target_type) // */ // //#define AR6000_XIOCTL_DUMP_HTC_CREDIT_STATE 79 ///* // * arguments: // * none // */ // //#define AR6000_XIOCTL_TRAFFIC_ACTIVITY_CHANGE 80 ///* // * This ioctl is used to emulate traffic activity // * timeouts. Activity/inactivity will trigger the driver // * to re-balance credits. // * // * arguments: // * ar6000_traffic_activity_change // */ // //#define AR6000_XIOCTL_WMI_SET_CONNECT_CTRL_FLAGS 81 ///* // * This ioctl is used to set the connect control flags // * // * arguments: // * A_UINT32 connectCtrlFlags // */ // //#define AR6000_XIOCTL_WMI_SET_AKMP_PARAMS 82 ///* // * This IOCTL sets any Authentication,Key Management and Protection // * related parameters. This is used along with the information set in // * Connect Command. // * Currently this enables Multiple PMKIDs to an AP. // * // * arguments: // * struct { // * A_UINT32 akmpInfo; // * } // * uses: WMI_SET_AKMP_PARAMS_CMD // */ // //#define AR6000_XIOCTL_WMI_GET_PMKID_LIST 83 // //#define AR6000_XIOCTL_WMI_SET_PMKID_LIST 84 ///* // * This IOCTL is used to set a list of PMKIDs. This list of // * PMKIDs is used in the [Re]AssocReq Frame. This list is used // * only if the MultiPMKID option is enabled via the // * AR6000_XIOCTL_WMI_SET_AKMP_PARAMS IOCTL. // * // * arguments: // * struct { // * A_UINT32 numPMKID; // * WMI_PMKID pmkidList[WMI_MAX_PMKID_CACHE]; // * } // * uses: WMI_SET_PMKIDLIST_CMD // */ // //#define AR6000_XIOCTL_WMI_SET_PARAMS 85 //#define AR6000_XIOCTL_WMI_SET_MCAST_FILTER 86 //#define AR6000_XIOCTL_WMI_DEL_MCAST_FILTER 87 // // ///* Historical DSETPATCH support for INI patches */ //#define AR6000_XIOCTL_UNUSED90 90 // // ///* Support LZ-compressed firmware download */ //#define AR6000_XIOCTL_BMI_LZ_STREAM_START 91 ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_BMI_LZ_STREAM_START) // * UINT32 address // * uses: BMI_LZ_STREAM_START // */ // //#define AR6000_XIOCTL_BMI_LZ_DATA 92 ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_BMI_LZ_DATA) // * UINT32 length // * char data[length] // * uses: BMI_LZ_DATA // */ // //#define AR6000_XIOCTL_PROF_CFG 93 ///* // * arguments: // * A_UINT32 period // * A_UINT32 nbins // */ // //#define AR6000_XIOCTL_PROF_ADDR_SET 94 ///* // * arguments: // * A_UINT32 Target address // */ // //#define AR6000_XIOCTL_PROF_START 95 // //#define AR6000_XIOCTL_PROF_STOP 96 // //#define AR6000_XIOCTL_PROF_COUNT_GET 97 // //#define AR6000_XIOCTL_WMI_ABORT_SCAN 98 // ///* // * AP mode // */ //#define AR6000_XIOCTL_AP_GET_STA_LIST 99 // //#define AR6000_XIOCTL_AP_HIDDEN_SSID 100 // //#define AR6000_XIOCTL_AP_SET_NUM_STA 101 // //#define AR6000_XIOCTL_AP_SET_ACL_MAC 102 // //#define AR6000_XIOCTL_AP_GET_ACL_LIST 103 // //#define AR6000_XIOCTL_AP_COMMIT_CONFIG 104 // //#define IEEE80211_IOCTL_GETWPAIE 105 // //#define AR6000_XIOCTL_AP_CONN_INACT_TIME 106 // //#define AR6000_XIOCTL_AP_PROT_SCAN_TIME 107 // //#define AR6000_XIOCTL_AP_SET_COUNTRY 108 // //#define AR6000_XIOCTL_AP_SET_DTIM 109 // // // // //#define AR6000_XIOCTL_WMI_TARGET_EVENT_REPORT 110 // //#define AR6000_XIOCTL_SET_IP 111 // //#define AR6000_XIOCTL_AP_SET_ACL_POLICY 112 // //#define AR6000_XIOCTL_AP_CTRL_BSS_COMM 113 // //#define AR6000_XIOCTL_DUMP_MODULE_DEBUG_INFO 114 // //#define AR6000_XIOCTL_MODULE_DEBUG_SET_MASK 115 // //#define AR6000_XIOCTL_MODULE_DEBUG_GET_MASK 116 // //#define AR6000_XIOCTL_DUMP_RCV_AGGR_STATS 117 // //#define AR6000_XIOCTL_SET_HT_CAP 118 // //#define AR6000_XIOCTL_SET_HT_OP 119 // //#define AR6000_XIOCTL_AP_GET_STAT 120 // //#define AR6000_XIOCTL_SET_TX_SELECT_RATES 121 // //#define AR6000_XIOCTL_SETUP_AGGR 122 // //#define AR6000_XIOCTL_ALLOW_AGGR 123 // //#define AR6000_XIOCTL_AP_GET_HIDDEN_SSID 124 // //#define AR6000_XIOCTL_AP_GET_COUNTRY 125 // //#define AR6000_XIOCTL_AP_GET_WMODE 126 // //#define AR6000_XIOCTL_AP_GET_DTIM 127 // //#define AR6000_XIOCTL_AP_GET_BINTVL 128 // //#define AR6000_XIOCTL_AP_GET_RTS 129 // //#define AR6000_XIOCTL_DELE_AGGR 130 // //#define AR6000_XIOCTL_FETCH_TARGET_REGS 131 // //#define AR6000_XIOCTL_HCI_CMD 132 // //#define AR6000_XIOCTL_ACL_DATA 133 // //#define AR6000_XIOCTL_WLAN_CONN_PRECEDENCE 134 // //#define AR6000_XIOCTL_AP_SET_11BG_RATESET 135 // //#define AR6000_XIOCTL_WMI_SET_AP_PS 136 // //#define AR6000_XIOCTL_WMI_MCAST_FILTER 137 // //#define AR6000_XIOCTL_WMI_SET_BTCOEX_FE_ANT 138 // //#define AR6000_XIOCTL_WMI_SET_BTCOEX_COLOCATED_BT_DEV 139 // //#define AR6000_XIOCTL_WMI_SET_BTCOEX_BTINQUIRY_PAGE_CONFIG 140 // //#define AR6000_XIOCTL_WMI_SET_BTCOEX_SCO_CONFIG 141 // //#define AR6000_XIOCTL_WMI_SET_BTCOEX_A2DP_CONFIG 142 // //#define AR6000_XIOCTL_WMI_SET_BTCOEX_ACLCOEX_CONFIG 143 // //#define AR6000_XIOCTL_WMI_SET_BTCOEX_DEBUG 144 // //#define AR6000_XIOCTL_WMI_SET_BT_OPERATING_STATUS 145 // //#define AR6000_XIOCTL_WMI_GET_BTCOEX_CONFIG 146 // //#define AR6000_XIOCTL_WMI_GET_BTCOEX_STATS 147 ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_WMI_SET_QOS_SUPP) // * UINT8 mode // * uses: WMI_SET_QOS_SUPP_CMDID // */ //#define AR6000_XIOCTL_WMI_SET_QOS_SUPP 148 // //#define AR6000_XIOCTL_AP_SET_DFS 149 // //#ifdef P2P //#define AR6000_XIOCTL_WMI_P2P_DISCOVER 150 //#define AR6000_XIOCTL_WMI_P2P_LISTEN 151 //#define AR6000_XIOCTL_WMI_P2P_GO_NEG 152 //#define AR6000_XIOCTL_WMI_P2P_CONFIG 153 //#define AR6000_XIOCTL_WMI_WPS_CONFIG 154 //#define AR6000_XIOCTL_WMI_P2P_FINDNODE 155 //#endif //#define AR6000_XIOCTL_SET_BT_HW_POWER_STATE 156 //#define AR6000_XIOCTL_GET_BT_HW_POWER_STATE 157 //#define AR6000_XIOCTL_GET_WLAN_SLEEP_STATE 158 //#define AR6000_XIOCTL_WMI_SET_TX_SGI_PARAM 159 ///* // * arguments: // * WMI_AP_PS_CMD apPsCmd // * uses: WMI_AP_PS_CMDID // */ // // //// WAC //#define AR6000_XIOCTL_WMI_ENABLE_WAC_PARAM 160 // //#define AR6000_XIOCTL_WAC_SCAN_REPLY 161 // //#define AR6000_XIOCTL_WMI_WAC_CTRL_REQ 162 // //#define AR6000_XIOCTL_WMI_SET_WPA_OFFLOAD_STATE 163 // //#define AR6000_XIOCTL_WMI_SET_PASSPHRASE 164 // //#define AR6000_XIOCTL_BMI_NVRAM_PROCESS 165 // //#define AR6000_XIOCTL_AP_ACS_POLICY 166 // ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_BMI_NVRAM_PROCESS) // * UINT8 name[BMI_NVRAM_SEG_NAME_SZ] // * uses: BMI_NVRAM_PROCESS // */ // // //#ifdef CONFIG_HOST_TCMD_SUPPORT ///* ====additional extended commands for radio test ==== */ // //#define AR6000_XIOCTL_TCMD_CMDS 167 ///* // * arguments: // * UINT32 cmd (AR6000_XIOCTL_TCMD_CMDS) // * WMI_TCMD_CMDS_CMD cmdsCmd (see include/wmi.h) // * uses: WMI_TCMD_CMDS_CMDID // */ // //#endif //ifdef CONFIG_HOST_TCMD_SUPPORT // //#define AR6000_XIOCTL_WMI_SET_DIVERSITY_PARAM 168 // //#define AR6000_XIOCTL_WMI_FORCE_ASSERT 169 // //#define AR6000_XIOCTL_WMI_SET_EXCESS_TX_RETRY_THRES 170 // //#define AR6000_XIOCTL_AP_GET_NUM_STA 171 // //#define AR6000_XIOCTL_SUSPEND_DRIVER 172 // //#define AR6000_XIOCTL_RESUME_DRIVER 173 /* used by AR6000_IOCTL_WMI_GETREV */ struct ar6000_version { A_UINT32 host_ver; A_UINT32 target_ver; A_UINT32 wlan_ver; A_UINT32 abi_ver; A_UINT32 targetconf_ver; }; /* used by AR6000_IOCTL_WMI_GET_QOS_QUEUE */ struct ar6000_queuereq { A_UINT8 trafficClass; A_UINT16 activeTsids; }; /* used by AR6000_IOCTL_WMI_GET_TARGET_STATS */ typedef struct targetStats_t { A_UINT64 tx_packets; A_UINT64 tx_bytes; A_UINT64 tx_unicast_pkts; A_UINT64 tx_unicast_bytes; A_UINT64 tx_multicast_pkts; A_UINT64 tx_multicast_bytes; A_UINT64 tx_broadcast_pkts; A_UINT64 tx_broadcast_bytes; A_UINT64 tx_rts_success_cnt; A_UINT64 tx_packet_per_ac[4]; A_UINT64 tx_errors; A_UINT64 tx_failed_cnt; A_UINT64 tx_retry_cnt; A_UINT64 tx_mult_retry_cnt; A_UINT64 tx_rts_fail_cnt; A_UINT64 rx_packets; A_UINT64 rx_bytes; A_UINT64 rx_unicast_pkts; A_UINT64 rx_unicast_bytes; A_UINT64 rx_multicast_pkts; A_UINT64 rx_multicast_bytes; A_UINT64 rx_broadcast_pkts; A_UINT64 rx_broadcast_bytes; A_UINT64 rx_fragment_pkt; A_UINT64 rx_errors; A_UINT64 rx_crcerr; A_UINT64 rx_key_cache_miss; A_UINT64 rx_decrypt_err; A_UINT64 rx_duplicate_frames; A_UINT64 tkip_local_mic_failure; A_UINT64 tkip_counter_measures_invoked; A_UINT64 tkip_replays; A_UINT64 tkip_format_errors; A_UINT64 ccmp_format_errors; A_UINT64 ccmp_replays; A_UINT64 power_save_failure_cnt; A_UINT64 cs_bmiss_cnt; A_UINT64 cs_lowRssi_cnt; A_UINT64 cs_connect_cnt; A_UINT64 cs_disconnect_cnt; A_INT32 tx_unicast_rate; A_INT32 rx_unicast_rate; A_UINT32 lq_val; A_UINT32 wow_num_pkts_dropped; A_UINT16 wow_num_events_discarded; A_INT16 noise_floor_calibation; A_INT16 cs_rssi; A_INT16 cs_aveBeacon_rssi; A_UINT8 cs_aveBeacon_snr; A_UINT8 cs_lastRoam_msec; A_UINT8 cs_snr; A_UINT8 wow_num_host_pkt_wakeups; A_UINT8 wow_num_host_event_wakeups; A_UINT32 arp_received; A_UINT32 arp_matched; A_UINT32 arp_replied; }TARGET_STATS; typedef struct targetStats_cmd_t { TARGET_STATS targetStats; int clearStats; } TARGET_STATS_CMD; /* used by AR6000_XIOCTL_USER_SETKEYS */ /* * Setting this bit to 1 doesnot initialize the RSC on the firmware */ #define AR6000_XIOCTL_USER_SETKEYS_RSC_CTRL 1 #define AR6000_USER_SETKEYS_RSC_UNCHANGED 0x00000002 typedef struct { A_UINT32 keyOpCtrl; /* Bit Map of Key Mgmt Ctrl Flags */ } AR6000_USER_SETKEYS_INFO; /* used by AR6000_XIOCTL_GPIO_OUTPUT_SET */ struct ar6000_gpio_output_set_cmd_s { A_UINT32 set_mask; A_UINT32 clear_mask; A_UINT32 enable_mask; A_UINT32 disable_mask; }; /* * used by AR6000_XIOCTL_GPIO_REGISTER_GET and AR6000_XIOCTL_GPIO_REGISTER_SET */ struct ar6000_gpio_register_cmd_s { A_UINT32 gpioreg_id; A_UINT32 value; }; /* used by AR6000_XIOCTL_GPIO_INTR_ACK */ struct ar6000_gpio_intr_ack_cmd_s { A_UINT32 ack_mask; }; /* used by AR6000_XIOCTL_GPIO_INTR_WAIT */ struct ar6000_gpio_intr_wait_cmd_s { A_UINT32 intr_mask; A_UINT32 input_values; }; /* used by the AR6000_XIOCTL_DBGLOG_CFG_MODULE */ typedef struct ar6000_dbglog_module_config_s { A_UINT32 valid; A_UINT16 mmask; A_UINT16 tsr; A_BOOL rep; A_UINT16 size; } DBGLOG_MODULE_CONFIG; typedef struct user_rssi_thold_t { A_INT16 tag; A_INT16 rssi; } USER_RSSI_THOLD; typedef struct user_rssi_params_t { A_UINT8 weight; A_UINT32 pollTime; USER_RSSI_THOLD tholds[12]; } USER_RSSI_PARAMS; typedef struct ar6000_get_btcoex_config_cmd_t{ A_UINT32 btProfileType; A_UINT32 linkId; }AR6000_GET_BTCOEX_CONFIG_CMD; typedef struct ar6000_btcoex_config_t { AR6000_GET_BTCOEX_CONFIG_CMD configCmd; A_UINT32 * configEvent; } AR6000_BTCOEX_CONFIG; typedef struct ar6000_btcoex_stats_t { A_UINT32 * statsEvent; }AR6000_BTCOEX_STATS; /* * Host driver may have some config parameters. Typically, these * config params are one time config parameters. These could * correspond to any of the underlying modules. Host driver exposes * an api for the underlying modules to get this config. */ #define AR6000_DRIVER_CFG_BASE 0x8000 /* Should driver perform wlan node caching? */ #define AR6000_DRIVER_CFG_GET_WLANNODECACHING 0x8001 /*Should we log raw WMI msgs */ #define AR6000_DRIVER_CFG_LOG_RAW_WMI_MSGS 0x8002 /* used by AR6000_XIOCTL_DIAG_READ & AR6000_XIOCTL_DIAG_WRITE */ struct ar6000_diag_window_cmd_s { unsigned int addr; unsigned int value; }; struct ar6000_traffic_activity_change { A_UINT32 StreamID; /* stream ID to indicate activity change */ A_UINT32 Active; /* active (1) or inactive (0) */ }; /* Used with AR6000_XIOCTL_PROF_COUNT_GET */ struct prof_count_s { A_UINT32 addr; /* bin start address */ A_UINT32 count; /* hit count */ }; /* used by AR6000_XIOCTL_MODULE_DEBUG_SET_MASK */ /* AR6000_XIOCTL_MODULE_DEBUG_GET_MASK */ /* AR6000_XIOCTL_DUMP_MODULE_DEBUG_INFO */ struct drv_debug_module_s { A_CHAR modulename[128]; /* name of module */ A_UINT32 mask; /* new mask to set .. or .. current mask */ }; /* used by AR6000_XIOCTL_P2P_AUTH_INVITE */ #define ATH_MAC_LEN 6 typedef PREPACK struct { A_UINT32 auth; A_UINT8 peer_addr[ATH_MAC_LEN]; }POSTPACK P2P_AUTH_INVITE_CMD; /* All HCI related rx events are sent up to the host app * via a wmi event id. It can contain ACL data or HCI event, * based on which it will be de-multiplexed. */ typedef enum { PAL_HCI_EVENT = 0, PAL_HCI_RX_DATA, } WMI_PAL_EVENT_INFO; #ifdef __cplusplus } #endif #endif