driver_wext.h revision 61d9df3e62aaa0e87ad05452fcb95142159a17b6
15f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer/* 25f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer * WPA Supplicant - driver_wext exported functions 35f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer * Copyright (c) 2003-2005, Jouni Malinen <j@w1.fi> 45f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer * 50bc735ffcfb223c0186419547abaa5c84482663eChris Lattner * This software may be distributed under the terms of the BSD license. 60bc735ffcfb223c0186419547abaa5c84482663eChris Lattner * See README for more details. 75f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer */ 85f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer 92f7f5b1f5ff023cb8c4008ae53a12b09e3ea2622James Dennett#ifndef DRIVER_WEXT_H 102f7f5b1f5ff023cb8c4008ae53a12b09e3ea2622James Dennett#define DRIVER_WEXT_H 112f7f5b1f5ff023cb8c4008ae53a12b09e3ea2622James Dennett 122f7f5b1f5ff023cb8c4008ae53a12b09e3ea2622James Dennett#include <net/if.h> 135f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer 145f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencerstruct wpa_driver_wext_data { 155f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer void *ctx; 165f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer struct netlink_data *netlink; 175f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer int ioctl_sock; 1833e4e70c8c0a17e0ccb7465d96556b077a68ecb1Argyrios Kyrtzidis int mlme_sock; 19dc7b641574a733624489bd87fc7061771edf2113Douglas Gregor char ifname[IFNAMSIZ + 1]; 202eefd8657c233bc7c9330acfe475fc270bbe7cabTed Kremenek char phyname[32]; 21f62d43d2afe1960755a1b5813cae1e5983bcac1bDouglas Gregor int ifindex; 220827408865e32789e0ec4b8113a302ccdc531423Argyrios Kyrtzidis int ifindex2; 2328019772db70d4547be05a042eb950bc910f134fDouglas Gregor int if_removed; 240827408865e32789e0ec4b8113a302ccdc531423Argyrios Kyrtzidis int if_disabled; 2530a2e16f6c27f888dd11eba6bbbae1e980078fcbChandler Carruth struct rfkill_data *rfkill; 26f4c839657742b823cea1a95b18422f1ba74d3dddChris Lattner u8 *assoc_req_ies; 275f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer size_t assoc_req_ies_len; 2878ad0b98848c17a0a11847fa1d456e2dfec8aa2fDavid Blaikie u8 *assoc_resp_ies; 2933e4e70c8c0a17e0ccb7465d96556b077a68ecb1Argyrios Kyrtzidis size_t assoc_resp_ies_len; 3002c23ebf41ae2f70da0ba7337e05c51fbfe35f7fDouglas Gregor struct wpa_driver_capa capa; 31d42ffbd22fc7eb61321f6a88173ee424991f01c6Ted Kremenek int has_capability; 3233e4e70c8c0a17e0ccb7465d96556b077a68ecb1Argyrios Kyrtzidis int we_version_compiled; 3340469651a3f8379dc0f32df69e9bade06a2aad36Chris Lattner 347d90199f109290e9d587479a481a2850d390b552Daniel Dunbar /* for set_auth_alg fallback */ 359c4eb1f3438370355f51dc8c62f2ca4803e3338dArgyrios Kyrtzidis int use_crypt; 36e59abb56ce0e1c206fb80bd945a0c358b0abe1efArgyrios Kyrtzidis int auth_alg_fallback; 37651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 38651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines int operstate; 39651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 401eb4433ac451dc16f4133a88af2d002ac26c58efMike Stump char mlmedev[IFNAMSIZ + 1]; 414b2d3f7bcc4df31157df443af1b80bcaa9b58bbaDouglas Gregor 424b2d3f7bcc4df31157df443af1b80bcaa9b58bbaDouglas Gregor int scan_complete_events; 434b2d3f7bcc4df31157df443af1b80bcaa9b58bbaDouglas Gregor 444b2d3f7bcc4df31157df443af1b80bcaa9b58bbaDouglas Gregor int cfg80211; /* whether driver is using cfg80211 */ 454b2d3f7bcc4df31157df443af1b80bcaa9b58bbaDouglas Gregor 464b2d3f7bcc4df31157df443af1b80bcaa9b58bbaDouglas Gregor u8 max_level; 474b2d3f7bcc4df31157df443af1b80bcaa9b58bbaDouglas Gregor 48b2fb6de9070fea9abc56c8e8d5469066e964cefeDouglas Gregor#ifdef ANDROID 494b2d3f7bcc4df31157df443af1b80bcaa9b58bbaDouglas Gregor int errors; 50849b243d4065f56742a4677d6dc8277609a151f8Douglas Gregor int driver_is_started; 514b2d3f7bcc4df31157df443af1b80bcaa9b58bbaDouglas Gregor int bgscan_enabled; 52783c56f47745f719590b17afd7ed937bf2407b53Douglas Gregor#endif /* ANDROID */ 53783c56f47745f719590b17afd7ed937bf2407b53Douglas Gregor}; 540a76aae8c03cb7dd7bdbe683485560afaf695959Chris Lattner 554b2d3f7bcc4df31157df443af1b80bcaa9b58bbaDouglas Gregorint wpa_driver_wext_get_bssid(void *priv, u8 *bssid); 5630660a898545416f0fea2d717f16f75640001e38Ted Kremenekint wpa_driver_wext_set_bssid(void *priv, const u8 *bssid); 5730660a898545416f0fea2d717f16f75640001e38Ted Kremenekint wpa_driver_wext_get_ssid(void *priv, u8 *ssid); 5830660a898545416f0fea2d717f16f75640001e38Ted Kremenekint wpa_driver_wext_set_ssid(void *priv, const u8 *ssid, size_t ssid_len); 5930660a898545416f0fea2d717f16f75640001e38Ted Kremenekint wpa_driver_wext_set_freq(void *priv, int freq); 604b2d3f7bcc4df31157df443af1b80bcaa9b58bbaDouglas Gregorint wpa_driver_wext_set_mode(void *priv, int mode); 614b2d3f7bcc4df31157df443af1b80bcaa9b58bbaDouglas Gregorint wpa_driver_wext_set_key(const char *ifname, void *priv, enum wpa_alg alg, 624b2d3f7bcc4df31157df443af1b80bcaa9b58bbaDouglas Gregor const u8 *addr, int key_idx, 634b2d3f7bcc4df31157df443af1b80bcaa9b58bbaDouglas Gregor int set_tx, const u8 *seq, size_t seq_len, 6430660a898545416f0fea2d717f16f75640001e38Ted Kremenek const u8 *key, size_t key_len); 6530660a898545416f0fea2d717f16f75640001e38Ted Kremenekint wpa_driver_wext_scan(void *priv, struct wpa_driver_scan_params *params); 664b2d3f7bcc4df31157df443af1b80bcaa9b58bbaDouglas Gregorstruct wpa_scan_results * wpa_driver_wext_get_scan_results(void *priv); 674b2d3f7bcc4df31157df443af1b80bcaa9b58bbaDouglas Gregor 6830660a898545416f0fea2d717f16f75640001e38Ted Kremenekvoid wpa_driver_wext_scan_timeout(void *eloop_ctx, void *timeout_ctx); 694b2d3f7bcc4df31157df443af1b80bcaa9b58bbaDouglas Gregor 702f019aadc96f8fa3185c684c7150bd596d045064Anders Carlssonint wpa_driver_wext_alternative_ifindex(struct wpa_driver_wext_data *drv, 71783c56f47745f719590b17afd7ed937bf2407b53Douglas Gregor const char *ifname); 722f019aadc96f8fa3185c684c7150bd596d045064Anders Carlsson 732f019aadc96f8fa3185c684c7150bd596d045064Anders Carlssonvoid * wpa_driver_wext_init(void *ctx, const char *ifname); 744b2d3f7bcc4df31157df443af1b80bcaa9b58bbaDouglas Gregorvoid wpa_driver_wext_deinit(void *priv); 754b2d3f7bcc4df31157df443af1b80bcaa9b58bbaDouglas Gregor 76849b243d4065f56742a4677d6dc8277609a151f8Douglas Gregorint wpa_driver_wext_set_operstate(void *priv, int state); 7730660a898545416f0fea2d717f16f75640001e38Ted Kremenekint wpa_driver_wext_get_version(struct wpa_driver_wext_data *drv); 7830660a898545416f0fea2d717f16f75640001e38Ted Kremenek 79849b243d4065f56742a4677d6dc8277609a151f8Douglas Gregorint wpa_driver_wext_associate(void *priv, 80783c56f47745f719590b17afd7ed937bf2407b53Douglas Gregor struct wpa_driver_associate_params *params); 814a2ef80d896c1bac38ce113ec19a8d509a619288Nico Weberint wpa_driver_wext_get_capa(void *priv, struct wpa_driver_capa *capa); 82b2fb6de9070fea9abc56c8e8d5469066e964cefeDouglas Gregorint wpa_driver_wext_set_auth_param(struct wpa_driver_wext_data *drv, 8330660a898545416f0fea2d717f16f75640001e38Ted Kremenek int idx, u32 value); 8430660a898545416f0fea2d717f16f75640001e38Ted Kremenekint wpa_driver_wext_cipher2wext(int cipher); 8530660a898545416f0fea2d717f16f75640001e38Ted Kremenekint wpa_driver_wext_keymgmt2wext(int keymgmt); 8630660a898545416f0fea2d717f16f75640001e38Ted Kremenek 8730660a898545416f0fea2d717f16f75640001e38Ted Kremenek#endif /* DRIVER_WEXT_H */ 88af50aab0c317462129d73ae8000c6394c718598dJames Dennett