Home | History | Annotate | Download | only in wpa_supplicant
      1 /*
      2  * WPA Supplicant - Client mode MLME
      3  * Copyright (c) 2003-2007, Jouni Malinen <j (at) w1.fi>
      4  * Copyright (c) 2004, Instant802 Networks, Inc.
      5  * Copyright (c) 2005-2006, Devicescape Software, Inc.
      6  *
      7  * This program is free software; you can redistribute it and/or modify
      8  * it under the terms of the GNU General Public License version 2 as
      9  * published by the Free Software Foundation.
     10  *
     11  * Alternatively, this software may be distributed under the terms of BSD
     12  * license.
     13  *
     14  * See README and COPYING for more details.
     15  */
     16 
     17 #ifndef MLME_H
     18 #define MLME_H
     19 
     20 struct wpa_supplicant;
     21 
     22 struct ieee80211_rx_status {
     23 	int freq;
     24         int channel;
     25         int ssi;
     26 };
     27 
     28 #ifdef CONFIG_CLIENT_MLME
     29 
     30 int ieee80211_sta_init(struct wpa_supplicant *wpa_s);
     31 void ieee80211_sta_deinit(struct wpa_supplicant *wpa_s);
     32 int ieee80211_sta_req_scan(struct wpa_supplicant *wpa_s,
     33 			   struct wpa_driver_scan_params *params);
     34 int ieee80211_sta_deauthenticate(struct wpa_supplicant *wpa_s, u16 reason);
     35 int ieee80211_sta_disassociate(struct wpa_supplicant *wpa_s, u16 reason);
     36 int ieee80211_sta_associate(struct wpa_supplicant *wpa_s,
     37 			    struct wpa_driver_associate_params *params);
     38 int ieee80211_sta_get_ssid(struct wpa_supplicant *wpa_s, u8 *ssid,
     39 			   size_t *len);
     40 void ieee80211_sta_rx(struct wpa_supplicant *wpa_s, const u8 *buf, size_t len,
     41 		      struct ieee80211_rx_status *rx_status);
     42 struct wpa_scan_results *
     43 ieee80211_sta_get_scan_results(struct wpa_supplicant *wpa_s);
     44 int ieee80211_sta_update_ft_ies(struct wpa_supplicant *wpa_s, const u8 *md,
     45 				const u8 *ies, size_t ies_len);
     46 int ieee80211_sta_send_ft_action(struct wpa_supplicant *wpa_s, u8 action,
     47 				 const u8 *target_ap,
     48 				 const u8 *ies, size_t ies_len);
     49 
     50 #else /* CONFIG_CLIENT_MLME */
     51 
     52 static inline int ieee80211_sta_init(struct wpa_supplicant *wpa_s)
     53 {
     54 	return 0;
     55 }
     56 
     57 static inline void ieee80211_sta_deinit(struct wpa_supplicant *wpa_s)
     58 {
     59 }
     60 
     61 static inline int ieee80211_sta_req_scan(struct wpa_supplicant *wpa_s,
     62 					 struct wpa_driver_scan_params *params)
     63 {
     64 	return -1;
     65 }
     66 
     67 static inline int ieee80211_sta_deauthenticate(struct wpa_supplicant *wpa_s,
     68 					       u16 reason)
     69 {
     70 	return -1;
     71 }
     72 
     73 static inline int ieee80211_sta_disassociate(struct wpa_supplicant *wpa_s,
     74 					     u16 reason)
     75 {
     76 	return -1;
     77 }
     78 
     79 static inline int
     80 ieee80211_sta_associate(struct wpa_supplicant *wpa_s,
     81 			struct wpa_driver_associate_params *params)
     82 {
     83 	return -1;
     84 }
     85 
     86 static inline int ieee80211_sta_get_ssid(struct wpa_supplicant *wpa_s,
     87 					 u8 *ssid, size_t *len)
     88 {
     89 	return -1;
     90 }
     91 
     92 static inline void
     93 ieee80211_sta_rx(struct wpa_supplicant *wpa_s, const u8 *buf, size_t len,
     94 		 struct ieee80211_rx_status *rx_status)
     95 {
     96 }
     97 
     98 static inline struct wpa_scan_results *
     99 ieee80211_sta_get_scan_results(struct wpa_supplicant *wpa_s)
    100 {
    101 	return NULL;
    102 }
    103 
    104 static inline int
    105 ieee80211_sta_update_ft_ies(struct wpa_supplicant *wpa_s, const u8 *md,
    106 			    const u8 *ies, size_t ies_len)
    107 {
    108 	return -1;
    109 }
    110 
    111 static inline int
    112 ieee80211_sta_send_ft_action(struct wpa_supplicant *wpa_s, u8 action,
    113 			     const u8 *target_ap,
    114 			     const u8 *ies, size_t ies_len)
    115 {
    116 	return -1;
    117 }
    118 
    119 #endif /* CONFIG_CLIENT_MLME */
    120 
    121 #endif /* MLME_H */
    122