56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China/*
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China *
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China * Use is subject to license terms.
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China */
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China/*
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China * Copyright (c) 2006
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China * Damien Bergamini <damien.bergamini@free.fr>
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China * Copyright (c) 2006 Sam Leffler, Errno Consulting
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China * Copyright (c) 2008-2009 Weongyo Jeong <weongyo@freebsd.org>
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China *
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China * Permission to use, copy, modify, and distribute this software for any
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China * purpose with or without fee is hereby granted, provided that the above
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China * copyright notice and this permission notice appear in all copies.
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China *
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China */
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#ifndef _UATH_VAR_H
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define _UATH_VAR_H
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#include <sys/queue.h>
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#ifdef __cplusplus
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing Chinaextern "C" {
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#endif
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_ID_BSS 2 /* Connection ID */
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_RX_DATA_LIST_COUNT 1 /* 128 */
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_TX_DATA_LIST_COUNT 8 /* 16 */
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_CMD_LIST_COUNT 8 /* 60 */
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_DATA_TIMEOUT 10000
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_CMD_TIMEOUT 1000
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China/*
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China * Useful combinations of channel characteristics from net80211.
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China */
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_CHAN_A \
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China (IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_OFDM)
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_CHAN_B \
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China (IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_CCK)
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_CHAN_PUREG \
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China (IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_OFDM)
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_CHAN_G \
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China (IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_DYN)
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_IS_CHAN_A(_c) \
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China (((_c)->ich_flags & UATH_CHAN_A) == UATH_CHAN_A)
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_IS_CHAN_B(_c) \
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China (((_c)->ich_flags & UATH_CHAN_B) == UATH_CHAN_B)
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_IS_CHAN_PUREG(_c) \
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China (((_c)->ich_flags & UATH_CHAN_PUREG) == UATH_CHAN_PUREG)
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_IS_CHAN_G(_c) \
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China (((_c)->ich_flags & UATH_CHAN_G) == UATH_CHAN_G)
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_IS_CHAN_ANYG(_c) \
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China (UATH_IS_CHAN_PUREG(_c) || UATH_IS_CHAN_G(_c))
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_IS_CHAN_OFDM(_c) \
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China ((_c)->ich_flags & IEEE80211_CHAN_OFDM)
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_IS_CHAN_CCK(_c) \
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China ((_c)->ich_flags & IEEE80211_CHAN_CCK)
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_NODE_QOS 0x0002 /* QoS enabled */
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China/* flags for sending firmware commands */
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_CMD_FLAG_ASYNC (1 << 0)
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_CMD_FLAG_READ (1 << 1)
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_CMD_FLAG_MAGIC (1 << 2)
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing Chinastruct uath_cmd {
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China struct uath_softc *sc;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t flags;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t msgid;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint8_t *buf;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint16_t buflen;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China void *odata; /* NB: tx only */
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China int olen; /* space in odata */
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China STAILQ_ENTRY(uath_cmd) next;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China};
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing Chinatypedef STAILQ_HEAD(, uath_cmd) uath_cmdhead;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing Chinastruct uath_data {
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China struct uath_softc *sc;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint8_t *buf;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint16_t buflen;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China struct ieee80211_node *ni; /* NB: tx only */
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China STAILQ_ENTRY(uath_data) next;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China};
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing Chinatypedef STAILQ_HEAD(, uath_data) uath_datahead;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing Chinastruct uath_cmd_lock {
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China boolean_t done;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China kmutex_t mutex;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China kcondvar_t cv;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China};
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing Chinastruct uath_wme_settings {
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint8_t aifsn;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint8_t logcwmin;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint8_t logcwmax;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint16_t txop;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_TXOP_TO_US(txop) ((txop) << 5)
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint8_t acm;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China};
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing Chinastruct uath_devcap {
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t targetVersion;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t targetRevision;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t macVersion;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t macRevision;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t phyRevision;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t analog5GhzRevision;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t analog2GhzRevision;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t regDomain;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t regCapBits;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t countryCode;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t keyCacheSize;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t numTxQueues;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t connectionIdMax;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t wirelessModes;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_WIRELESS_MODE_11A 0x01
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_WIRELESS_MODE_TURBO 0x02
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_WIRELESS_MODE_11B 0x04
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_WIRELESS_MODE_11G 0x08
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_WIRELESS_MODE_108G 0x10
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t chanSpreadSupport;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t compressSupport;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t burstSupport;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t fastFramesSupport;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t chapTuningSupport;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t turboGSupport;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t turboPrimeSupport;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t deviceType;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t wmeSupport;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t low2GhzChan;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t high2GhzChan;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t low5GhzChan;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t high5GhzChan;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t supportCipherWEP;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t supportCipherAES_CCM;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t supportCipherTKIP;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t supportCipherMicAES_CCM;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t supportMicTKIP;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t twiceAntennaGain5G;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t twiceAntennaGain2G;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China};
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing Chinastruct uath_stat {
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t st_badchunkseqnum;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t st_invalidlen;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t st_multichunk;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t st_toobigrxpkt;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t st_stopinprogress;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t st_crcerr;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t st_phyerr;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t st_decrypt_crcerr;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t st_decrypt_micerr;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t st_decomperr;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t st_keyerr;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t st_err;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China /* not use CMD/RX/TX queues, so ignore some structure */
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China};
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_STAT_INC(sc, var) (sc)->sc_stat.var++
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_STAT_DEC(sc, var) (sc)->sc_stat.var--
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing Chinastruct uath_softc {
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China struct ieee80211com sc_ic;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China dev_info_t *sc_dev;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China usb_client_dev_data_t *sc_udev; /* usb dev */
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China int dev_flags;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t sc_flags;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China usb_pipe_handle_t rx_cmd_pipe;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China usb_pipe_handle_t rx_data_pipe;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China usb_pipe_handle_t tx_cmd_pipe;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China usb_pipe_handle_t tx_data_pipe;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China kmutex_t sc_genlock;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China kmutex_t sc_rxlock_cmd;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China kmutex_t sc_rxlock_data;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China kmutex_t sc_txlock_cmd;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China kmutex_t sc_txlock_data;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China struct uath_cmd sc_cmd[UATH_CMD_LIST_COUNT];
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China struct uath_data sc_rx[UATH_RX_DATA_LIST_COUNT];
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China struct uath_data sc_tx[UATH_TX_DATA_LIST_COUNT];
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China int tx_cmd_queued;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China int rx_cmd_queued;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China int tx_data_queued;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China int rx_data_queued;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China int sc_cmdid;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China struct uath_stat sc_stat;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China struct uath_cmd_lock rlock;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China struct uath_cmd_lock wlock;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China struct uath_devcap sc_devcap;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint8_t sc_serial[16];
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t sc_msgid;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t sc_seqnum;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint8_t sc_intrx_nextnum;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t sc_intrx_len;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_MAX_INTRX_SIZE 3616
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China timeout_id_t sc_scan_id;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China timeout_id_t sc_stat_id;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t sc_need_sched;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China /* kstats */
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t sc_tx_nobuf;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t sc_rx_nobuf;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t sc_tx_err;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t sc_rx_err;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China uint32_t sc_tx_retries;
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China int (*sc_newstate)(struct ieee80211com *,
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China enum ieee80211_state, int);
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China};
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_SUCCESS 0
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_FAILURE -1
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_FLAG_RUNNING (1 << 0)
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_FLAG_SUSPEND (1 << 1)
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_FLAG_RECONNECT (1 << 2)
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_FLAG_DISCONNECT (1 << 3)
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_LOCK(sc) mutex_enter(&(sc)->sc_genlock)
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_UNLOCK(sc) mutex_exit(&(sc)->sc_genlock)
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_IS_RUNNING(_sc) ((_sc)->sc_flags & UATH_FLAG_RUNNING)
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_IS_SUSPEND(_sc) ((_sc)->sc_flags & UATH_FLAG_SUSPEND)
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_IS_DISCONNECT(_sc) ((_sc)->sc_flags & UATH_FLAG_DISCONNECT)
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_IS_RECONNECT(_sc) ((_sc)->sc_flags & UATH_FLAG_RECONNECT)
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#define UATH_RESET_INTRX(sc) do { \
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China (sc)->sc_intrx_nextnum = 0; \
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China (sc)->sc_intrx_len = 0; \
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China _NOTE(CONSTCOND) \
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China} while (0)
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#ifdef __cplusplus
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China}
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#endif
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China
56f9a274cc7ca7f2d6f19959b2db143d94a4e7e0fei feng - Sun Microsystems - Beijing China#endif /* _UATH_VAR_H */