libs/iwinfo: implement *_get_mbssid_support() check
[project/luci.git] / libs / 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_BSSID                           23
33 #define WLC_GET_SSID                            25
34 #define WLC_GET_CHANNEL                         29
35 #define WLC_GET_PASSIVE                         48
36 #define WLC_GET_REVINFO                         98
37 #define WLC_GET_AP                                      117
38 #define WLC_GET_RSSI                            127
39 #define WLC_GET_WSEC                            133
40 #define WLC_GET_PHY_NOISE                       135
41 #define WLC_GET_BSS_INFO                        136
42 #define WLC_GET_ASSOCLIST                       159
43 #define WLC_GET_WPA_AUTH                        164
44 #define WLC_GET_VAR                                     262
45
46
47 struct wl_ether_addr {
48         uint8_t                                 octet[6];
49 };
50
51 struct wl_maclist {
52         uint                                    count;
53         struct wl_ether_addr    ea[1];
54 };
55
56 typedef struct wl_sta_rssi {
57         int                                             rssi;
58         char                                    mac[6];
59         uint16_t                                foo;
60 } wl_sta_rssi_t;
61
62 typedef struct wlc_ssid {
63         uint32_t                                ssid_len;
64         unsigned char                   ssid[32];
65 } wlc_ssid_t;
66
67 /* Linux network driver ioctl encoding */
68 typedef struct wl_ioctl {
69         uint32_t                                cmd;    /* common ioctl definition */
70         void                                    *buf;   /* pointer to user buffer */
71         uint32_t                                len;    /* length of user buffer */
72         uint8_t                                 set;    /* get or set request (optional) */
73         uint32_t                                used;   /* bytes read or written (optional) */
74         uint32_t                                needed; /* bytes needed (optional) */
75 } wl_ioctl_t;
76
77 /* Revision info */
78 typedef struct wlc_rev_info {
79         uint            vendorid;       /* PCI vendor id */
80         uint            deviceid;       /* device id of chip */
81         uint            radiorev;       /* radio revision */
82         uint            chiprev;        /* chip revision */
83         uint            corerev;        /* core revision */
84         uint            boardid;        /* board identifier (usu. PCI sub-device id) */
85         uint            boardvendor;    /* board vendor (usu. PCI sub-vendor id) */
86         uint            boardrev;       /* board revision */
87         uint            driverrev;      /* driver version */
88         uint            ucoderev;       /* microcode version */
89         uint            bus;            /* bus type */
90         uint            chipnum;        /* chip number */
91 } wlc_rev_info_t;
92
93 #endif