⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wpa_supplicant.h

📁 WLAN无线网络管理的最新程序
💻 H
字号:
/* * wpa_supplicant - Exported functions for wpa_supplicant modules * Copyright (c) 2003-2005, Jouni Malinen <j@w1.fi> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * Alternatively, this software may be distributed under the terms of BSD * license. * * See README and COPYING for more details. */#ifndef WPA_SUPPLICANT_H#define WPA_SUPPLICANT_H/* Driver wrappers are not supposed to directly touch the internal data * structure used in wpa_supplicant, so that definition is not provided here. */struct wpa_supplicant;/** * enum wpa_event_type - Event type for wpa_supplicant_event() calls */typedef enum wpa_event_type {	/**	 * EVENT_ASSOC - Association completed	 *	 * This event needs to be delivered when the driver completes IEEE	 * 802.11 association or reassociation successfully.	 * wpa_driver_ops::get_bssid() is expected to provide the current BSSID	 * after this even has been generated. In addition, optional	 * EVENT_ASSOCINFO may be generated just before EVENT_ASSOC to provide	 * more information about the association. If the driver interface gets	 * both of these events at the same time, it can also include the	 * assoc_info data in EVENT_ASSOC call.	 */	EVENT_ASSOC,	/**	 * EVENT_DISASSOC - Association lost	 *	 * This event should be called when association is lost either due to	 * receiving deauthenticate or disassociate frame from the AP or when	 * sending either of these frames to the current AP.	 */	EVENT_DISASSOC,	/**	 * EVENT_MICHAEL_MIC_FAILURE - Michael MIC (TKIP) detected	 *	 * This event must be delivered when a Michael MIC error is detected by	 * the local driver. Additional data is for event processing is	 * provided with union wpa_event_data::michael_mic_failure. This	 * information is used to request new encyption key and to initiate	 * TKIP countermeasures if needed.	 */	EVENT_MICHAEL_MIC_FAILURE,	/**	 * EVENT_SCAN_RESULTS - Scan results available	 *	 * This event must be called whenever scan results are available to be	 * fetched with struct wpa_driver_ops::get_scan_results(). This event	 * is expected to be used some time after struct wpa_driver_ops::scan()	 * is called. If the driver provides an unsolicited event when the scan	 * has been completed, this event can be used to trigger	 * EVENT_SCAN_RESULTS call. If such event is not available from the	 * driver, the driver wrapper code is expected to use a registered	 * timeout to generate EVENT_SCAN_RESULTS call after the time that the	 * scan is expected to be completed.	 */	EVENT_SCAN_RESULTS,	/**	 * EVENT_ASSOCINFO - Report optional extra information for association	 *	 * This event can be used to report extra association information for	 * EVENT_ASSOC processing. This extra information includes IEs from	 * association frames and Beacon/Probe Response frames in union	 * wpa_event_data::assoc_info. EVENT_ASSOCINFO must be send just before	 * EVENT_ASSOC. Alternatively, the driver interface can include	 * assoc_info data in the EVENT_ASSOC call if it has all the	 * information available at the same point.	 */	EVENT_ASSOCINFO,	/**	 * EVENT_INTERFACE_STATUS - Report interface status changes	 *	 * This optional event can be used to report changes in interface	 * status (interface added/removed) using union	 * wpa_event_data::interface_status. This can be used to trigger	 * wpa_supplicant to stop and re-start processing for the interface,	 * e.g., when a cardbus card is ejected/inserted.	 */	EVENT_INTERFACE_STATUS,	/**	 * EVENT_PMKID_CANDIDATE - Report a candidate AP for pre-authentication	 *	 * This event can be used to inform wpa_supplicant about candidates for	 * RSN (WPA2) pre-authentication. If wpa_supplicant is not responsible	 * for scan request (ap_scan=2 mode), this event is required for	 * pre-authentication. If wpa_supplicant is performing scan request	 * (ap_scan=1), this event is optional since scan results can be used	 * to add pre-authentication candidates. union	 * wpa_event_data::pmkid_candidate is used to report the BSSID of the	 * candidate and priority of the candidate, e.g., based on the signal	 * strength, in order to try to pre-authenticate first with candidates	 * that are most likely targets for re-association.	 *	 * EVENT_PMKID_CANDIDATE can be called whenever the driver has updates	 * on the candidate list. In addition, it can be called for the current	 * AP and APs that have existing PMKSA cache entries. wpa_supplicant	 * will automatically skip pre-authentication in cases where a valid	 * PMKSA exists. When more than one candidate exists, this event should	 * be generated once for each candidate.	 *	 * Driver will be notified about successful pre-authentication with	 * struct wpa_driver_ops::add_pmkid() calls.	 */	EVENT_PMKID_CANDIDATE,	/**	 * EVENT_STKSTART - Request STK handshake (MLME-STKSTART.request)	 *	 * This event can be used to inform wpa_supplicant about desire to set	 * up secure direct link connection between two stations as defined in	 * IEEE 802.11e with a new PeerKey mechanism that replaced the original	 * STAKey negotiation. The caller will need to set peer address for the	 * event.	 */	EVENT_STKSTART} wpa_event_type;/** * union wpa_event_data - Additional data for wpa_supplicant_event() calls */union wpa_event_data {	/**	 * struct assoc_info - Data for EVENT_ASSOC and EVENT_ASSOCINFO events	 *	 * This structure is optional for EVENT_ASSOC calls and required for	 * EVENT_ASSOCINFO calls. By using EVENT_ASSOC with this data, the	 * driver interface does not need to generate separate EVENT_ASSOCINFO	 * calls.	 */	struct assoc_info {		/**		 * req_ies - (Re)Association Request IEs		 *		 * If the driver generates WPA/RSN IE, this event data must be		 * returned for WPA handshake to have needed information. If		 * wpa_supplicant-generated WPA/RSN IE is used, this		 * information event is optional.		 *		 * This should start with the first IE (fixed fields before IEs		 * are not included).		 */		u8 *req_ies;		/**		 * req_ies_len - Length of req_ies in bytes		 */		size_t req_ies_len;		/**		 * resp_ies - (Re)Association Response IEs		 *		 * Optional association data from the driver. This data is not		 * required WPA, but may be useful for some protocols and as		 * such, should be reported if this is available to the driver		 * interface.		 *		 * This should start with the first IE (fixed fields before IEs		 * are not included).		 */		u8 *resp_ies;		/**		 * resp_ies_len - Length of resp_ies in bytes		 */		size_t resp_ies_len;		/**		 * beacon_ies - Beacon or Probe Response IEs		 *		 * Optional Beacon/ProbeResp data: IEs included in Beacon or		 * Probe Response frames from the current AP (i.e., the one		 * that the client just associated with). This information is		 * used to update WPA/RSN IE for the AP. If this field is not		 * set, the results from previous scan will be used. If no		 * data for the new AP is found, scan results will be requested		 * again (without scan request). At this point, the driver is		 * expected to provide WPA/RSN IE for the AP (if WPA/WPA2 is		 * used).		 *		 * This should start with the first IE (fixed fields before IEs		 * are not included).		 */		u8 *beacon_ies;		/**		 * beacon_ies_len - Length of beacon_ies */		size_t beacon_ies_len;	} assoc_info;	/**	 * struct michael_mic_failure - Data for EVENT_MICHAEL_MIC_FAILURE	 */	struct michael_mic_failure {		int unicast;	} michael_mic_failure;	/**	 * struct interface_status - Data for EVENT_INTERFACE_STATUS	 */	struct interface_status {		char ifname[100];		enum {			EVENT_INTERFACE_ADDED, EVENT_INTERFACE_REMOVED		} ievent;	} interface_status;	/**	 * struct pmkid_candidate - Data for EVENT_PMKID_CANDIDATE	 */	struct pmkid_candidate {		/** BSSID of the PMKID candidate */		u8 bssid[ETH_ALEN];		/** Smaller the index, higher the priority */		int index;		/** Whether RSN IE includes pre-authenticate flag */		int preauth;	} pmkid_candidate;	/**	 * struct stkstart - Data for EVENT_STKSTART	 */	struct stkstart {		u8 peer[ETH_ALEN];	} stkstart;};/** * wpa_supplicant_event - Report a driver event for wpa_supplicant * @wpa_s: pointer to wpa_supplicant data; this is the ctx variable registered *	with struct wpa_driver_ops::init() * @event: event type (defined above) * @data: possible extra data for the event * * Driver wrapper code should call this function whenever an event is received * from the driver. */void wpa_supplicant_event(struct wpa_supplicant *wpa_s, wpa_event_type event,			  union wpa_event_data *data);/** * wpa_supplicant_rx_eapol - Deliver a received EAPOL frame to wpa_supplicant * @ctx: Context pointer (wpa_s) * @src_addr: Source address of the EAPOL frame * @buf: EAPOL data starting from the EAPOL header (i.e., no Ethernet header) * @len: Length of the EAPOL data * * This function is called for each received EAPOL frame. */void wpa_supplicant_rx_eapol(void *ctx, const u8 *src_addr,			     const u8 *buf, size_t len);#endif /* WPA_SUPPLICANT_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -