1e5b75505Sopenharmony_ci/* 2e5b75505Sopenharmony_ci * WPA Supplicant - driver_wext exported functions 3e5b75505Sopenharmony_ci * Copyright (c) 2003-2005, Jouni Malinen <j@w1.fi> 4e5b75505Sopenharmony_ci * 5e5b75505Sopenharmony_ci * This software may be distributed under the terms of the BSD license. 6e5b75505Sopenharmony_ci * See README for more details. 7e5b75505Sopenharmony_ci */ 8e5b75505Sopenharmony_ci 9e5b75505Sopenharmony_ci#ifndef DRIVER_WEXT_H 10e5b75505Sopenharmony_ci#define DRIVER_WEXT_H 11e5b75505Sopenharmony_ci 12e5b75505Sopenharmony_ci#include <net/if.h> 13e5b75505Sopenharmony_ci 14e5b75505Sopenharmony_cistruct wpa_driver_wext_data { 15e5b75505Sopenharmony_ci void *ctx; 16e5b75505Sopenharmony_ci struct netlink_data *netlink; 17e5b75505Sopenharmony_ci int ioctl_sock; 18e5b75505Sopenharmony_ci int mlme_sock; 19e5b75505Sopenharmony_ci char ifname[IFNAMSIZ + 1]; 20e5b75505Sopenharmony_ci char phyname[32]; 21e5b75505Sopenharmony_ci int ifindex; 22e5b75505Sopenharmony_ci int ifindex2; 23e5b75505Sopenharmony_ci int if_removed; 24e5b75505Sopenharmony_ci int if_disabled; 25e5b75505Sopenharmony_ci struct rfkill_data *rfkill; 26e5b75505Sopenharmony_ci u8 *assoc_req_ies; 27e5b75505Sopenharmony_ci size_t assoc_req_ies_len; 28e5b75505Sopenharmony_ci u8 *assoc_resp_ies; 29e5b75505Sopenharmony_ci size_t assoc_resp_ies_len; 30e5b75505Sopenharmony_ci struct wpa_driver_capa capa; 31e5b75505Sopenharmony_ci int has_capability; 32e5b75505Sopenharmony_ci int we_version_compiled; 33e5b75505Sopenharmony_ci 34e5b75505Sopenharmony_ci /* for set_auth_alg fallback */ 35e5b75505Sopenharmony_ci int use_crypt; 36e5b75505Sopenharmony_ci int auth_alg_fallback; 37e5b75505Sopenharmony_ci 38e5b75505Sopenharmony_ci int operstate; 39e5b75505Sopenharmony_ci 40e5b75505Sopenharmony_ci char mlmedev[IFNAMSIZ + 1]; 41e5b75505Sopenharmony_ci 42e5b75505Sopenharmony_ci int scan_complete_events; 43e5b75505Sopenharmony_ci 44e5b75505Sopenharmony_ci int cfg80211; /* whether driver is using cfg80211 */ 45e5b75505Sopenharmony_ci 46e5b75505Sopenharmony_ci u8 max_level; 47e5b75505Sopenharmony_ci}; 48e5b75505Sopenharmony_ci 49e5b75505Sopenharmony_ciint wpa_driver_wext_get_bssid(void *priv, u8 *bssid); 50e5b75505Sopenharmony_ciint wpa_driver_wext_set_bssid(void *priv, const u8 *bssid); 51e5b75505Sopenharmony_ciint wpa_driver_wext_get_ssid(void *priv, u8 *ssid); 52e5b75505Sopenharmony_ciint wpa_driver_wext_set_ssid(void *priv, const u8 *ssid, size_t ssid_len); 53e5b75505Sopenharmony_ciint wpa_driver_wext_set_freq(void *priv, int freq); 54e5b75505Sopenharmony_ciint wpa_driver_wext_set_mode(void *priv, int mode); 55e5b75505Sopenharmony_ciint wpa_driver_wext_set_key(const char *ifname, void *priv, enum wpa_alg alg, 56e5b75505Sopenharmony_ci const u8 *addr, int key_idx, 57e5b75505Sopenharmony_ci int set_tx, const u8 *seq, size_t seq_len, 58e5b75505Sopenharmony_ci const u8 *key, size_t key_len); 59e5b75505Sopenharmony_ciint wpa_driver_wext_scan(void *priv, struct wpa_driver_scan_params *params); 60e5b75505Sopenharmony_cistruct wpa_scan_results * wpa_driver_wext_get_scan_results(void *priv); 61e5b75505Sopenharmony_ci 62e5b75505Sopenharmony_civoid wpa_driver_wext_scan_timeout(void *eloop_ctx, void *timeout_ctx); 63e5b75505Sopenharmony_ci 64e5b75505Sopenharmony_ciint wpa_driver_wext_alternative_ifindex(struct wpa_driver_wext_data *drv, 65e5b75505Sopenharmony_ci const char *ifname); 66e5b75505Sopenharmony_ci 67e5b75505Sopenharmony_civoid * wpa_driver_wext_init(void *ctx, const char *ifname); 68e5b75505Sopenharmony_civoid wpa_driver_wext_deinit(void *priv); 69e5b75505Sopenharmony_ci 70e5b75505Sopenharmony_ciint wpa_driver_wext_set_operstate(void *priv, int state); 71e5b75505Sopenharmony_ciint wpa_driver_wext_get_version(struct wpa_driver_wext_data *drv); 72e5b75505Sopenharmony_ci 73e5b75505Sopenharmony_ciint wpa_driver_wext_associate(void *priv, 74e5b75505Sopenharmony_ci struct wpa_driver_associate_params *params); 75e5b75505Sopenharmony_ciint wpa_driver_wext_get_capa(void *priv, struct wpa_driver_capa *capa); 76e5b75505Sopenharmony_ciint wpa_driver_wext_set_auth_param(struct wpa_driver_wext_data *drv, 77e5b75505Sopenharmony_ci int idx, u32 value); 78e5b75505Sopenharmony_ciint wpa_driver_wext_cipher2wext(int cipher); 79e5b75505Sopenharmony_ciint wpa_driver_wext_keymgmt2wext(int keymgmt); 80e5b75505Sopenharmony_ci 81e5b75505Sopenharmony_ci#endif /* DRIVER_WEXT_H */ 82