2  *      Copyright (c) 2004, 2005 Jeroen Vreeken (pe1rxq@amsat.org)
 
   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.
 
   8  *      Parts of this driver have been derived from a wlan-ng version
 
  10  *      Copyright (C) 1999 AbsoluteValue Systems, Inc.  All Rights Reserved.
 
  13 #ifndef _INCLUDE_ZD1201_H_
 
  14 #define _INCLUDE_ZD1201_H_
 
  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
 
  23 #define ZD1201_RXSIZE           3000
 
  26         struct usb_device       *usb;
 
  28         struct net_device       *dev;
 
  29         struct iw_statistics    iwstats;
 
  37         unsigned char           rxdata[ZD1201_RXSIZE];
 
  39         wait_queue_head_t       rxdataq;
 
  41         struct hlist_head       fraglist;
 
  42         unsigned char           txdata[ZD1201_RXSIZE];
 
  45         char                    essid[IW_ESSID_MAX_SIZE+1];
 
  51         int                     encode_restricted;
 
  52         unsigned char           encode_keys[ZD1201_NUMKEYS][ZD1201_MAXKEYLEN];
 
  53         int                     encode_keylen[ZD1201_NUMKEYS];
 
  57         struct hlist_node       fnode;
 
  62 #define ZD1201SIWHOSTAUTH SIOCIWFIRSTPRIV
 
  63 #define ZD1201GIWHOSTAUTH ZD1201SIWHOSTAUTH+1
 
  64 #define ZD1201SIWAUTHSTA SIOCIWFIRSTPRIV+2
 
  65 #define ZD1201SIWMAXASSOC SIOCIWFIRSTPRIV+4
 
  66 #define ZD1201GIWMAXASSOC ZD1201SIWMAXASSOC+1
 
  68 #define ZD1201_FW_TIMEOUT       (1000)
 
  70 #define ZD1201_TX_TIMEOUT       (2000)
 
  72 #define ZD1201_USB_CMDREQ       0
 
  73 #define ZD1201_USB_RESREQ       1
 
  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
 
  83 #define ZD1201_PACKET_EVENTSTAT 0x0
 
  84 #define ZD1201_PACKET_RXDATA    0x1
 
  85 #define ZD1201_PACKET_INQUIRE   0x2
 
  86 #define ZD1201_PACKET_RESOURCE  0x3
 
  88 #define ZD1201_ACCESSBIT        0x0100
 
  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
 
 121 #define ZD1201_INQ_SCANRESULTS          0xf101
 
 123 #define ZD1201_INF_LINKSTATUS           0xf200
 
 124 #define ZD1201_INF_ASSOCSTATUS          0xf201
 
 125 #define ZD1201_INF_AUTHREQ              0xf202
 
 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
 
 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
 
 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
 
 144 #define ZD1201_CNFAUTHENTICATION_OPENSYSTEM     0x0001
 
 145 #define ZD1201_CNFAUTHENTICATION_SHAREDKEY      0x0002
 
 147 #endif /* _INCLUDE_ZD1201_H_ */