driver_wext.h 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. /*
  2. * WPA Supplicant - driver_wext exported functions
  3. * Copyright (c) 2003-2005, Jouni Malinen <j@w1.fi>
  4. *
  5. * This program is free software; you can redistribute it and/or modify
  6. * it under the terms of the GNU General Public License version 2 as
  7. * published by the Free Software Foundation.
  8. *
  9. * Alternatively, this software may be distributed under the terms of BSD
  10. * license.
  11. *
  12. * See README and COPYING for more details.
  13. */
  14. #ifndef DRIVER_WEXT_H
  15. #define DRIVER_WEXT_H
  16. #include <net/if.h>
  17. struct wpa_driver_wext_data {
  18. void *ctx;
  19. int event_sock;
  20. int ioctl_sock;
  21. int mlme_sock;
  22. char ifname[IFNAMSIZ + 1];
  23. int ifindex;
  24. int ifindex2;
  25. int if_removed;
  26. u8 *assoc_req_ies;
  27. size_t assoc_req_ies_len;
  28. u8 *assoc_resp_ies;
  29. size_t assoc_resp_ies_len;
  30. struct wpa_driver_capa capa;
  31. int has_capability;
  32. int we_version_compiled;
  33. /* for set_auth_alg fallback */
  34. int use_crypt;
  35. int auth_alg_fallback;
  36. int operstate;
  37. char mlmedev[IFNAMSIZ + 1];
  38. int scan_complete_events;
  39. };
  40. int wpa_driver_wext_get_ifflags(struct wpa_driver_wext_data *drv, int *flags);
  41. int wpa_driver_wext_set_ifflags(struct wpa_driver_wext_data *drv, int flags);
  42. int wpa_driver_wext_get_bssid(void *priv, u8 *bssid);
  43. int wpa_driver_wext_set_bssid(void *priv, const u8 *bssid);
  44. int wpa_driver_wext_get_ssid(void *priv, u8 *ssid);
  45. int wpa_driver_wext_set_ssid(void *priv, const u8 *ssid, size_t ssid_len);
  46. int wpa_driver_wext_set_freq(void *priv, int freq);
  47. int wpa_driver_wext_set_mode(void *priv, int mode);
  48. int wpa_driver_wext_set_key(const char *ifname, void *priv, wpa_alg alg,
  49. const u8 *addr, int key_idx,
  50. int set_tx, const u8 *seq, size_t seq_len,
  51. const u8 *key, size_t key_len);
  52. int wpa_driver_wext_scan(void *priv, struct wpa_driver_scan_params *params);
  53. struct wpa_scan_results * wpa_driver_wext_get_scan_results(void *priv);
  54. void wpa_driver_wext_scan_timeout(void *eloop_ctx, void *timeout_ctx);
  55. int wpa_driver_wext_alternative_ifindex(struct wpa_driver_wext_data *drv,
  56. const char *ifname);
  57. void * wpa_driver_wext_init(void *ctx, const char *ifname);
  58. void wpa_driver_wext_deinit(void *priv);
  59. int wpa_driver_wext_set_operstate(void *priv, int state);
  60. int wpa_driver_wext_get_version(struct wpa_driver_wext_data *drv);
  61. int wpa_driver_wext_associate(void *priv,
  62. struct wpa_driver_associate_params *params);
  63. int wpa_driver_wext_get_capa(void *priv, struct wpa_driver_capa *capa);
  64. int wpa_driver_wext_set_auth_param(struct wpa_driver_wext_data *drv,
  65. int idx, u32 value);
  66. int wpa_driver_wext_cipher2wext(int cipher);
  67. int wpa_driver_wext_keymgmt2wext(int keymgmt);
  68. #endif /* DRIVER_WEXT_H */