1516fc7f3Shx147065 /* 2516fc7f3Shx147065 * CDDL HEADER START 3516fc7f3Shx147065 * 4516fc7f3Shx147065 * The contents of this file are subject to the terms of the 5a399b765Szf162725 * Common Development and Distribution License (the "License"). 6a399b765Szf162725 * You may not use this file except in compliance with the License. 7516fc7f3Shx147065 * 8516fc7f3Shx147065 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9516fc7f3Shx147065 * or http://www.opensolaris.org/os/licensing. 10516fc7f3Shx147065 * See the License for the specific language governing permissions 11516fc7f3Shx147065 * and limitations under the License. 12516fc7f3Shx147065 * 13516fc7f3Shx147065 * When distributing Covered Code, include this CDDL HEADER in each 14516fc7f3Shx147065 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15516fc7f3Shx147065 * If applicable, add the following below this CDDL HEADER, with the 16516fc7f3Shx147065 * fields enclosed by brackets "[]" replaced with your own identifying 17516fc7f3Shx147065 * information: Portions Copyright [yyyy] [name of copyright owner] 18516fc7f3Shx147065 * 19516fc7f3Shx147065 * CDDL HEADER END 20516fc7f3Shx147065 */ 21516fc7f3Shx147065 /* 22*e2cf88acSQuaker Fang * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 23516fc7f3Shx147065 * Use is subject to license terms. 24516fc7f3Shx147065 */ 25516fc7f3Shx147065 26516fc7f3Shx147065 /* 27516fc7f3Shx147065 * Macro and date structures defined for 802.11 wifi config tool. 28516fc7f3Shx147065 */ 29516fc7f3Shx147065 30516fc7f3Shx147065 #ifndef __WIFI_IOCTL_H 31516fc7f3Shx147065 #define __WIFI_IOCTL_H 32516fc7f3Shx147065 33516fc7f3Shx147065 #include <sys/types.h> 34516fc7f3Shx147065 35516fc7f3Shx147065 #ifdef __cplusplus 36516fc7f3Shx147065 extern "C" { 37516fc7f3Shx147065 #endif 38516fc7f3Shx147065 39516fc7f3Shx147065 #define MAX_KEY_LENGTH 26 400d2f4bc9Sff224033 #define MAX_ESSID_LENGTH (32 + 1) /* max essid length is 32 */ 410d2f4bc9Sff224033 /* one more for '\0' */ 42516fc7f3Shx147065 #define MAX_CHANNEL_NUM 99 43516fc7f3Shx147065 #define MAX_RSSI 15 44516fc7f3Shx147065 #define MAX_NWEPKEYS 4 45516fc7f3Shx147065 #define NET_802_11 80211 46516fc7f3Shx147065 #define MAX_BUF_LEN 65536 47516fc7f3Shx147065 #define MAX_SCAN_SUPPORT_RATES 8 48516fc7f3Shx147065 49516fc7f3Shx147065 /* 50516fc7f3Shx147065 * ioctls 51516fc7f3Shx147065 */ 52516fc7f3Shx147065 #define WLAN_IOCTL_BASE 0x1000 53516fc7f3Shx147065 #define WLAN_GET_VERSION (WLAN_IOCTL_BASE + 0x0) 54516fc7f3Shx147065 #define WLAN_SET_PARAM (WLAN_IOCTL_BASE + 0x2) 55516fc7f3Shx147065 #define WLAN_GET_PARAM (WLAN_IOCTL_BASE + 0x3) 56516fc7f3Shx147065 #define WLAN_COMMAND (WLAN_IOCTL_BASE + 0x4) 57516fc7f3Shx147065 58516fc7f3Shx147065 /* 59516fc7f3Shx147065 * parameters 60516fc7f3Shx147065 */ 61516fc7f3Shx147065 #define WL_PARAMETERS_BASE 0x2000 62516fc7f3Shx147065 #define WL_BSSID (WL_PARAMETERS_BASE + 0x0) 63516fc7f3Shx147065 #define WL_ESSID (WL_PARAMETERS_BASE + 0x1) 64516fc7f3Shx147065 #define WL_NODE_NAME (WL_PARAMETERS_BASE + 0x2) 65516fc7f3Shx147065 #define WL_PHY_SUPPORT (WL_PARAMETERS_BASE + 0x3) 66516fc7f3Shx147065 #define WL_PHY_CONFIG (WL_PARAMETERS_BASE + 0x4) 67516fc7f3Shx147065 #define WL_DOMAIN (WL_PARAMETERS_BASE + 0x5) 68516fc7f3Shx147065 #define WL_POWER_MODE (WL_PARAMETERS_BASE + 0x6) 69516fc7f3Shx147065 #define WL_TX_POWER (WL_PARAMETERS_BASE + 0x7) 70516fc7f3Shx147065 #define WL_RSSI (WL_PARAMETERS_BASE + 0x8) 71516fc7f3Shx147065 #define WL_RSSI_THRESHOLD (WL_PARAMETERS_BASE + 0x9) 72516fc7f3Shx147065 #define WL_ESS_LIST (WL_PARAMETERS_BASE + 0xa) 73516fc7f3Shx147065 #define WL_BSS_TYPE (WL_PARAMETERS_BASE + 0xb) 74516fc7f3Shx147065 #define WL_CREATE_IBSS (WL_PARAMETERS_BASE + 0xc) 75516fc7f3Shx147065 #define WL_RTS_THRESHOLD (WL_PARAMETERS_BASE + 0xd) 76516fc7f3Shx147065 #define WL_SHORT_RETRY (WL_PARAMETERS_BASE + 0xe) 77516fc7f3Shx147065 #define WL_LONG_RETRY (WL_PARAMETERS_BASE + 0xf) 78516fc7f3Shx147065 #define WL_BEACON_PERIOD (WL_PARAMETERS_BASE + 0x10) 79516fc7f3Shx147065 #define WL_TX_LIFETIME (WL_PARAMETERS_BASE + 0x11) 80516fc7f3Shx147065 #define WL_RX_LIFETIME (WL_PARAMETERS_BASE + 0x12) 81516fc7f3Shx147065 #define WL_FRAG_THRESHOLD (WL_PARAMETERS_BASE + 0x13) 82516fc7f3Shx147065 #define WL_VENDOR_ID (WL_PARAMETERS_BASE + 0x14) 83516fc7f3Shx147065 #define WL_PRODUCT_ID (WL_PARAMETERS_BASE + 0x15) 84516fc7f3Shx147065 #define WL_NUM_ANTS (WL_PARAMETERS_BASE + 0x16) 85516fc7f3Shx147065 #define WL_RX_ANTENNA (WL_PARAMETERS_BASE + 0x17) 86516fc7f3Shx147065 #define WL_TX_ANTENNA (WL_PARAMETERS_BASE + 0x18) 87516fc7f3Shx147065 #define WL_SUPPORTED_RATES (WL_PARAMETERS_BASE + 0x19) 88516fc7f3Shx147065 #define WL_DESIRED_RATES (WL_PARAMETERS_BASE + 0x1a) 89516fc7f3Shx147065 #define WL_WEP_KEY_TAB (WL_PARAMETERS_BASE + 0x1b) 90516fc7f3Shx147065 #define WL_WEP_KEY_ID (WL_PARAMETERS_BASE + 0x1c) 91516fc7f3Shx147065 #define WL_WEP_MAPPING_TAB (WL_PARAMETERS_BASE + 0x1d) 92516fc7f3Shx147065 #define WL_WEP_MAPPING_LEN (WL_PARAMETERS_BASE + 0x1e) 93516fc7f3Shx147065 #define WL_ENCRYPTION (WL_PARAMETERS_BASE + 0x1f) 94516fc7f3Shx147065 #define WL_AUTH_MODE (WL_PARAMETERS_BASE + 0x20) 95516fc7f3Shx147065 #define WL_EXCL_UNENC (WL_PARAMETERS_BASE + 0x21) 96516fc7f3Shx147065 #define WL_RFMON (WL_PARAMETERS_BASE + 0x22) 97516fc7f3Shx147065 #define WL_RADIO (WL_PARAMETERS_BASE + 0x23) 98516fc7f3Shx147065 #define WL_LINKSTATUS (WL_PARAMETERS_BASE + 0x24) 99516fc7f3Shx147065 #define WL_DEV_DEPEND (WL_PARAMETERS_BASE + 0x25) 100516fc7f3Shx147065 /* 101516fc7f3Shx147065 * commands 102516fc7f3Shx147065 */ 103516fc7f3Shx147065 #define WL_COMMAND_BASE 0x3000 104516fc7f3Shx147065 #define WL_SCAN (WL_COMMAND_BASE + 0x0) 105516fc7f3Shx147065 #define WL_DISASSOCIATE (WL_COMMAND_BASE + 0x1) 106516fc7f3Shx147065 #define WL_REASSOCIATE (WL_COMMAND_BASE + 0x2) 107516fc7f3Shx147065 #define WL_LOAD_DEFAULTS (WL_COMMAND_BASE + 0x3) 108516fc7f3Shx147065 #define WL_ASSOCIAT (WL_COMMAND_BASE + 0x4) 109516fc7f3Shx147065 110516fc7f3Shx147065 /* 111516fc7f3Shx147065 * domains 112516fc7f3Shx147065 */ 113516fc7f3Shx147065 /* --USA */ 114516fc7f3Shx147065 #define WL_DOMAIN_BASE 0x4000 115516fc7f3Shx147065 #define WL_DOMAIN_FCC (WL_DOMAIN_BASE + 0x0) 116516fc7f3Shx147065 /* --Canada */ 117516fc7f3Shx147065 #define WL_DOMAIN_DOC (WL_DOMAIN_BASE + 0x1) 118516fc7f3Shx147065 /* --Most of Europe */ 119516fc7f3Shx147065 #define WL_DOMAIN_ETSI (WL_DOMAIN_BASE + 0x2) 120516fc7f3Shx147065 /* --Spain */ 121516fc7f3Shx147065 #define WL_DOMAIN_SPAIN (WL_DOMAIN_BASE + 0x3) 122516fc7f3Shx147065 /* --France */ 123516fc7f3Shx147065 #define WL_DOMAIN_FRANCE (WL_DOMAIN_BASE + 0x4) 124516fc7f3Shx147065 /* --Japan */ 125516fc7f3Shx147065 #define WL_DOMAIN_MKK (WL_DOMAIN_BASE + 0x5) 126516fc7f3Shx147065 127516fc7f3Shx147065 /* 128516fc7f3Shx147065 * power mode 129516fc7f3Shx147065 */ 130516fc7f3Shx147065 131516fc7f3Shx147065 #define WL_PM_AM 0x0 132516fc7f3Shx147065 #define WL_PM_MPS 0x1 133516fc7f3Shx147065 #define WL_PM_FAST 0x2 134516fc7f3Shx147065 #define WL_PM_USER 0x3 135516fc7f3Shx147065 136516fc7f3Shx147065 /* 137516fc7f3Shx147065 * rates 138516fc7f3Shx147065 */ 139516fc7f3Shx147065 #define WL_RATE_BASIC_SET 0x80 140516fc7f3Shx147065 #define WL_RATE_1M 2 141516fc7f3Shx147065 #define WL_RATE_2M 4 142516fc7f3Shx147065 #define WL_RATE_5_5M 11 143516fc7f3Shx147065 #define WL_RATE_6M 12 144516fc7f3Shx147065 #define WL_RATE_9M 18 145516fc7f3Shx147065 #define WL_RATE_11M 22 146516fc7f3Shx147065 #define WL_RATE_12M 24 147516fc7f3Shx147065 #define WL_RATE_18M 36 148516fc7f3Shx147065 #define WL_RATE_22M 44 149516fc7f3Shx147065 #define WL_RATE_24M 48 150516fc7f3Shx147065 #define WL_RATE_33M 66 151516fc7f3Shx147065 #define WL_RATE_36M 72 152516fc7f3Shx147065 #define WL_RATE_48M 96 153516fc7f3Shx147065 #define WL_RATE_54M 108 154516fc7f3Shx147065 /* 155516fc7f3Shx147065 * wep operations 156516fc7f3Shx147065 */ 157516fc7f3Shx147065 #define WL_WEP_OPERATION_BASE 0x6000 158516fc7f3Shx147065 #define WL_ADD (WL_WEP_OPERATION_BASE + 0x0) 159516fc7f3Shx147065 #define WL_DEL (WL_WEP_OPERATION_BASE + 0x1) 160516fc7f3Shx147065 #define WL_NUL (WL_WEP_OPERATION_BASE + 0x2) 161516fc7f3Shx147065 #define WL_IND (WL_WEP_OPERATION_BASE + 0x3) 162516fc7f3Shx147065 163516fc7f3Shx147065 #define WL_NOENCRYPTION 0x0 164516fc7f3Shx147065 #define WL_ENC_WEP 0x1 165a399b765Szf162725 #define WL_ENC_WPA 0x2 166516fc7f3Shx147065 #define WL_OPENSYSTEM 0x1 167516fc7f3Shx147065 #define WL_SHAREDKEY 0x2 168516fc7f3Shx147065 169516fc7f3Shx147065 /* 170516fc7f3Shx147065 * linkstatus 171516fc7f3Shx147065 */ 172516fc7f3Shx147065 #define WL_CONNECTED 0x0 173516fc7f3Shx147065 #define WL_NOTCONNECTED 0x1 174516fc7f3Shx147065 175516fc7f3Shx147065 /* 176516fc7f3Shx147065 * prives 177516fc7f3Shx147065 */ 178516fc7f3Shx147065 #define WL_PRIV_BASE 0x7000 179516fc7f3Shx147065 #define WL_PRIV_RW (WL_PRIV_BASE + 0x0) 180516fc7f3Shx147065 #define WL_PRIV_R (WL_PRIV_BASE + 0x1) 181516fc7f3Shx147065 #define WL_PRIV_W (WL_PRIV_BASE + 0x2) 182516fc7f3Shx147065 #define WL_PRIV_INT (WL_PRIV_BASE + 0x3) 183516fc7f3Shx147065 #define WL_PRIV_INT_ARRAY (WL_PRIV_BASE + 0x4) 184516fc7f3Shx147065 #define WL_PRIV_BYTE (WL_PRIV_BASE + 0x5) 185516fc7f3Shx147065 #define WL_PRIV_BYTE_ARRAY (WL_PRIV_BASE + 0x6) 186516fc7f3Shx147065 #define WL_PRIV_STRING (WL_PRIV_BASE + 0x7) 187516fc7f3Shx147065 #define WL_PRIV_STRING_ARRAY (WL_PRIV_BASE + 0x8) 188516fc7f3Shx147065 /* 189516fc7f3Shx147065 * return values 190516fc7f3Shx147065 */ 191516fc7f3Shx147065 #define WL_SUCCESS 0x0 192516fc7f3Shx147065 #define WL_NOTSUPPORTED EINVAL 193516fc7f3Shx147065 #define WL_LACK_FEATURE ENOTSUP 194516fc7f3Shx147065 #define WL_HW_ERROR EIO 195516fc7f3Shx147065 #define WL_ACCESS_DENIED EACCES 196516fc7f3Shx147065 #define WL_RETURN_BASE 0x7000 197516fc7f3Shx147065 #define WL_READONLY (WL_RETURN_BASE + 0x1) 198516fc7f3Shx147065 #define WL_WRITEONLY (WL_RETURN_BASE + 0x2) 199516fc7f3Shx147065 #define WL_NOAP (WL_RETURN_BASE + 0x3) 200516fc7f3Shx147065 /* 201516fc7f3Shx147065 * other values 202516fc7f3Shx147065 */ 203516fc7f3Shx147065 #define WL_OTHER_BASE 0x8000 204516fc7f3Shx147065 #define WL_FHSS (WL_OTHER_BASE + 0x0) 205516fc7f3Shx147065 #define WL_DSSS (WL_OTHER_BASE + 0x1) 206516fc7f3Shx147065 #define WL_IRBASE (WL_OTHER_BASE + 0x2) 207516fc7f3Shx147065 #define WL_OFDM (WL_OTHER_BASE + 0x3) 208516fc7f3Shx147065 #define WL_HRDS (WL_OTHER_BASE + 0x4) 209516fc7f3Shx147065 #define WL_ERP (WL_OTHER_BASE + 0x5) 210516fc7f3Shx147065 211516fc7f3Shx147065 #define WL_BSS_BSS 1 212516fc7f3Shx147065 #define WL_BSS_IBSS 3 213516fc7f3Shx147065 #define WL_BSS_ANY 2 214516fc7f3Shx147065 /* 215516fc7f3Shx147065 * field_offset 216516fc7f3Shx147065 */ 217516fc7f3Shx147065 #define WIFI_BUF_OFFSET offsetof(wldp_t, wldp_buf) 218516fc7f3Shx147065 219516fc7f3Shx147065 /* 220516fc7f3Shx147065 * type definationes 221516fc7f3Shx147065 */ 222516fc7f3Shx147065 typedef boolean_t wl_create_ibss_t; 223516fc7f3Shx147065 typedef char wl_bssid_t[6]; 224516fc7f3Shx147065 225516fc7f3Shx147065 typedef struct wl_essid { 226516fc7f3Shx147065 uint32_t wl_essid_length; 227516fc7f3Shx147065 char wl_essid_essid[34]; 228516fc7f3Shx147065 }wl_essid_t; 229516fc7f3Shx147065 230516fc7f3Shx147065 typedef struct wl_nodename { 231516fc7f3Shx147065 uint32_t wl_nodename_length; 232516fc7f3Shx147065 char wl_nodename_name[34]; 233516fc7f3Shx147065 } wl_nodename_t; 234516fc7f3Shx147065 235516fc7f3Shx147065 typedef struct wl_phy_supported { 236516fc7f3Shx147065 uint32_t wl_phy_support_num; 237516fc7f3Shx147065 uint32_t wl_phy_support_phy_types[1]; 238516fc7f3Shx147065 } wl_phy_supported_t; 239516fc7f3Shx147065 240516fc7f3Shx147065 typedef struct wl_fhss { 241516fc7f3Shx147065 uint32_t wl_fhss_subtype; 242516fc7f3Shx147065 uint32_t wl_fhss_channel; 243516fc7f3Shx147065 uint32_t wl_fhss_hoptime; 244516fc7f3Shx147065 uint32_t wl_fhss_hoppattern; 245516fc7f3Shx147065 uint32_t wl_fhss_hopset; 246516fc7f3Shx147065 uint32_t wl_fhss_dwelltime; 247516fc7f3Shx147065 } wl_fhss_t; 248516fc7f3Shx147065 249516fc7f3Shx147065 typedef struct wl_dsss { 250516fc7f3Shx147065 uint32_t wl_dsss_subtype; 251516fc7f3Shx147065 uint32_t wl_dsss_channel; 252516fc7f3Shx147065 boolean_t wl_dsss_have_short_preamble; 253516fc7f3Shx147065 uint32_t wl_dsss_preamble_mode; 254516fc7f3Shx147065 boolean_t wl_dsss_agility_enabled; 255516fc7f3Shx147065 boolean_t wl_dsss_have_pbcc; 256516fc7f3Shx147065 boolean_t wl_dsss_pbcc_enable; 257516fc7f3Shx147065 } wl_dsss_t; 258516fc7f3Shx147065 259516fc7f3Shx147065 typedef struct wl_ofdm { 260516fc7f3Shx147065 uint32_t wl_ofdm_subtype; 261516fc7f3Shx147065 uint32_t wl_ofdm_frequency; 262516fc7f3Shx147065 uint32_t wl_ofdm_freq_supported; 263*e2cf88acSQuaker Fang boolean_t wl_ofdm_ht_enabled; 264516fc7f3Shx147065 } wl_ofdm_t; 265516fc7f3Shx147065 266516fc7f3Shx147065 typedef struct wl_erp { 267516fc7f3Shx147065 uint32_t wl_erp_subtype; 268516fc7f3Shx147065 uint32_t wl_erp_channel; 269516fc7f3Shx147065 boolean_t wl_erp_have_short_preamble; 270516fc7f3Shx147065 uint32_t wl_erp_preamble_mode; 271516fc7f3Shx147065 boolean_t wl_erp_have_agility; 272516fc7f3Shx147065 boolean_t wl_erp_agility_enabled; 273516fc7f3Shx147065 boolean_t wl_erp_have_pbcc; 274516fc7f3Shx147065 boolean_t wl_erp_pbcc_enabled; 275516fc7f3Shx147065 boolean_t wl_erp_have_dsss_ofdm; 276516fc7f3Shx147065 boolean_t wl_erp_dsss_ofdm_enabled; 277516fc7f3Shx147065 boolean_t wl_erp_have_sst; 278516fc7f3Shx147065 boolean_t wl_erp_sst_enabled; 279*e2cf88acSQuaker Fang boolean_t wl_erp_ht_enabled; 280516fc7f3Shx147065 } wl_erp_t; 281516fc7f3Shx147065 282516fc7f3Shx147065 typedef union wl_phy_conf { 283516fc7f3Shx147065 wl_fhss_t wl_phy_fhss_conf; 284516fc7f3Shx147065 wl_dsss_t wl_phy_dsss_conf; 285516fc7f3Shx147065 wl_ofdm_t wl_phy_ofdm_conf; 286516fc7f3Shx147065 wl_erp_t wl_phy_erp_conf; 287516fc7f3Shx147065 } wl_phy_conf_t; 288516fc7f3Shx147065 289516fc7f3Shx147065 typedef uint32_t wl_domain_t; 290516fc7f3Shx147065 291516fc7f3Shx147065 typedef struct wl_ps_mode { 292516fc7f3Shx147065 uint32_t wl_ps_mode; 293516fc7f3Shx147065 uint32_t wl_ps_max_sleep; 294516fc7f3Shx147065 uint32_t wl_ps_min_sleep; 295516fc7f3Shx147065 uint32_t wl_ps_max_awake; 296516fc7f3Shx147065 uint32_t wl_ps_min_awake; 297516fc7f3Shx147065 boolean_t wl_ps_nobroadcast; 298516fc7f3Shx147065 } wl_ps_mode_t; 299516fc7f3Shx147065 300516fc7f3Shx147065 typedef uint32_t wl_linkstatus_t; 301516fc7f3Shx147065 typedef uint32_t wl_tx_pwer_t; 302516fc7f3Shx147065 typedef uint32_t wl_rssi_t; 303516fc7f3Shx147065 typedef uint32_t wl_rssi_threshold_t; 304516fc7f3Shx147065 typedef uint32_t wl_bss_type_t; 305516fc7f3Shx147065 typedef uint32_t wl_authmode_t; 306516fc7f3Shx147065 typedef uint32_t wl_encryption_t; 307516fc7f3Shx147065 typedef uint32_t wl_wep_key_id_t; 308516fc7f3Shx147065 typedef boolean_t wl_radio_t; 309516fc7f3Shx147065 typedef uint32_t wl_rts_threshold_t; 310516fc7f3Shx147065 typedef uint32_t wl_short_retry_t; 311516fc7f3Shx147065 typedef uint32_t wl_long_retry_t; 312516fc7f3Shx147065 typedef uint32_t wl_beacon_period_t; 313516fc7f3Shx147065 typedef uint32_t wl_tx_lifetime_t; 314516fc7f3Shx147065 typedef uint32_t wl_rx_lifetime_t; 315516fc7f3Shx147065 typedef uint32_t wl_frag_threshold_t; 316516fc7f3Shx147065 typedef char wl_vendor_t[128]; 317516fc7f3Shx147065 typedef char wl_product_t[128]; 318516fc7f3Shx147065 typedef uint32_t wl_num_ants_t; 319516fc7f3Shx147065 typedef uint32_t wl_rx_antenna_t; 320516fc7f3Shx147065 typedef uint32_t wl_tx_antenna_t; 321516fc7f3Shx147065 322516fc7f3Shx147065 typedef struct wl_rates { 323516fc7f3Shx147065 uint32_t wl_rates_num; 324516fc7f3Shx147065 char wl_rates_rates[1]; 325516fc7f3Shx147065 } wl_rates_t; 326516fc7f3Shx147065 327516fc7f3Shx147065 typedef struct wl_ess_conf { 328516fc7f3Shx147065 uint32_t wl_ess_conf_length; 329516fc7f3Shx147065 wl_essid_t wl_ess_conf_essid; 330516fc7f3Shx147065 wl_bssid_t wl_ess_conf_bssid; 331516fc7f3Shx147065 char wl_ess_conf_reserved[2]; 332516fc7f3Shx147065 wl_bss_type_t wl_ess_conf_bsstype; 333516fc7f3Shx147065 wl_authmode_t wl_ess_conf_authmode; 334516fc7f3Shx147065 boolean_t wl_ess_conf_wepenabled; 335516fc7f3Shx147065 wl_rssi_t wl_ess_conf_sl; 336516fc7f3Shx147065 union { 337516fc7f3Shx147065 wl_fhss_t wl_phy_fhss_conf; 338516fc7f3Shx147065 wl_dsss_t wl_phy_dsss_conf; 339516fc7f3Shx147065 wl_ofdm_t wl_phy_ofdm_conf; 340516fc7f3Shx147065 wl_erp_t wl_phy_erp_conf; 341516fc7f3Shx147065 } wl_phy_conf; 342516fc7f3Shx147065 char wl_supported_rates[MAX_SCAN_SUPPORT_RATES]; 343516fc7f3Shx147065 } wl_ess_conf_t; 344516fc7f3Shx147065 345516fc7f3Shx147065 typedef struct wl_ess_list { 346516fc7f3Shx147065 uint32_t wl_ess_list_num; 347516fc7f3Shx147065 wl_ess_conf_t wl_ess_list_ess[1]; 348516fc7f3Shx147065 } wl_ess_list_t; 349516fc7f3Shx147065 350516fc7f3Shx147065 typedef struct wl_wep_key { 351516fc7f3Shx147065 uint32_t wl_wep_length; 352516fc7f3Shx147065 char wl_wep_key[MAX_KEY_LENGTH]; 353516fc7f3Shx147065 uint32_t wl_wep_operation; 354516fc7f3Shx147065 } wl_wep_key_t; 355516fc7f3Shx147065 typedef wl_wep_key_t wl_wep_key_tab_t[MAX_NWEPKEYS]; 356516fc7f3Shx147065 357516fc7f3Shx147065 typedef struct wep_mapping { 358516fc7f3Shx147065 uint32_t wl_wep_map_index; 359516fc7f3Shx147065 boolean_t wl_wep_map_wepon; 360516fc7f3Shx147065 char wl_wep_map_mac_addr[6]; 361516fc7f3Shx147065 char wl_wep_map_reserved[2]; 362516fc7f3Shx147065 wl_wep_key_t wl_wep_map_wepkey; 363516fc7f3Shx147065 } wep_mapping_t; 364516fc7f3Shx147065 typedef wep_mapping_t wep_mapping_tab_t[1]; 365516fc7f3Shx147065 366516fc7f3Shx147065 typedef struct wl_priv_param { 367516fc7f3Shx147065 char wl_priv_name[8]; 368516fc7f3Shx147065 uint32_t wl_priv_type; 369516fc7f3Shx147065 uint32_t wl_priv_size; 370516fc7f3Shx147065 char wl_priv_value[1]; 371516fc7f3Shx147065 } wl_priv_param_t; 372516fc7f3Shx147065 373516fc7f3Shx147065 typedef struct wl_dev_depend { 374516fc7f3Shx147065 uint32_t wl_dev_depend_num; 375516fc7f3Shx147065 uint32_t wl_dev_depend_ret_idx; 376516fc7f3Shx147065 wl_priv_param_t wl_dev_depend_priv[1]; 377516fc7f3Shx147065 } wl_dev_depend_t; 378516fc7f3Shx147065 379516fc7f3Shx147065 typedef struct wlan_ver { 380516fc7f3Shx147065 uint32_t wl_ver_major; 381516fc7f3Shx147065 uint32_t wl_ver_minor; 382516fc7f3Shx147065 } wlan_ver_t; 383516fc7f3Shx147065 384516fc7f3Shx147065 typedef struct wldp { 385516fc7f3Shx147065 uint32_t wldp_length; 386516fc7f3Shx147065 uint32_t wldp_type; 387516fc7f3Shx147065 uint32_t wldp_result; 388516fc7f3Shx147065 uint32_t wldp_id; 389516fc7f3Shx147065 uint32_t wldp_buf[1]; 390516fc7f3Shx147065 } wldp_t; 391516fc7f3Shx147065 392516fc7f3Shx147065 #ifdef __cplusplus 393516fc7f3Shx147065 } 394516fc7f3Shx147065 #endif 395516fc7f3Shx147065 396516fc7f3Shx147065 #endif /* __WIFI_IOCTL_H */ 397