summaryrefslogtreecommitdiff
path: root/drivers/staging/wlags49_h2/wl_if.h
diff options
context:
space:
mode:
authorYuval Adam <_@yuv.al>2017-08-30 08:25:59 +0000
committerYuval Adam <_@yuv.al>2017-08-30 08:25:59 +0000
commit8e4bff4cab0ddac6060645b0715210484d02ff40 (patch)
tree3a5c3024371a04692a3a6d9974d001cdff8ebf84 /drivers/staging/wlags49_h2/wl_if.h
Initial file dump from open source releaseHEADmaster
Diffstat (limited to 'drivers/staging/wlags49_h2/wl_if.h')
-rw-r--r--drivers/staging/wlags49_h2/wl_if.h221
1 files changed, 221 insertions, 0 deletions
diff --git a/drivers/staging/wlags49_h2/wl_if.h b/drivers/staging/wlags49_h2/wl_if.h
new file mode 100644
index 00000000..425d3733
--- /dev/null
+++ b/drivers/staging/wlags49_h2/wl_if.h
@@ -0,0 +1,221 @@
+/*******************************************************************************
+ * Agere Systems Inc.
+ * Wireless device driver for Linux (wlags49).
+ *
+ * Copyright (c) 1998-2003 Agere Systems Inc.
+ * All rights reserved.
+ * http://www.agere.com
+ *
+ * Initially developed by TriplePoint, Inc.
+ * http://www.triplepoint.com
+ *
+ *------------------------------------------------------------------------------
+ *
+ * Driver common header for info needed by driver source and user-space
+ * processes communicating with the driver.
+ *
+ *------------------------------------------------------------------------------
+ *
+ * SOFTWARE LICENSE
+ *
+ * This software is provided subject to the following terms and conditions,
+ * which you should read carefully before using the software. Using this
+ * software indicates your acceptance of these terms and conditions. If you do
+ * not agree with these terms and conditions, do not use the software.
+ *
+ * Copyright © 2003 Agere Systems Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source or binary forms, with or without
+ * modifications, are permitted provided that the following conditions are met:
+ *
+ * . Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following Disclaimer as comments in the code as
+ * well as in the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * . Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following Disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * . Neither the name of Agere Systems Inc. nor the names of the contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * Disclaimer
+ *
+ * THIS SOFTWARE IS PROVIDED “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, INFRINGEMENT AND THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ANY
+ * USE, MODIFICATION OR DISTRIBUTION OF THIS SOFTWARE IS SOLELY AT THE USERS OWN
+ * RISK. IN NO EVENT SHALL AGERE SYSTEMS INC. OR CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, INCLUDING, BUT NOT LIMITED TO, CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ *
+ ******************************************************************************/
+
+#ifndef __WAVELAN2_IF_H__
+#define __WAVELAN2_IF_H__
+
+
+
+
+/*******************************************************************************
+ * constant definitions
+ ******************************************************************************/
+#define MAX_LTV_BUF_SIZE (512 - (sizeof(hcf_16) * 2))
+
+#define HCF_TALLIES_SIZE (sizeof(CFG_HERMES_TALLIES_STRCT) + \
+ (sizeof(hcf_16) * 2))
+
+#define HCF_MAX_MULTICAST 16
+#define HCF_MAX_NAME_LEN 32
+#define MAX_LINE_SIZE 256
+#define HCF_NUM_IO_PORTS 0x80
+#define TX_TIMEOUT ((800 * HZ) / 1000)
+
+
+/* PE1DNN
+ * Better data from the real world. Not scientific but empirical data gathered
+ * from a Thomson Speedtouch 110 which is identified as:
+ * PCMCIA Info: "Agere Systems" "Wireless PC Card Model 0110"
+ * Manufacture ID: 0156,0003
+ * Lowest measurment for noise floor seen is value 54
+ * Highest signal strength in close proximity to the AP seen is value 118
+ * Very good must be around 100 (otherwise its never "full scale"
+ * All other constants are derrived from these. This makes the signal gauge
+ * work for me...
+ */
+#define HCF_MIN_SIGNAL_LEVEL 54
+#define HCF_MAX_SIGNAL_LEVEL 100
+#define HCF_MIN_NOISE_LEVEL HCF_MIN_SIGNAL_LEVEL
+#define HCF_MAX_NOISE_LEVEL HCF_MAX_SIGNAL_LEVEL
+#define HCF_0DBM_OFFSET (HCF_MAX_SIGNAL_LEVEL + 1)
+#define HCF_MIN_COMM_QUALITY 0
+#define HCF_MAX_COMM_QUALITY (HCF_MAX_SIGNAL_LEVEL - \
+ HCF_MIN_NOISE_LEVEL + 1)
+
+
+/* For encryption (WEP) */
+#define MIN_KEY_SIZE 5 /* 40 bits RC4 - WEP */
+#define MAX_KEY_SIZE 13 /* 104 bits */
+#define MAX_KEYS 4
+
+#define RADIO_CHANNELS 14
+#define RADIO_SENSITIVITY_LEVELS 3
+#define RADIO_TX_POWER_MWATT 32
+#define RADIO_TX_POWER_DBM 15
+
+#define MIN_RTS_BYTES 0
+#define MAX_RTS_BYTES 2347
+
+#define MAX_RATES 8
+#define MEGABIT (1024 * 1024)
+
+#define HCF_FAILURE 0xFF
+#define UIL_FAILURE 0xFF
+#define CFG_UIL_CONNECT 0xA123 /* Define differently? */
+#define CFG_UIL_CONNECT_ACK_CODE 0x5653435A /* VSCZ */
+#define WVLAN2_UIL_CONNECTED (0x01L << 0)
+#define WVLAN2_UIL_BUSY (0x01L << 1)
+
+
+
+
+/*******************************************************************************
+ * driver ioctl interface
+ ******************************************************************************/
+#define WVLAN2_IOCTL_UIL SIOCDEVPRIVATE
+
+/* The UIL Interface used in conjunction with the WVLAN2_IOCTL_UIL code above
+ is defined in mdd.h. A quick reference of the UIL codes is listed below */
+/*
+UIL_FUN_CONNECT
+UIL_FUN_DISCONNECT
+UIL_FUN_ACTION
+ UIL_ACT_BLOCK
+ UIL_ACT_UNBLOCK
+ UIL_ACT_SCA
+ UIL_ACT_DIAG
+ UIL_ACT_APPLY
+UIL_FUN_SEND_DIAG_MSG
+UIL_FUN_GET_INFO
+UIL_FUN_PUT_INFO
+*/
+
+#define SIOCSIWNETNAME (SIOCDEVPRIVATE + 1)
+#define SIOCGIWNETNAME (SIOCDEVPRIVATE + 2)
+#define SIOCSIWSTANAME (SIOCDEVPRIVATE + 3)
+#define SIOCGIWSTANAME (SIOCDEVPRIVATE + 4)
+#define SIOCSIWPORTTYPE (SIOCDEVPRIVATE + 5)
+#define SIOCGIWPORTTYPE (SIOCDEVPRIVATE + 6)
+
+/* IOCTL code for the RTS interface */
+#define WL_IOCTL_RTS (SIOCDEVPRIVATE + 7)
+
+/* IOCTL subcodes for WL_IOCTL_RTS */
+#define WL_IOCTL_RTS_READ 1
+#define WL_IOCTL_RTS_WRITE 2
+#define WL_IOCTL_RTS_BATCH_READ 3
+#define WL_IOCTL_RTS_BATCH_WRITE 4
+
+
+/*******************************************************************************
+ * STRUCTURE DEFINITIONS
+ ******************************************************************************/
+typedef struct {
+ __u16 length;
+ __u8 name[HCF_MAX_NAME_LEN];
+}
+wvName_t;
+
+
+typedef struct {
+ hcf_16 len;
+ hcf_16 typ;
+ union {
+ hcf_8 u8[MAX_LTV_BUF_SIZE / sizeof(hcf_8)];
+ hcf_16 u16[MAX_LTV_BUF_SIZE / sizeof(hcf_16)];
+ hcf_32 u32[MAX_LTV_BUF_SIZE / sizeof(hcf_32)];
+ } u;
+}
+ltv_t;
+
+
+struct uilreq {
+ union {
+ char ifrn_name[IFNAMSIZ];
+ } ifr_ifrn;
+
+ IFBP hcfCtx;
+ __u8 command;
+ __u8 result;
+
+ /* The data field in this structure is typically an LTV of some type.
+ The len field is the size of the buffer in bytes, as opposed to words
+ (like the L-field in the LTV */
+ __u16 len;
+ void *data;
+};
+
+
+struct rtsreq {
+ union {
+ char ifrn_name[IFNAMSIZ];
+ }
+ ifr_ifrn;
+
+ __u16 typ;
+ __u16 reg;
+ __u16 len;
+ __u16 *data;
+};
+
+
+#endif /* __WAVELAN2_IF_H__ */
+