zd1201.h 4.0 KB

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