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