The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/dev/ic/if_wi_hostap.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*      $OpenBSD: if_wi_hostap.h,v 1.10 2014/08/24 18:01:27 zhuk Exp $  */
    2 
    3 /*
    4  * Copyright (c) 2002
    5  *      Thomas Skibo <skibo@pacbell.net>.  All rights reserved.
    6  *
    7  * Redistribution and use in source and binary forms, with or without
    8  * modification, are permitted provided that the following conditions
    9  * are met:
   10  * 1. Redistributions of source code must retain the above copyright
   11  *    notice, this list of conditions and the following disclaimer.
   12  * 2. Redistributions in binary form must reproduce the above copyright
   13  *    notice, this list of conditions and the following disclaimer in the
   14  *    documentation and/or other materials provided with the distribution.
   15  * 3. All advertising materials mentioning features or use of this software
   16  *    must display the following acknowledgement:
   17  *      This product includes software developed by Thomas Skibo.
   18  * 4. Neither the name of the author nor the names of any co-contributors
   19  *    may be used to endorse or promote products derived from this software
   20  *    without specific prior written permission.
   21  *
   22  * THIS SOFTWARE IS PROVIDED BY Thomas Skibo AND CONTRIBUTORS ``AS IS'' AND
   23  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   24  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   25  * ARE DISCLAIMED.  IN NO EVENT SHALL Thomas Skibo OR HIS DRINKING PALS
   26  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   27  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   28  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   29  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
   30  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   31  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
   32  * THE POSSIBILITY OF SUCH DAMAGE.
   33  *
   34  * $FreeBSD: $
   35  */
   36 
   37 #ifndef __WI_HOSTAP_H__
   38 #define __WI_HOSTAP_H__
   39 
   40 #define WIHAP_MAX_STATIONS      1800
   41 
   42 struct hostap_sta {
   43         u_int8_t        addr[6];
   44         u_int16_t       asid;
   45         u_int16_t       flags;
   46         u_int16_t       sig_info;       /* 15:8 signal, 7:0 noise */
   47         u_int16_t       capinfo;
   48         u_int8_t        rates;
   49 };
   50 
   51 #define HOSTAP_FLAGS_AUTHEN     0x0001
   52 #define HOSTAP_FLAGS_ASSOC      0x0002
   53 #define HOSTAP_FLAGS_PERM       0x0004
   54 #define HOSTAP_FLAGS_BITS       "\2\01AUTH\02ASSOC\03PERM"
   55 
   56 #define SIOCHOSTAP_GET          _IOWR('i', 200, struct ifreq)
   57 #define SIOCHOSTAP_ADD          _IOWR('i', 201, struct ifreq)
   58 #define SIOCHOSTAP_DEL          _IOWR('i', 202, struct ifreq)
   59 #define SIOCHOSTAP_GETALL       _IOWR('i', 203, struct ifreq)
   60 #define SIOCHOSTAP_GFLAGS       _IOWR('i', 204, struct ifreq)
   61 #define SIOCHOSTAP_SFLAGS       _IOWR('i', 205, struct ifreq)
   62 
   63 /* Flags for SIOCHOSTAP_GFLAGS/SFLAGS */
   64 #define WIHAPFL_ACTIVE          0x0001
   65 #define WIHAPFL_MAC_FILT        0x0002
   66 
   67 /* Flags set internally only: */
   68 #define WIHAPFL_CANTCHANGE      (WIHAPFL_ACTIVE)
   69 
   70 struct hostap_getall {
   71         int             nstations;
   72         struct hostap_sta *addr;
   73         int             size;
   74 };
   75 
   76 
   77 
   78 #ifdef _KERNEL
   79 struct wihap_sta_info {
   80         TAILQ_ENTRY(wihap_sta_info) list;
   81         LIST_ENTRY(wihap_sta_info) hash;
   82 
   83         struct wi_softc *sc;
   84         u_int8_t        addr[6];
   85         u_short         flags;
   86         struct timeout  tmo;
   87 
   88         u_int16_t       asid;
   89         u_int16_t       capinfo;
   90         u_int16_t       sig_info;       /* 15:8 signal, 7:0 noise */
   91         u_int8_t        rates;
   92         u_int8_t        tx_curr_rate;
   93         u_int8_t        tx_max_rate;
   94         u_int32_t       *challenge;
   95 };
   96 
   97 #define WI_SIFLAGS_ASSOC        HOSTAP_FLAGS_ASSOC
   98 #define WI_SIFLAGS_AUTHEN       HOSTAP_FLAGS_AUTHEN
   99 #define WI_SIFLAGS_PERM         HOSTAP_FLAGS_PERM
  100 #define WI_SIFLAGS_DEAD         0x1000
  101 
  102 #define WI_STA_HASH_SIZE        113
  103 
  104 #if WI_STA_HASH_SIZE*16 >= 2007 /* will generate ASID's too large. */
  105 #error "WI_STA_HASH_SIZE too big"
  106 #endif
  107 #if WI_STA_HASH_SIZE*16 < WIHAP_MAX_STATIONS
  108 #error "WI_STA_HASH_SIZE too small"
  109 #endif
  110 
  111 struct wihap_info {
  112         TAILQ_HEAD(sta_list, wihap_sta_info)    sta_list;
  113         LIST_HEAD(sta_hash, wihap_sta_info)     sta_hash[WI_STA_HASH_SIZE];
  114 
  115         u_int16_t               apflags;
  116 
  117         int                     n_stations;
  118         u_int16_t               asid_inuse_mask[WI_STA_HASH_SIZE];
  119 
  120         int                     inactivity_time;
  121         struct timeout          tmo;
  122 };
  123 
  124 #define WIHAP_DFLT_INACTIVITY_TIME      (120) /* 2 minutes */
  125 
  126 struct wi_softc;
  127 struct wi_frame;
  128 
  129 int     wihap_check_tx(struct wihap_info *, u_int8_t [], u_int8_t *);
  130 int     wihap_data_input(struct wi_softc *, struct wi_frame *, struct mbuf *);
  131 int     wihap_ioctl(struct wi_softc *, u_long, caddr_t);
  132 void    wihap_init(struct wi_softc *);
  133 void    wihap_mgmt_input(struct wi_softc *, struct wi_frame *, struct mbuf *);
  134 void    wihap_shutdown(struct wi_softc *);
  135 
  136 #endif /* _KERNEL */
  137 #endif /* __WI_HOSTAP_H__ */

Cache object: f1e5d32613dbd277e2d7f8207fe8ee6a


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.