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

📄 wpa.h

📁 最新的Host AP 新添加了许多pcmcia 的驱动
💻 H
字号:
/* * wpa_supplicant - WPA definitions * Copyright (c) 2003-2007, 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_H#define WPA_H#include "defs.h"#include "eapol_common.h"#include "wpa_common.h"#ifndef ETH_P_EAPOL#define ETH_P_EAPOL 0x888e#endif#ifndef ETH_P_RSN_PREAUTH#define ETH_P_RSN_PREAUTH 0x88c7#endifstruct wpa_sm;struct eapol_sm;struct wpa_config_blob;struct wpa_sm_ctx {	void *ctx; /* pointer to arbitrary upper level context */	void (*set_state)(void *ctx, wpa_states state);	wpa_states (*get_state)(void *ctx);	void (*deauthenticate)(void * ctx, int reason_code); 	void (*disassociate)(void *ctx, int reason_code);	int (*set_key)(void *ctx, wpa_alg alg,		       const u8 *addr, int key_idx, int set_tx,		       const u8 *seq, size_t seq_len,		       const u8 *key, size_t key_len);	void * (*get_network_ctx)(void *ctx);	int (*get_bssid)(void *ctx, u8 *bssid);	int (*ether_send)(void *ctx, const u8 *dest, u16 proto, const u8 *buf,			  size_t len);	int (*get_beacon_ie)(void *ctx);	void (*cancel_auth_timeout)(void *ctx);	u8 * (*alloc_eapol)(void *ctx, u8 type, const void *data, u16 data_len,			    size_t *msg_len, void **data_pos);	int (*add_pmkid)(void *ctx, const u8 *bssid, const u8 *pmkid);	int (*remove_pmkid)(void *ctx, const u8 *bssid, const u8 *pmkid);	void (*set_config_blob)(void *ctx, struct wpa_config_blob *blob);	const struct wpa_config_blob * (*get_config_blob)(void *ctx,							  const char *name);	int (*mlme_setprotection)(void *ctx, const u8 *addr,				  int protection_type, int key_type);	int (*update_ft_ies)(void *ctx, const u8 *md, const u8 *ies,			     size_t ies_len);	int (*send_ft_action)(void *ctx, u8 action, const u8 *target_ap,			      const u8 *ies, size_t ies_len);};enum wpa_sm_conf_params {	RSNA_PMK_LIFETIME /* dot11RSNAConfigPMKLifetime */,	RSNA_PMK_REAUTH_THRESHOLD /* dot11RSNAConfigPMKReauthThreshold */,	RSNA_SA_TIMEOUT /* dot11RSNAConfigSATimeout */,	WPA_PARAM_PROTO,	WPA_PARAM_PAIRWISE,	WPA_PARAM_GROUP,	WPA_PARAM_KEY_MGMT,	WPA_PARAM_MGMT_GROUP,	WPA_PARAM_RSN_ENABLED};struct rsn_supp_config {	void *network_ctx;	int peerkey_enabled;	int allowed_pairwise_cipher; /* bitfield of WPA_CIPHER_* */	int proactive_key_caching;	int eap_workaround;	void *eap_conf_ctx;	const u8 *ssid;	size_t ssid_len;	int wpa_ptk_rekey;};#ifndef CONFIG_NO_WPAstruct wpa_sm * wpa_sm_init(struct wpa_sm_ctx *ctx);void wpa_sm_deinit(struct wpa_sm *sm);void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid);void wpa_sm_notify_disassoc(struct wpa_sm *sm);void wpa_sm_set_pmk(struct wpa_sm *sm, const u8 *pmk, size_t pmk_len);void wpa_sm_set_pmk_from_pmksa(struct wpa_sm *sm);void wpa_sm_set_fast_reauth(struct wpa_sm *sm, int fast_reauth);void wpa_sm_set_scard_ctx(struct wpa_sm *sm, void *scard_ctx);void wpa_sm_set_config(struct wpa_sm *sm, struct rsn_supp_config *config);void wpa_sm_set_own_addr(struct wpa_sm *sm, const u8 *addr);void wpa_sm_set_ifname(struct wpa_sm *sm, const char *ifname,		       const char *bridge_ifname);void wpa_sm_set_eapol(struct wpa_sm *sm, struct eapol_sm *eapol);int wpa_sm_set_assoc_wpa_ie(struct wpa_sm *sm, const u8 *ie, size_t len);int wpa_sm_set_assoc_wpa_ie_default(struct wpa_sm *sm, u8 *wpa_ie,				    size_t *wpa_ie_len);int wpa_sm_set_ap_wpa_ie(struct wpa_sm *sm, const u8 *ie, size_t len);int wpa_sm_set_ap_rsn_ie(struct wpa_sm *sm, const u8 *ie, size_t len);int wpa_sm_get_mib(struct wpa_sm *sm, char *buf, size_t buflen);int wpa_sm_set_param(struct wpa_sm *sm, enum wpa_sm_conf_params param,		     unsigned int value);unsigned int wpa_sm_get_param(struct wpa_sm *sm,			      enum wpa_sm_conf_params param);int wpa_sm_get_status(struct wpa_sm *sm, char *buf, size_t buflen,		      int verbose);void wpa_sm_key_request(struct wpa_sm *sm, int error, int pairwise);int wpa_parse_wpa_ie(const u8 *wpa_ie, size_t wpa_ie_len,		     struct wpa_ie_data *data);void wpa_sm_aborted_cached(struct wpa_sm *sm);int wpa_sm_rx_eapol(struct wpa_sm *sm, const u8 *src_addr,		    const u8 *buf, size_t len);int wpa_sm_parse_own_wpa_ie(struct wpa_sm *sm, struct wpa_ie_data *data);#else /* CONFIG_NO_WPA */static inline struct wpa_sm * wpa_sm_init(struct wpa_sm_ctx *ctx){	return (struct wpa_sm *) 1;}static inline void wpa_sm_deinit(struct wpa_sm *sm){}static inline void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid){}static inline void wpa_sm_notify_disassoc(struct wpa_sm *sm){}static inline void wpa_sm_set_pmk(struct wpa_sm *sm, const u8 *pmk,				  size_t pmk_len){}static inline void wpa_sm_set_pmk_from_pmksa(struct wpa_sm *sm){}static inline void wpa_sm_set_fast_reauth(struct wpa_sm *sm, int fast_reauth){}static inline void wpa_sm_set_scard_ctx(struct wpa_sm *sm, void *scard_ctx){}static inline void wpa_sm_set_config(struct wpa_sm *sm,				     struct rsn_supp_config *config){}static inline void wpa_sm_set_own_addr(struct wpa_sm *sm, const u8 *addr){}static inline void wpa_sm_set_ifname(struct wpa_sm *sm, const char *ifname,				     const char *bridge_ifname){}static inline void wpa_sm_set_eapol(struct wpa_sm *sm, struct eapol_sm *eapol){}static inline int wpa_sm_set_assoc_wpa_ie(struct wpa_sm *sm, const u8 *ie,					  size_t len){	return -1;}static inline int wpa_sm_set_assoc_wpa_ie_default(struct wpa_sm *sm,						  u8 *wpa_ie,						  size_t *wpa_ie_len){	return -1;}static inline int wpa_sm_set_ap_wpa_ie(struct wpa_sm *sm, const u8 *ie,				       size_t len){	return -1;}static inline int wpa_sm_set_ap_rsn_ie(struct wpa_sm *sm, const u8 *ie,				       size_t len){	return -1;}static inline int wpa_sm_get_mib(struct wpa_sm *sm, char *buf, size_t buflen){	return 0;}static inline int wpa_sm_set_param(struct wpa_sm *sm,				   enum wpa_sm_conf_params param,				   unsigned int value){	return -1;}static inline unsigned int wpa_sm_get_param(struct wpa_sm *sm,					    enum wpa_sm_conf_params param){	return 0;}static inline int wpa_sm_get_status(struct wpa_sm *sm, char *buf,				    size_t buflen, int verbose){	return 0;}static inline void wpa_sm_key_request(struct wpa_sm *sm, int error,				      int pairwise){}static inline int wpa_parse_wpa_ie(const u8 *wpa_ie, size_t wpa_ie_len,				   struct wpa_ie_data *data){	return -1;}static inline void wpa_sm_aborted_cached(struct wpa_sm *sm){}static inline int wpa_sm_rx_eapol(struct wpa_sm *sm, const u8 *src_addr,				  const u8 *buf, size_t len){	return -1;}static inline int wpa_sm_parse_own_wpa_ie(struct wpa_sm *sm,					  struct wpa_ie_data *data){	return -1;}#endif /* CONFIG_NO_WPA */#ifdef CONFIG_PEERKEYint wpa_sm_stkstart(struct wpa_sm *sm, const u8 *peer);#else /* CONFIG_PEERKEY */static inline int wpa_sm_stkstart(struct wpa_sm *sm, const u8 *peer){	return -1;}#endif /* CONFIG_PEERKEY */#ifdef CONFIG_IEEE80211Rint wpa_sm_set_ft_params(struct wpa_sm *sm, const u8 *mobility_domain,			 const u8 *r0kh_id, size_t r0kh_id_len,			 const u8 *r1kh_id);int wpa_ft_prepare_auth_request(struct wpa_sm *sm);int wpa_ft_process_response(struct wpa_sm *sm, const u8 *ies, size_t ies_len,			    int ft_action, const u8 *target_ap);int wpa_ft_is_completed(struct wpa_sm *sm);int wpa_ft_validate_reassoc_resp(struct wpa_sm *sm, const u8 *ies,				 size_t ies_len, const u8 *src_addr);int wpa_ft_start_over_ds(struct wpa_sm *sm, const u8 *target_ap);#else /* CONFIG_IEEE80211R */static inline intwpa_sm_set_ft_params(struct wpa_sm *sm, const u8 *mobility_domain,		     const u8 *r0kh_id, const u8 *r1kh_id){	return 0;}static inline int wpa_ft_prepare_auth_request(struct wpa_sm *sm){	return 0;}static inline intwpa_ft_process_response(struct wpa_sm *sm, const u8 *ies, size_t ies_len,			int ft_action, const u8 *target_ap){	return 0;}static inline int wpa_ft_is_completed(struct wpa_sm *sm){	return 0;}static inline intwpa_ft_validate_reassoc_resp(struct wpa_sm *sm, const u8 *ies, size_t ies_len,			     const u8 *src_addr){	return -1;}#endif /* CONFIG_IEEE80211R */#endif /* WPA_H */

⌨️ 快捷键说明

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