[libiwinfo]
[project/luci.git] / contrib / package / iwinfo / src / include / broadcom.h
1 /*
2 * Custom OID/ioctl definitions for
3 * Broadcom 802.11abg Networking Device Driver
4 *
5 * Definitions subject to change without notice.
6 *
7 * Copyright 2006, Broadcom Corporation
8 * All Rights Reserved.
9 *
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.
14 *
15 */
16
17 #ifndef _BROADCOM_H
18 #define _BROADCOM_H
19
20 #define WL_MCSSET_LEN 16
21 #define WL_MAX_STA_COUNT 32
22
23 #define WL_BSS_RSSI_OFFSET 82
24 #define WL_BSS_NOISE_OFFSET 84
25
26 #define WLC_IOCTL_MAGIC 0x14e46c77
27 #define WLC_IOCTL_MAXLEN 8192
28
29 #define WLC_GET_MAGIC 0
30 #define WLC_GET_RATE 12
31 #define WLC_GET_INFRA 19
32 #define WLC_GET_AUTH 21
33 #define WLC_GET_BSSID 23
34 #define WLC_GET_SSID 25
35 #define WLC_GET_CHANNEL 29
36 #define WLC_GET_PASSIVE 48
37 #define WLC_GET_REVINFO 98
38 #define WLC_GET_AP 117
39 #define WLC_GET_RSSI 127
40 #define WLC_GET_WSEC 133
41 #define WLC_GET_PHY_NOISE 135
42 #define WLC_GET_BSS_INFO 136
43 #define WLC_GET_ASSOCLIST 159
44 #define WLC_GET_WPA_AUTH 164
45 #define WLC_GET_VAR 262
46
47
48 struct wl_ether_addr {
49 uint8_t octet[6];
50 };
51
52 struct wl_maclist {
53 uint count;
54 struct wl_ether_addr ea[1];
55 };
56
57 typedef struct wl_sta_rssi {
58 int rssi;
59 char mac[6];
60 uint16_t foo;
61 } wl_sta_rssi_t;
62
63 typedef struct wlc_ssid {
64 uint32_t ssid_len;
65 unsigned char ssid[32];
66 } wlc_ssid_t;
67
68 /* Linux network driver ioctl encoding */
69 typedef struct wl_ioctl {
70 uint32_t cmd; /* common ioctl definition */
71 void *buf; /* pointer to user buffer */
72 uint32_t len; /* length of user buffer */
73 uint8_t set; /* get or set request (optional) */
74 uint32_t used; /* bytes read or written (optional) */
75 uint32_t needed; /* bytes needed (optional) */
76 } wl_ioctl_t;
77
78 /* Revision info */
79 typedef struct wlc_rev_info {
80 uint vendorid; /* PCI vendor id */
81 uint deviceid; /* device id of chip */
82 uint radiorev; /* radio revision */
83 uint chiprev; /* chip revision */
84 uint corerev; /* core revision */
85 uint boardid; /* board identifier (usu. PCI sub-device id) */
86 uint boardvendor; /* board vendor (usu. PCI sub-vendor id) */
87 uint boardrev; /* board revision */
88 uint driverrev; /* driver version */
89 uint ucoderev; /* microcode version */
90 uint bus; /* bus type */
91 uint chipnum; /* chip number */
92 } wlc_rev_info_t;
93
94 #endif