📄 eap.h
字号:
#ifndef EAP_H#define EAP_H#include "defs.h"#include "eap_defs.h"struct eap_sm;#define EAP_MAX_METHODS 8struct eap_user { u8 methods[EAP_MAX_METHODS]; u8 *password; size_t password_len; int phase2; int force_version;};enum eapol_bool_var { EAPOL_eapSuccess, EAPOL_eapRestart, EAPOL_eapFail, EAPOL_eapResp, EAPOL_eapReq, EAPOL_eapNoReq, EAPOL_portEnabled, EAPOL_eapTimeout};struct eapol_callbacks { Boolean (*get_bool)(void *ctx, enum eapol_bool_var variable); void (*set_bool)(void *ctx, enum eapol_bool_var variable, Boolean value); void (*set_eapReqData)(void *ctx, const u8 *eapReqData, size_t eapReqDataLen); void (*set_eapKeyData)(void *ctx, const u8 *eapKeyData, size_t eapKeyDataLen); int (*get_eap_user)(void *ctx, const u8 *identity, size_t identity_len, int phase2, struct eap_user *user); const char * (*get_eap_req_id_text)(void *ctx, size_t *len);};struct eap_config { void *ssl_ctx; void *eap_sim_db_priv; Boolean backend_auth;};#ifdef EAP_SERVERstruct eap_sm * eap_sm_init(void *eapol_ctx, struct eapol_callbacks *eapol_cb, struct eap_config *eap_conf);void eap_sm_deinit(struct eap_sm *sm);int eap_sm_step(struct eap_sm *sm);u8 eap_get_type(const char *name);void eap_set_eapRespData(struct eap_sm *sm, const u8 *eapRespData, size_t eapRespDataLen);void eap_sm_notify_cached(struct eap_sm *sm);#else /* EAP_SERVER */static inline struct eap_sm * eap_sm_init(void *eapol_ctx, struct eapol_callbacks *eapol_cb, struct eap_config *eap_conf){ return NULL;}static inline void eap_sm_deinit(struct eap_sm *sm){}static inline int eap_sm_step(struct eap_sm *sm){ return 0;}static inline u8 eap_get_type(const char *name){ return EAP_TYPE_NONE;}static inline void eap_set_eapRespData(struct eap_sm *sm, const u8 *eapRespData, size_t eapRespDataLen){}static inline void eap_sm_notify_cached(struct eap_sm *sm){}#endif /* EAP_SERVER */#endif /* EAP_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -