eap_method Struct Reference

EAP method interface. More...

#include <eap_i.h>

Collaboration diagram for eap_method:

Collaboration graph
[legend]

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)
u8 *(* buildReq )(struct eap_sm *sm, void *priv, int id, size_t *reqDataLen)
int(* getTimeout )(struct eap_sm *sm, void *priv)
Boolean(* check )(struct eap_sm *sm, void *priv, u8 *respData, size_t respDataLen)
void(* process )(struct eap_sm *sm, void *priv, u8 *respData, size_t respDataLen)
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.
eap_methodnext
 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).

Detailed Description

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 30 of file eap_i.h.


Field Documentation

void(* eap_method::free)(struct eap_method *method)
 

Free EAP method data.

Parameters:
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).

Parameters:
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
Returns:
EMSK or NULL if not available
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
 

Pointer to the next EAP method.

This variable is used internally in the EAP method registration code to create a linked list of registered EAP methods.

Definition at line 87 of file eap_i.h.

int eap_method::version
 

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.

Definition at line 78 of file eap_i.h.


The documentation for this struct was generated from the following file:
Generated on Sun Dec 31 13:46:25 2006 for hostapd by  doxygen 1.4.2