Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  *  Copyright (c) 2004, 2005 Jeroen Vreeken (pe1rxq@amsat.org)
0004  *
0005  *  Parts of this driver have been derived from a wlan-ng version
0006  *  modified by ZyDAS.
0007  *  Copyright (C) 1999 AbsoluteValue Systems, Inc.  All Rights Reserved.
0008  */
0009 
0010 #ifndef _INCLUDE_ZD1201_H_
0011 #define _INCLUDE_ZD1201_H_
0012 
0013 #define ZD1201_NUMKEYS      4
0014 #define ZD1201_MAXKEYLEN    13
0015 #define ZD1201_MAXMULTI     16
0016 #define ZD1201_FRAGMAX      2500
0017 #define ZD1201_FRAGMIN      256
0018 #define ZD1201_RTSMAX       2500
0019 
0020 #define ZD1201_RXSIZE       3000
0021 
0022 struct zd1201 {
0023     struct usb_device   *usb;
0024     int         removed;
0025     struct net_device   *dev;
0026     struct iw_statistics    iwstats;
0027 
0028     int         endp_in;
0029     int         endp_out;
0030     int         endp_out2;
0031     struct urb      *rx_urb;
0032     struct urb      *tx_urb;
0033 
0034     unsigned char       rxdata[ZD1201_RXSIZE];
0035     int         rxlen;
0036     wait_queue_head_t   rxdataq;
0037     int         rxdatas;
0038     struct hlist_head   fraglist;
0039     unsigned char       txdata[ZD1201_RXSIZE];
0040 
0041     int         ap;
0042     char            essid[IW_ESSID_MAX_SIZE+1];
0043     int         essidlen;
0044     int         mac_enabled;
0045     int         was_enabled;
0046     int         monitor;
0047     int         encode_enabled;
0048     int         encode_restricted;
0049     unsigned char       encode_keys[ZD1201_NUMKEYS][ZD1201_MAXKEYLEN];
0050     int         encode_keylen[ZD1201_NUMKEYS];
0051 };
0052 
0053 struct zd1201_frag {
0054     struct hlist_node   fnode;
0055     int         seq;
0056     struct sk_buff      *skb;
0057 };
0058 
0059 #define ZD1201SIWHOSTAUTH SIOCIWFIRSTPRIV
0060 #define ZD1201GIWHOSTAUTH ZD1201SIWHOSTAUTH+1
0061 #define ZD1201SIWAUTHSTA SIOCIWFIRSTPRIV+2
0062 #define ZD1201SIWMAXASSOC SIOCIWFIRSTPRIV+4
0063 #define ZD1201GIWMAXASSOC ZD1201SIWMAXASSOC+1
0064 
0065 #define ZD1201_FW_TIMEOUT   (1000)
0066 
0067 #define ZD1201_TX_TIMEOUT   (2000)
0068 
0069 #define ZD1201_USB_CMDREQ   0
0070 #define ZD1201_USB_RESREQ   1
0071 
0072 #define ZD1201_CMDCODE_INIT 0x00
0073 #define ZD1201_CMDCODE_ENABLE   0x01
0074 #define ZD1201_CMDCODE_DISABLE  0x02
0075 #define ZD1201_CMDCODE_ALLOC    0x0a
0076 #define ZD1201_CMDCODE_INQUIRE  0x11
0077 #define ZD1201_CMDCODE_SETRXRID 0x17
0078 #define ZD1201_CMDCODE_ACCESS   0x21
0079 
0080 #define ZD1201_PACKET_EVENTSTAT 0x0
0081 #define ZD1201_PACKET_RXDATA    0x1
0082 #define ZD1201_PACKET_INQUIRE   0x2
0083 #define ZD1201_PACKET_RESOURCE  0x3
0084 
0085 #define ZD1201_ACCESSBIT    0x0100
0086 
0087 #define ZD1201_RID_CNFPORTTYPE      0xfc00
0088 #define ZD1201_RID_CNFOWNMACADDR    0xfc01
0089 #define ZD1201_RID_CNFDESIREDSSID   0xfc02
0090 #define ZD1201_RID_CNFOWNCHANNEL    0xfc03
0091 #define ZD1201_RID_CNFOWNSSID       0xfc04
0092 #define ZD1201_RID_CNFMAXDATALEN    0xfc07
0093 #define ZD1201_RID_CNFPMENABLED     0xfc09
0094 #define ZD1201_RID_CNFPMEPS     0xfc0a
0095 #define ZD1201_RID_CNFMAXSLEEPDURATION  0xfc0c
0096 #define ZD1201_RID_CNFDEFAULTKEYID  0xfc23
0097 #define ZD1201_RID_CNFDEFAULTKEY0   0xfc24
0098 #define ZD1201_RID_CNFDEFAULTKEY1   0xfc25
0099 #define ZD1201_RID_CNFDEFAULTKEY2   0xfc26
0100 #define ZD1201_RID_CNFDEFAULTKEY3   0xfc27
0101 #define ZD1201_RID_CNFWEBFLAGS      0xfc28
0102 #define ZD1201_RID_CNFAUTHENTICATION    0xfc2a
0103 #define ZD1201_RID_CNFMAXASSOCSTATIONS  0xfc2b
0104 #define ZD1201_RID_CNFHOSTAUTH      0xfc2e
0105 #define ZD1201_RID_CNFGROUPADDRESS  0xfc80
0106 #define ZD1201_RID_CNFFRAGTHRESHOLD 0xfc82
0107 #define ZD1201_RID_CNFRTSTHRESHOLD  0xfc83
0108 #define ZD1201_RID_TXRATECNTL       0xfc84
0109 #define ZD1201_RID_PROMISCUOUSMODE  0xfc85
0110 #define ZD1201_RID_CNFBASICRATES    0xfcb3
0111 #define ZD1201_RID_AUTHENTICATESTA  0xfce3
0112 #define ZD1201_RID_CURRENTBSSID     0xfd42
0113 #define ZD1201_RID_COMMSQUALITY     0xfd43
0114 #define ZD1201_RID_CURRENTTXRATE    0xfd44
0115 #define ZD1201_RID_CNFMAXTXBUFFERNUMBER 0xfda0
0116 #define ZD1201_RID_CURRENTCHANNEL   0xfdc1
0117 
0118 #define ZD1201_INQ_SCANRESULTS      0xf101
0119 
0120 #define ZD1201_INF_LINKSTATUS       0xf200
0121 #define ZD1201_INF_ASSOCSTATUS      0xf201
0122 #define ZD1201_INF_AUTHREQ      0xf202
0123 
0124 #define ZD1201_ASSOCSTATUS_STAASSOC 0x1
0125 #define ZD1201_ASSOCSTATUS_REASSOC  0x2
0126 #define ZD1201_ASSOCSTATUS_DISASSOC 0x3
0127 #define ZD1201_ASSOCSTATUS_ASSOCFAIL    0x4
0128 #define ZD1201_ASSOCSTATUS_AUTHFAIL 0x5
0129 
0130 #define ZD1201_PORTTYPE_IBSS        0
0131 #define ZD1201_PORTTYPE_BSS     1
0132 #define ZD1201_PORTTYPE_WDS     2
0133 #define ZD1201_PORTTYPE_PSEUDOIBSS  3
0134 #define ZD1201_PORTTYPE_AP      6
0135 
0136 #define ZD1201_RATEB1   1
0137 #define ZD1201_RATEB2   2
0138 #define ZD1201_RATEB5   4   /* 5.5 really, but 5 is shorter :) */
0139 #define ZD1201_RATEB11  8
0140 
0141 #define ZD1201_CNFAUTHENTICATION_OPENSYSTEM 0x0001
0142 #define ZD1201_CNFAUTHENTICATION_SHAREDKEY  0x0002
0143 
0144 #endif /* _INCLUDE_ZD1201_H_ */