[BACK]Return to if_ralvar.h CVS log [TXT][DIR] Up to [local] / sys / dev / usb

Annotation of sys/dev/usb/if_ralvar.h, Revision 1.1

1.1     ! nbrk        1: /*     $OpenBSD: if_ralvar.h,v 1.9 2007/06/06 19:25:49 mk Exp $  */
        !             2:
        !             3: /*-
        !             4:  * Copyright (c) 2005
        !             5:  *     Damien Bergamini <damien.bergamini@free.fr>
        !             6:  *
        !             7:  * Permission to use, copy, modify, and distribute this software for any
        !             8:  * purpose with or without fee is hereby granted, provided that the above
        !             9:  * copyright notice and this permission notice appear in all copies.
        !            10:  *
        !            11:  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
        !            12:  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
        !            13:  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
        !            14:  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
        !            15:  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
        !            16:  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
        !            17:  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
        !            18:  */
        !            19:
        !            20: #define RAL_RX_LIST_COUNT      1
        !            21: #define RAL_TX_LIST_COUNT      8
        !            22:
        !            23: struct ural_rx_radiotap_header {
        !            24:        struct ieee80211_radiotap_header wr_ihdr;
        !            25:        uint8_t         wr_flags;
        !            26:        uint8_t         wr_rate;
        !            27:        uint16_t        wr_chan_freq;
        !            28:        uint16_t        wr_chan_flags;
        !            29:        uint8_t         wr_antenna;
        !            30:        uint8_t         wr_antsignal;
        !            31: } __packed;
        !            32:
        !            33: #define RAL_RX_RADIOTAP_PRESENT                                                \
        !            34:        ((1 << IEEE80211_RADIOTAP_FLAGS) |                              \
        !            35:         (1 << IEEE80211_RADIOTAP_RATE) |                               \
        !            36:         (1 << IEEE80211_RADIOTAP_CHANNEL) |                            \
        !            37:         (1 << IEEE80211_RADIOTAP_ANTENNA) |                            \
        !            38:         (1 << IEEE80211_RADIOTAP_DB_ANTSIGNAL))
        !            39:
        !            40: struct ural_tx_radiotap_header {
        !            41:        struct ieee80211_radiotap_header wt_ihdr;
        !            42:        uint8_t         wt_flags;
        !            43:        uint8_t         wt_rate;
        !            44:        uint16_t        wt_chan_freq;
        !            45:        uint16_t        wt_chan_flags;
        !            46:        uint8_t         wt_antenna;
        !            47: } __packed;
        !            48:
        !            49: #define RAL_TX_RADIOTAP_PRESENT                                                \
        !            50:        ((1 << IEEE80211_RADIOTAP_FLAGS) |                              \
        !            51:         (1 << IEEE80211_RADIOTAP_RATE) |                               \
        !            52:         (1 << IEEE80211_RADIOTAP_CHANNEL) |                            \
        !            53:         (1 << IEEE80211_RADIOTAP_ANTENNA))
        !            54:
        !            55: struct ural_softc;
        !            56:
        !            57: struct ural_tx_data {
        !            58:        struct ural_softc       *sc;
        !            59:        usbd_xfer_handle        xfer;
        !            60:        uint8_t                 *buf;
        !            61:        struct ieee80211_node   *ni;
        !            62: };
        !            63:
        !            64: struct ural_rx_data {
        !            65:        struct ural_softc       *sc;
        !            66:        usbd_xfer_handle        xfer;
        !            67:        uint8_t                 *buf;
        !            68:        struct mbuf             *m;
        !            69: };
        !            70:
        !            71: struct ural_softc {
        !            72:        struct device                   sc_dev;
        !            73:        struct ieee80211com             sc_ic;
        !            74:        int                             (*sc_newstate)(struct ieee80211com *,
        !            75:                                            enum ieee80211_state, int);
        !            76:
        !            77:        usbd_device_handle              sc_udev;
        !            78:        usbd_interface_handle           sc_iface;
        !            79:
        !            80:        int                             sc_rx_no;
        !            81:        int                             sc_tx_no;
        !            82:
        !            83:        uint32_t                        asic_rev;
        !            84:        uint16_t                        macbbp_rev;
        !            85:        uint8_t                         rf_rev;
        !            86:
        !            87:        usbd_xfer_handle                amrr_xfer;
        !            88:
        !            89:        usbd_pipe_handle                sc_rx_pipeh;
        !            90:        usbd_pipe_handle                sc_tx_pipeh;
        !            91:
        !            92:        enum ieee80211_state            sc_state;
        !            93:        int                             sc_arg;
        !            94:        struct usb_task                 sc_task;
        !            95:
        !            96:        struct ieee80211_amrr           amrr;
        !            97:        struct ieee80211_amrr_node      amn;
        !            98:
        !            99:        struct ural_rx_data             rx_data[RAL_RX_LIST_COUNT];
        !           100:        struct ural_tx_data             tx_data[RAL_TX_LIST_COUNT];
        !           101:        int                             tx_queued;
        !           102:        int                             tx_cur;
        !           103:
        !           104:        struct timeout                  scan_to;
        !           105:        struct timeout                  amrr_to;
        !           106:
        !           107:        int                             sc_tx_timer;
        !           108:
        !           109:        uint16_t                        sta[11];
        !           110:        uint32_t                        rf_regs[4];
        !           111:        uint8_t                         txpow[14];
        !           112:
        !           113:        struct {
        !           114:                uint8_t val;
        !           115:                uint8_t reg;
        !           116:        } __packed                      bbp_prom[16];
        !           117:
        !           118:        int                             led_mode;
        !           119:        int                             hw_radio;
        !           120:        int                             rx_ant;
        !           121:        int                             tx_ant;
        !           122:        int                             nb_ant;
        !           123:
        !           124: #if NBPFILTER > 0
        !           125:        caddr_t                         sc_drvbpf;
        !           126:
        !           127:        union {
        !           128:                struct ural_rx_radiotap_header th;
        !           129:                uint8_t pad[64];
        !           130:        }                               sc_rxtapu;
        !           131: #define sc_rxtap       sc_rxtapu.th
        !           132:        int                             sc_rxtap_len;
        !           133:
        !           134:        union {
        !           135:                struct ural_tx_radiotap_header th;
        !           136:                uint8_t pad[64];
        !           137:        }                               sc_txtapu;
        !           138: #define sc_txtap       sc_txtapu.th
        !           139:        int                             sc_txtap_len;
        !           140: #endif
        !           141: };

CVSweb