9d90d608d145e7b2578abde6e5535818451b47c5
2 * Custom OID/ioctl definitions for
3 * Broadcom 802.11abg Networking Device Driver
5 * Definitions subject to change without notice.
7 * Copyright 2006, Broadcom Corporation
10 * THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY
11 * KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM
12 * SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
13 * FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE.
20 #define WL_MCSSET_LEN 16
21 #define WL_MAX_STA_COUNT 32
23 #define WL_BSS_RSSI_OFFSET 82
24 #define WL_BSS_NOISE_OFFSET 84
26 #define WLC_IOCTL_MAGIC 0x14e46c77
27 #define WLC_IOCTL_MAXLEN 8192
29 #define WLC_CNTRY_BUF_SZ 4
31 #define WLC_GET_MAGIC 0
32 #define WLC_GET_RATE 12
33 #define WLC_GET_INFRA 19
34 #define WLC_GET_AUTH 21
35 #define WLC_GET_BSSID 23
36 #define WLC_GET_SSID 25
37 #define WLC_GET_CHANNEL 29
38 #define WLC_GET_PHYTYPE 39
39 #define WLC_GET_PASSIVE 48
40 #define WLC_GET_COUNTRY 83
41 #define WLC_GET_REVINFO 98
42 #define WLC_GET_AP 117
43 #define WLC_GET_RSSI 127
44 #define WLC_GET_WSEC 133
45 #define WLC_GET_PHY_NOISE 135
46 #define WLC_GET_BSS_INFO 136
47 #define WLC_GET_BANDLIST 140
48 #define WLC_GET_ASSOCLIST 159
49 #define WLC_GET_WPA_AUTH 164
50 #define WLC_GET_COUNTRY_LIST 261
51 #define WLC_GET_VAR 262
53 #define WLC_PHY_TYPE_A 0
54 #define WLC_PHY_TYPE_B 1
55 #define WLC_PHY_TYPE_G 2
56 #define WLC_PHY_TYPE_N 4
57 #define WLC_PHY_TYPE_LP 5
58 #define WLC_PHY_TYPE_HT 7
59 #define WLC_PHY_TYPE_AC 11
63 #define WLC_BAND_ALL 3
66 struct wl_ether_addr
{
72 struct wl_ether_addr ea
[1];
75 typedef struct wl_sta_rssi
{
81 #define WL_NUMRATES 255 /* max # of rates in a rateset */
82 typedef struct wl_rateset
{
83 uint32_t count
; /* # rates in this set */
84 uint8_t rates
[WL_NUMRATES
]; /* rates in 500kbps units w/hi bit set if basic */
87 typedef struct wl_sta_info
{
88 uint16_t ver
; /* version of this struct */
89 uint16_t len
; /* length in bytes of this structure */
90 uint16_t cap
; /* sta's advertised capabilities */
91 uint32_t flags
; /* flags defined below */
92 uint32_t idle
; /* time since data pkt rx'd from sta */
93 unsigned char ea
[6]; /* Station address */
94 wl_rateset_t rateset
; /* rateset in use */
95 uint32_t in
; /* seconds elapsed since associated */
96 uint32_t listen_interval_inms
; /* Min Listen interval in ms for this STA */
97 uint32_t tx_pkts
; /* # of packets transmitted */
98 uint32_t tx_failures
; /* # of packets failed */
99 uint32_t rx_ucast_pkts
; /* # of unicast packets received */
100 uint32_t rx_mcast_pkts
; /* # of multicast packets received */
101 uint32_t tx_rate
; /* Rate of last successful tx frame */
102 uint32_t rx_rate
; /* Rate of last successful rx frame */
105 typedef struct wlc_ssid
{
107 unsigned char ssid
[32];
110 /* Linux network driver ioctl encoding */
111 typedef struct wl_ioctl
{
112 uint32_t cmd
; /* common ioctl definition */
113 void *buf
; /* pointer to user buffer */
114 uint32_t len
; /* length of user buffer */
115 uint8_t set
; /* get or set request (optional) */
116 uint32_t used
; /* bytes read or written (optional) */
117 uint32_t needed
; /* bytes needed (optional) */
121 typedef struct wlc_rev_info
{
122 uint vendorid
; /* PCI vendor id */
123 uint deviceid
; /* device id of chip */
124 uint radiorev
; /* radio revision */
125 uint chiprev
; /* chip revision */
126 uint corerev
; /* core revision */
127 uint boardid
; /* board identifier (usu. PCI sub-device id) */
128 uint boardvendor
; /* board vendor (usu. PCI sub-vendor id) */
129 uint boardrev
; /* board revision */
130 uint driverrev
; /* driver version */
131 uint ucoderev
; /* microcode version */
132 uint bus
; /* bus type */
133 uint chipnum
; /* chip number */
134 uint phytype
; /* phy type */
135 uint phyrev
; /* phy revision */
136 uint anarev
; /* anacore rev */
139 typedef struct wl_country_list
{
144 char country_abbrev
[1];