Root/package/network/utils/iwinfo/src/include/iwinfo/api/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_CNTRY_BUF_SZ 4
30
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_PASSIVE 48
39#define WLC_GET_COUNTRY 83
40#define WLC_GET_REVINFO 98
41#define WLC_GET_AP 117
42#define WLC_GET_RSSI 127
43#define WLC_GET_WSEC 133
44#define WLC_GET_PHY_NOISE 135
45#define WLC_GET_BSS_INFO 136
46#define WLC_GET_ASSOCLIST 159
47#define WLC_GET_WPA_AUTH 164
48#define WLC_GET_COUNTRY_LIST 261
49#define WLC_GET_VAR 262
50
51
52struct wl_ether_addr {
53    uint8_t octet[6];
54};
55
56struct wl_maclist {
57    uint count;
58    struct wl_ether_addr ea[1];
59};
60
61typedef struct wl_sta_rssi {
62    int rssi;
63    char mac[6];
64    uint16_t foo;
65} wl_sta_rssi_t;
66
67#define WL_NUMRATES 255 /* max # of rates in a rateset */
68typedef struct wl_rateset {
69    uint32_t count; /* # rates in this set */
70    uint8_t rates[WL_NUMRATES]; /* rates in 500kbps units w/hi bit set if basic */
71} wl_rateset_t;
72
73typedef struct wl_sta_info {
74    uint16_t ver; /* version of this struct */
75    uint16_t len; /* length in bytes of this structure */
76    uint16_t cap; /* sta's advertised capabilities */
77    uint32_t flags; /* flags defined below */
78    uint32_t idle; /* time since data pkt rx'd from sta */
79    unsigned char ea[6]; /* Station address */
80    wl_rateset_t rateset; /* rateset in use */
81    uint32_t in; /* seconds elapsed since associated */
82    uint32_t listen_interval_inms; /* Min Listen interval in ms for this STA */
83    uint32_t tx_pkts; /* # of packets transmitted */
84    uint32_t tx_failures; /* # of packets failed */
85    uint32_t rx_ucast_pkts; /* # of unicast packets received */
86    uint32_t rx_mcast_pkts; /* # of multicast packets received */
87    uint32_t tx_rate; /* Rate of last successful tx frame */
88    uint32_t rx_rate; /* Rate of last successful rx frame */
89} wl_sta_info_t;
90
91typedef struct wlc_ssid {
92    uint32_t ssid_len;
93    unsigned char ssid[32];
94} wlc_ssid_t;
95
96/* Linux network driver ioctl encoding */
97typedef struct wl_ioctl {
98    uint32_t cmd; /* common ioctl definition */
99    void *buf; /* pointer to user buffer */
100    uint32_t len; /* length of user buffer */
101    uint8_t set; /* get or set request (optional) */
102    uint32_t used; /* bytes read or written (optional) */
103    uint32_t needed; /* bytes needed (optional) */
104} wl_ioctl_t;
105
106/* Revision info */
107typedef struct wlc_rev_info {
108    uint vendorid; /* PCI vendor id */
109    uint deviceid; /* device id of chip */
110    uint radiorev; /* radio revision */
111    uint chiprev; /* chip revision */
112    uint corerev; /* core revision */
113    uint boardid; /* board identifier (usu. PCI sub-device id) */
114    uint boardvendor; /* board vendor (usu. PCI sub-vendor id) */
115    uint boardrev; /* board revision */
116    uint driverrev; /* driver version */
117    uint ucoderev; /* microcode version */
118    uint bus; /* bus type */
119    uint chipnum; /* chip number */
120} wlc_rev_info_t;
121
122typedef struct wl_country_list {
123    uint32_t buflen;
124    uint32_t band_set;
125    uint32_t band;
126    uint32_t count;
127    char country_abbrev[1];
128} wl_country_list_t;
129
130
131#endif
132

Archive Download this file



interactive