wext.c 3.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. /*
  2. * Intel Wireless Multicomm 3200 WiFi driver
  3. *
  4. * Copyright (C) 2009 Intel Corporation <ilw@linux.intel.com>
  5. * Samuel Ortiz <samuel.ortiz@intel.com>
  6. * Zhu Yi <yi.zhu@intel.com>
  7. *
  8. * This program is free software; you can redistribute it and/or
  9. * modify it under the terms of the GNU General Public License version
  10. * 2 as published by the Free Software Foundation.
  11. *
  12. * This program is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. * GNU General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU General Public License
  18. * along with this program; if not, write to the Free Software
  19. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
  20. * 02110-1301, USA.
  21. *
  22. */
  23. #include <linux/wireless.h>
  24. #include <net/cfg80211.h>
  25. #include "iwm.h"
  26. #include "commands.h"
  27. static const iw_handler iwm_handlers[] =
  28. {
  29. (iw_handler) NULL, /* SIOCSIWCOMMIT */
  30. (iw_handler) cfg80211_wext_giwname, /* SIOCGIWNAME */
  31. (iw_handler) NULL, /* SIOCSIWNWID */
  32. (iw_handler) NULL, /* SIOCGIWNWID */
  33. (iw_handler) cfg80211_wext_siwfreq, /* SIOCSIWFREQ */
  34. (iw_handler) cfg80211_wext_giwfreq, /* SIOCGIWFREQ */
  35. (iw_handler) cfg80211_wext_siwmode, /* SIOCSIWMODE */
  36. (iw_handler) cfg80211_wext_giwmode, /* SIOCGIWMODE */
  37. (iw_handler) NULL, /* SIOCSIWSENS */
  38. (iw_handler) NULL, /* SIOCGIWSENS */
  39. (iw_handler) NULL /* not used */, /* SIOCSIWRANGE */
  40. (iw_handler) cfg80211_wext_giwrange, /* SIOCGIWRANGE */
  41. (iw_handler) NULL /* not used */, /* SIOCSIWPRIV */
  42. (iw_handler) NULL /* kernel code */, /* SIOCGIWPRIV */
  43. (iw_handler) NULL /* not used */, /* SIOCSIWSTATS */
  44. (iw_handler) NULL /* kernel code */, /* SIOCGIWSTATS */
  45. (iw_handler) NULL, /* SIOCSIWSPY */
  46. (iw_handler) NULL, /* SIOCGIWSPY */
  47. (iw_handler) NULL, /* SIOCSIWTHRSPY */
  48. (iw_handler) NULL, /* SIOCGIWTHRSPY */
  49. (iw_handler) cfg80211_wext_siwap, /* SIOCSIWAP */
  50. (iw_handler) cfg80211_wext_giwap, /* SIOCGIWAP */
  51. (iw_handler) NULL, /* SIOCSIWMLME */
  52. (iw_handler) NULL, /* SIOCGIWAPLIST */
  53. (iw_handler) cfg80211_wext_siwscan, /* SIOCSIWSCAN */
  54. (iw_handler) cfg80211_wext_giwscan, /* SIOCGIWSCAN */
  55. (iw_handler) cfg80211_wext_siwessid, /* SIOCSIWESSID */
  56. (iw_handler) cfg80211_wext_giwessid, /* SIOCGIWESSID */
  57. (iw_handler) NULL, /* SIOCSIWNICKN */
  58. (iw_handler) NULL, /* SIOCGIWNICKN */
  59. (iw_handler) NULL, /* -- hole -- */
  60. (iw_handler) NULL, /* -- hole -- */
  61. (iw_handler) NULL, /* SIOCSIWRATE */
  62. (iw_handler) cfg80211_wext_giwrate, /* SIOCGIWRATE */
  63. (iw_handler) cfg80211_wext_siwrts, /* SIOCSIWRTS */
  64. (iw_handler) cfg80211_wext_giwrts, /* SIOCGIWRTS */
  65. (iw_handler) cfg80211_wext_siwfrag, /* SIOCSIWFRAG */
  66. (iw_handler) cfg80211_wext_giwfrag, /* SIOCGIWFRAG */
  67. (iw_handler) cfg80211_wext_siwtxpower, /* SIOCSIWTXPOW */
  68. (iw_handler) cfg80211_wext_giwtxpower, /* SIOCGIWTXPOW */
  69. (iw_handler) NULL, /* SIOCSIWRETRY */
  70. (iw_handler) NULL, /* SIOCGIWRETRY */
  71. (iw_handler) cfg80211_wext_siwencode, /* SIOCSIWENCODE */
  72. (iw_handler) cfg80211_wext_giwencode, /* SIOCGIWENCODE */
  73. (iw_handler) cfg80211_wext_siwpower, /* SIOCSIWPOWER */
  74. (iw_handler) cfg80211_wext_giwpower, /* SIOCGIWPOWER */
  75. (iw_handler) NULL, /* -- hole -- */
  76. (iw_handler) NULL, /* -- hole -- */
  77. (iw_handler) cfg80211_wext_siwgenie, /* SIOCSIWGENIE */
  78. (iw_handler) NULL, /* SIOCGIWGENIE */
  79. (iw_handler) cfg80211_wext_siwauth, /* SIOCSIWAUTH */
  80. (iw_handler) cfg80211_wext_giwauth, /* SIOCGIWAUTH */
  81. (iw_handler) cfg80211_wext_siwencodeext, /* SIOCSIWENCODEEXT */
  82. (iw_handler) NULL, /* SIOCGIWENCODEEXT */
  83. (iw_handler) NULL, /* SIOCSIWPMKSA */
  84. (iw_handler) NULL, /* -- hole -- */
  85. };
  86. const struct iw_handler_def iwm_iw_handler_def = {
  87. .num_standard = ARRAY_SIZE(iwm_handlers),
  88. .standard = (iw_handler *) iwm_handlers,
  89. .get_wireless_stats = cfg80211_wireless_stats,
  90. };