EAP method interface. More...
#include <eap_i.h>
Data Fields | |
int | vendor |
EapType | method |
const char * | name |
void *(* | init )(struct eap_sm *sm) |
void *(* | initPickUp )(struct eap_sm *sm) |
void(* | reset )(struct eap_sm *sm, void *priv) |
struct wpabuf *(* | buildReq )(struct eap_sm *sm, void *priv, u8 id) |
int(* | getTimeout )(struct eap_sm *sm, void *priv) |
Boolean(* | check )(struct eap_sm *sm, void *priv, struct wpabuf *respData) |
void(* | process )(struct eap_sm *sm, void *priv, struct wpabuf *respData) |
Boolean(* | isDone )(struct eap_sm *sm, void *priv) |
u8 *(* | getKey )(struct eap_sm *sm, void *priv, size_t *len) |
Boolean(* | isSuccess )(struct eap_sm *sm, void *priv) |
void(* | free )(struct eap_method *method) |
Free EAP method data. | |
int | version |
Version of the EAP server method interface. | |
struct eap_method * | next |
Pointer to the next EAP method. | |
u8 *(* | get_emsk )(struct eap_sm *sm, void *priv, size_t *len) |
Get EAP method specific keying extended material (EMSK). |
EAP method interface.
This structure defines the EAP method interface. Each method will need to register its own EAP type, EAP name, and set of function pointers for method specific operations. This interface is based on section 5.4 of RFC 4137.
Definition at line 32 of file eap_i.h.
void(* eap_method::free)(struct eap_method *method) |
Free EAP method data.
method | Pointer to the method data registered with eap_server_method_register(). |
This function will be called when the EAP method is being unregistered. If the EAP method allocated resources during registration (e.g., allocated struct eap_method), they should be freed in this function. No other method functions will be called after this call. If this function is not defined (i.e., function pointer is NULL), a default handler is used to release the method data with free(method). This is suitable for most cases.
u8*(* eap_method::get_emsk)(struct eap_sm *sm, void *priv, size_t *len) |
Get EAP method specific keying extended material (EMSK).
sm | Pointer to EAP state machine allocated with eap_sm_init() | |
priv | Pointer to private EAP method data from eap_method::init() | |
len | Pointer to a variable to store EMSK length |
This function can be used to get the extended keying material from the EAP method. The key may already be stored in the method-specific private data or this function may derive the key.
struct eap_method* eap_method::next [read] |
Version of the EAP server method interface.
The EAP server method implementation should set this variable to EAP_SERVER_METHOD_INTERFACE_VERSION. This is used to verify that the EAP method is using supported API version when using dynamically loadable EAP methods.