libiwinfo: major changes
[project/luci.git] / contrib / package / iwinfo / src / include / iwinfo / api / broadcom.h
diff --git a/contrib/package/iwinfo/src/include/iwinfo/api/broadcom.h b/contrib/package/iwinfo/src/include/iwinfo/api/broadcom.h
new file mode 100644 (file)
index 0000000..bae69c7
--- /dev/null
@@ -0,0 +1,107 @@
+/*
+ * Custom OID/ioctl definitions for
+ * Broadcom 802.11abg Networking Device Driver
+ *
+ * Definitions subject to change without notice.
+ *
+ * Copyright 2006, Broadcom Corporation
+ * All Rights Reserved.
+ *
+ * THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY
+ * KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM
+ * SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
+ * FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE.
+ *
+ */
+
+#ifndef _BROADCOM_H
+#define _BROADCOM_H
+
+#define WL_MCSSET_LEN                          16
+#define WL_MAX_STA_COUNT                       32
+
+#define WL_BSS_RSSI_OFFSET                     82
+#define WL_BSS_NOISE_OFFSET                    84
+
+#define WLC_IOCTL_MAGIC                                0x14e46c77
+#define        WLC_IOCTL_MAXLEN                        8192
+
+#define WLC_CNTRY_BUF_SZ               4
+
+#define WLC_GET_MAGIC                          0
+#define WLC_GET_RATE                           12
+#define WLC_GET_INFRA                          19
+#define WLC_GET_AUTH                           21
+#define WLC_GET_BSSID                          23
+#define WLC_GET_SSID                           25
+#define WLC_GET_CHANNEL                                29
+#define WLC_GET_PASSIVE                        48
+#define WLC_GET_COUNTRY                                83
+#define WLC_GET_REVINFO                                98
+#define WLC_GET_AP                                     117
+#define WLC_GET_RSSI                           127
+#define WLC_GET_WSEC                           133
+#define WLC_GET_PHY_NOISE                      135
+#define WLC_GET_BSS_INFO                       136
+#define WLC_GET_ASSOCLIST                      159
+#define WLC_GET_WPA_AUTH                       164
+#define WLC_GET_COUNTRY_LIST           261
+#define WLC_GET_VAR                                    262
+
+
+struct wl_ether_addr {
+       uint8_t                                 octet[6];
+};
+
+struct wl_maclist {
+       uint                                    count;
+       struct wl_ether_addr    ea[1];
+};
+
+typedef struct wl_sta_rssi {
+       int                                             rssi;
+       char                                    mac[6];
+       uint16_t                                foo;
+} wl_sta_rssi_t;
+
+typedef struct wlc_ssid {
+       uint32_t                                ssid_len;
+       unsigned char                   ssid[32];
+} wlc_ssid_t;
+
+/* Linux network driver ioctl encoding */
+typedef struct wl_ioctl {
+       uint32_t                                cmd;    /* common ioctl definition */
+       void                                    *buf;   /* pointer to user buffer */
+       uint32_t                                len;    /* length of user buffer */
+       uint8_t                                 set;    /* get or set request (optional) */
+       uint32_t                                used;   /* bytes read or written (optional) */
+       uint32_t                                needed; /* bytes needed (optional) */
+} wl_ioctl_t;
+
+/* Revision info */
+typedef struct wlc_rev_info {
+       uint            vendorid;       /* PCI vendor id */
+       uint            deviceid;       /* device id of chip */
+       uint            radiorev;       /* radio revision */
+       uint            chiprev;        /* chip revision */
+       uint            corerev;        /* core revision */
+       uint            boardid;        /* board identifier (usu. PCI sub-device id) */
+       uint            boardvendor;    /* board vendor (usu. PCI sub-vendor id) */
+       uint            boardrev;       /* board revision */
+       uint            driverrev;      /* driver version */
+       uint            ucoderev;       /* microcode version */
+       uint            bus;            /* bus type */
+       uint            chipnum;        /* chip number */
+} wlc_rev_info_t;
+
+typedef struct wl_country_list {
+       uint32_t buflen;
+       uint32_t band_set;
+       uint32_t band;
+       uint32_t count;
+       char country_abbrev[1];
+} wl_country_list_t;
+
+
+#endif