linux/drivers/net/wireless/zd1201.h
<<
>>
Prefs
   1/*
   2 *      Copyright (c) 2004, 2005 Jeroen Vreeken (pe1rxq@amsat.org)
   3 *
   4 *      This program is free software; you can redistribute it and/or
   5 *      modify it under the terms of the GNU General Public License
   6 *      version 2 as published by the Free Software Foundation.
   7 *
   8 *      Parts of this driver have been derived from a wlan-ng version
   9 *      modified by ZyDAS.
  10 *      Copyright (C) 1999 AbsoluteValue Systems, Inc.  All Rights Reserved.
  11 */
  12
  13#ifndef _INCLUDE_ZD1201_H_
  14#define _INCLUDE_ZD1201_H_
  15
  16#define ZD1201_NUMKEYS          4
  17#define ZD1201_MAXKEYLEN        13
  18#define ZD1201_MAXMULTI         16
  19#define ZD1201_FRAGMAX          2500
  20#define ZD1201_FRAGMIN          256
  21#define ZD1201_RTSMAX           2500
  22
  23#define ZD1201_RXSIZE           3000
  24
  25struct zd1201 {
  26        struct usb_device       *usb;
  27        int                     removed;
  28        struct net_device       *dev;
  29        struct iw_statistics    iwstats;
  30
  31        int                     endp_in;
  32        int                     endp_out;
  33        int                     endp_out2;
  34        struct urb              *rx_urb;
  35        struct urb              *tx_urb;
  36
  37        unsigned char           rxdata[ZD1201_RXSIZE];
  38        int                     rxlen;
  39        wait_queue_head_t       rxdataq;
  40        int                     rxdatas;
  41        struct hlist_head       fraglist;
  42        unsigned char           txdata[ZD1201_RXSIZE];
  43
  44        int                     ap;
  45        char                    essid[IW_ESSID_MAX_SIZE+1];
  46        int                     essidlen;
  47        int                     mac_enabled;
  48        int                     was_enabled;
  49        int                     monitor;
  50        int                     encode_enabled;
  51        int                     encode_restricted;
  52        unsigned char           encode_keys[ZD1201_NUMKEYS][ZD1201_MAXKEYLEN];
  53        int                     encode_keylen[ZD1201_NUMKEYS];
  54};
  55
  56struct zd1201_frag {
  57        struct hlist_node       fnode;
  58        int                     seq;
  59        struct sk_buff          *skb;
  60};
  61
  62#define ZD1201SIWHOSTAUTH SIOCIWFIRSTPRIV
  63#define ZD1201GIWHOSTAUTH ZD1201SIWHOSTAUTH+1
  64#define ZD1201SIWAUTHSTA SIOCIWFIRSTPRIV+2
  65#define ZD1201SIWMAXASSOC SIOCIWFIRSTPRIV+4
  66#define ZD1201GIWMAXASSOC ZD1201SIWMAXASSOC+1
  67
  68#define ZD1201_FW_TIMEOUT       (1000)
  69
  70#define ZD1201_TX_TIMEOUT       (2000)
  71
  72#define ZD1201_USB_CMDREQ       0
  73#define ZD1201_USB_RESREQ       1
  74
  75#define ZD1201_CMDCODE_INIT     0x00
  76#define ZD1201_CMDCODE_ENABLE   0x01
  77#define ZD1201_CMDCODE_DISABLE  0x02
  78#define ZD1201_CMDCODE_ALLOC    0x0a
  79#define ZD1201_CMDCODE_INQUIRE  0x11
  80#define ZD1201_CMDCODE_SETRXRID 0x17
  81#define ZD1201_CMDCODE_ACCESS   0x21
  82
  83#define ZD1201_PACKET_EVENTSTAT 0x0
  84#define ZD1201_PACKET_RXDATA    0x1
  85#define ZD1201_PACKET_INQUIRE   0x2
  86#define ZD1201_PACKET_RESOURCE  0x3
  87
  88#define ZD1201_ACCESSBIT        0x0100
  89
  90#define ZD1201_RID_CNFPORTTYPE          0xfc00
  91#define ZD1201_RID_CNFOWNMACADDR        0xfc01
  92#define ZD1201_RID_CNFDESIREDSSID       0xfc02
  93#define ZD1201_RID_CNFOWNCHANNEL        0xfc03
  94#define ZD1201_RID_CNFOWNSSID           0xfc04
  95#define ZD1201_RID_CNFMAXDATALEN        0xfc07
  96#define ZD1201_RID_CNFPMENABLED         0xfc09
  97#define ZD1201_RID_CNFPMEPS             0xfc0a
  98#define ZD1201_RID_CNFMAXSLEEPDURATION  0xfc0c
  99#define ZD1201_RID_CNFDEFAULTKEYID      0xfc23
 100#define ZD1201_RID_CNFDEFAULTKEY0       0xfc24
 101#define ZD1201_RID_CNFDEFAULTKEY1       0xfc25
 102#define ZD1201_RID_CNFDEFAULTKEY2       0xfc26
 103#define ZD1201_RID_CNFDEFAULTKEY3       0xfc27
 104#define ZD1201_RID_CNFWEBFLAGS          0xfc28
 105#define ZD1201_RID_CNFAUTHENTICATION    0xfc2a
 106#define ZD1201_RID_CNFMAXASSOCSTATIONS  0xfc2b
 107#define ZD1201_RID_CNFHOSTAUTH          0xfc2e
 108#define ZD1201_RID_CNFGROUPADDRESS      0xfc80
 109#define ZD1201_RID_CNFFRAGTHRESHOLD     0xfc82
 110#define ZD1201_RID_CNFRTSTHRESHOLD      0xfc83
 111#define ZD1201_RID_TXRATECNTL           0xfc84
 112#define ZD1201_RID_PROMISCUOUSMODE      0xfc85
 113#define ZD1201_RID_CNFBASICRATES        0xfcb3
 114#define ZD1201_RID_AUTHENTICATESTA      0xfce3
 115#define ZD1201_RID_CURRENTBSSID         0xfd42
 116#define ZD1201_RID_COMMSQUALITY         0xfd43
 117#define ZD1201_RID_CURRENTTXRATE        0xfd44
 118#define ZD1201_RID_CNFMAXTXBUFFERNUMBER 0xfda0
 119#define ZD1201_RID_CURRENTCHANNEL       0xfdc1
 120
 121#define ZD1201_INQ_SCANRESULTS          0xf101
 122
 123#define ZD1201_INF_LINKSTATUS           0xf200
 124#define ZD1201_INF_ASSOCSTATUS          0xf201
 125#define ZD1201_INF_AUTHREQ              0xf202
 126
 127#define ZD1201_ASSOCSTATUS_STAASSOC     0x1
 128#define ZD1201_ASSOCSTATUS_REASSOC      0x2
 129#define ZD1201_ASSOCSTATUS_DISASSOC     0x3
 130#define ZD1201_ASSOCSTATUS_ASSOCFAIL    0x4
 131#define ZD1201_ASSOCSTATUS_AUTHFAIL     0x5
 132
 133#define ZD1201_PORTTYPE_IBSS            0
 134#define ZD1201_PORTTYPE_BSS             1
 135#define ZD1201_PORTTYPE_WDS             2
 136#define ZD1201_PORTTYPE_PSEUDOIBSS      3
 137#define ZD1201_PORTTYPE_AP              6
 138
 139#define ZD1201_RATEB1   1
 140#define ZD1201_RATEB2   2
 141#define ZD1201_RATEB5   4       /* 5.5 really, but 5 is shorter :) */
 142#define ZD1201_RATEB11  8
 143
 144#define ZD1201_CNFAUTHENTICATION_OPENSYSTEM     0x0001
 145#define ZD1201_CNFAUTHENTICATION_SHAREDKEY      0x0002
 146
 147#endif /* _INCLUDE_ZD1201_H_ */
 148