1526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt/* 2526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt * WPA Supplicant - Client mode MLME 3526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt * Copyright (c) 2003-2007, Jouni Malinen <j@w1.fi> 4526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt * Copyright (c) 2004, Instant802 Networks, Inc. 5526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt * Copyright (c) 2005-2006, Devicescape Software, Inc. 6526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt * 7526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt * This program is free software; you can redistribute it and/or modify 8526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt * it under the terms of the GNU General Public License version 2 as 9526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt * published by the Free Software Foundation. 10526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt * 11526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt * Alternatively, this software may be distributed under the terms of BSD 12526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt * license. 13526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt * 14526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt * See README and COPYING for more details. 15526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt */ 16526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt 17526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt#ifndef MLME_H 18526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt#define MLME_H 19526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt 20526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtstruct wpa_supplicant; 21526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt 22526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt#ifdef CONFIG_CLIENT_MLME 23526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt 24526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtint ieee80211_sta_init(struct wpa_supplicant *wpa_s); 25526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtvoid ieee80211_sta_deinit(struct wpa_supplicant *wpa_s); 26526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtint ieee80211_sta_req_scan(struct wpa_supplicant *wpa_s, const u8 *ssid, 27526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt size_t ssid_len); 28526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtint ieee80211_sta_deauthenticate(struct wpa_supplicant *wpa_s, u16 reason); 29526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtint ieee80211_sta_disassociate(struct wpa_supplicant *wpa_s, u16 reason); 30526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtint ieee80211_sta_associate(struct wpa_supplicant *wpa_s, 31526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt struct wpa_driver_associate_params *params); 32526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtint ieee80211_sta_get_ssid(struct wpa_supplicant *wpa_s, u8 *ssid, 33526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt size_t *len); 34526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtvoid ieee80211_sta_free_hw_features(struct wpa_hw_modes *hw_features, 35526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt size_t num_hw_features); 36526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtvoid ieee80211_sta_rx(struct wpa_supplicant *wpa_s, const u8 *buf, size_t len, 37526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt struct ieee80211_rx_status *rx_status); 38526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtstruct wpa_scan_results * 39526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtieee80211_sta_get_scan_results(struct wpa_supplicant *wpa_s); 40526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtint ieee80211_sta_update_ft_ies(struct wpa_supplicant *wpa_s, const u8 *md, 41526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt const u8 *ies, size_t ies_len); 42526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtint ieee80211_sta_send_ft_action(struct wpa_supplicant *wpa_s, u8 action, 43526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt const u8 *target_ap, 44526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt const u8 *ies, size_t ies_len); 45526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtint ieee80211_sta_set_probe_req_ie(struct wpa_supplicant *wpa_s, const u8 *ies, 46526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt size_t ies_len); 47526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt 48526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt#else /* CONFIG_CLIENT_MLME */ 49526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt 50526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtstatic inline int ieee80211_sta_init(struct wpa_supplicant *wpa_s) 51526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt{ 52526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt return 0; 53526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt} 54526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt 55526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtstatic inline void ieee80211_sta_deinit(struct wpa_supplicant *wpa_s) 56526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt{ 57526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt} 58526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt 59526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtstatic inline int ieee80211_sta_req_scan(struct wpa_supplicant *wpa_s, 60526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt const u8 *ssid, size_t ssid_len) 61526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt{ 62526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt return -1; 63526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt} 64526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt 65526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtstatic inline int ieee80211_sta_deauthenticate(struct wpa_supplicant *wpa_s, 66526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt u16 reason) 67526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt{ 68526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt return -1; 69526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt} 70526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt 71526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtstatic inline int ieee80211_sta_disassociate(struct wpa_supplicant *wpa_s, 72526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt u16 reason) 73526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt{ 74526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt return -1; 75526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt} 76526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt 77526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtstatic inline int 78526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtieee80211_sta_associate(struct wpa_supplicant *wpa_s, 79526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt struct wpa_driver_associate_params *params) 80526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt{ 81526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt return -1; 82526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt} 83526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt 84526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtstatic inline int ieee80211_sta_get_ssid(struct wpa_supplicant *wpa_s, 85526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt u8 *ssid, size_t *len) 86526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt{ 87526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt return -1; 88526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt} 89526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt 90526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtstatic inline void 91526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtieee80211_sta_free_hw_features(struct wpa_hw_modes *hw_features, 92526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt size_t num_hw_features) 93526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt{ 94526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt} 95526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt 96526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtstatic inline void 97526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtieee80211_sta_rx(struct wpa_supplicant *wpa_s, const u8 *buf, size_t len, 98526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt struct ieee80211_rx_status *rx_status) 99526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt{ 100526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt} 101526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt 102526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtstatic inline struct wpa_scan_results * 103526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtieee80211_sta_get_scan_results(struct wpa_supplicant *wpa_s) 104526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt{ 105526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt return NULL; 106526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt} 107526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt 108526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtstatic inline int 109526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtieee80211_sta_update_ft_ies(struct wpa_supplicant *wpa_s, const u8 *md, 110526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt const u8 *ies, size_t ies_len) 111526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt{ 112526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt return -1; 113526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt} 114526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt 115526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtstatic inline int 116526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtieee80211_sta_send_ft_action(struct wpa_supplicant *wpa_s, u8 action, 117526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt const u8 *target_ap, 118526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt const u8 *ies, size_t ies_len) 119526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt{ 120526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt return -1; 121526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt} 122526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt 123526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtstatic inline int 124526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidtieee80211_sta_set_probe_req_ie(struct wpa_supplicant *wpa_s, const u8 *ies, 125526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt size_t ies_len) 126526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt{ 127526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt return -1; 128526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt} 129526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt 130526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt#endif /* CONFIG_CLIENT_MLME */ 131526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt 132526fc2a7dc09b4450086cdec313a5c44d36b10fdDmitry Shmidt#endif /* MLME_H */ 133