00001
00016 #ifndef WPA_SUPPLICANT_H
00017 #define WPA_SUPPLICANT_H
00018
00019
00020
00021
00022 struct wpa_supplicant;
00023
00027 typedef enum wpa_event_type {
00041 EVENT_ASSOC,
00042
00051 EVENT_DISASSOC,
00052
00063 EVENT_MICHAEL_MIC_FAILURE,
00064
00079 EVENT_SCAN_RESULTS,
00080
00093 EVENT_ASSOCINFO,
00094
00105 EVENT_INTERFACE_STATUS,
00106
00132 EVENT_PMKID_CANDIDATE
00133 } wpa_event_type;
00134
00135
00139 union wpa_event_data {
00149 struct assoc_info {
00162 u8 *req_ies;
00163
00168 size_t req_ies_len;
00169
00182 u8 *resp_ies;
00183
00188 size_t resp_ies_len;
00189
00207 u8 *beacon_ies;
00208
00212 size_t beacon_ies_len;
00213 } assoc_info;
00214
00219 struct michael_mic_failure {
00220 int unicast;
00221 } michael_mic_failure;
00222
00227 struct interface_status {
00228 char ifname[20];
00229 enum {
00230 EVENT_INTERFACE_ADDED, EVENT_INTERFACE_REMOVED
00231 } ievent;
00232 } interface_status;
00233
00238 struct pmkid_candidate {
00240 u8 bssid[ETH_ALEN];
00242 int index;
00244 int preauth;
00245 } pmkid_candidate;
00246 };
00247
00259 void wpa_supplicant_event(struct wpa_supplicant *wpa_s, wpa_event_type event,
00260 union wpa_event_data *data);
00261
00277 void wpa_msg(struct wpa_supplicant *wpa_s, int level, char *fmt, ...)
00278 __attribute__ ((format (printf, 3, 4)));
00279
00280 const char * wpa_ssid_txt(u8 *ssid, size_t ssid_len);
00281
00292 void wpa_supplicant_rx_eapol(void *ctx, const u8 *src_addr,
00293 const u8 *buf, size_t len);
00294
00295 #endif
00296