kernel: fq_codel: dont reinit flow state
[openwrt.git] / package / 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
52 struct wl_ether_addr {
53         uint8_t                                 octet[6];
54 };
55
56 struct wl_maclist {
57         uint                                    count;
58         struct wl_ether_addr    ea[1];
59 };
60
61 typedef 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 */
68 typedef 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
73 typedef 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
91 typedef struct wlc_ssid {
92         uint32_t                                ssid_len;
93         unsigned char                   ssid[32];
94 } wlc_ssid_t;
95
96 /* Linux network driver ioctl encoding */
97 typedef 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 */
107 typedef 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
122 typedef 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