| /* |
| * EAP proxy definitions |
| * Copyright (c) 2011-2013 Qualcomm Atheros, Inc. |
| * |
| * This software may be distributed under the terms of the BSD license. |
| * See README for more details. |
| */ |
| |
| #ifndef EAP_PROXY_H |
| #define EAP_PROXY_H |
| |
| struct eap_proxy_sm; |
| struct eapol_callbacks; |
| struct eap_sm; |
| struct eap_peer_config; |
| |
| enum eap_proxy_status { |
| EAP_PROXY_FAILURE = 0x00, |
| EAP_PROXY_SUCCESS |
| }; |
| |
| struct eap_proxy_sm * |
| eap_proxy_init(void *eapol_ctx, struct eapol_callbacks *eapol_cb, |
| void *msg_ctx); |
| |
| void eap_proxy_deinit(struct eap_proxy_sm *eap_proxy); |
| |
| int eap_proxy_key_available(struct eap_proxy_sm *sm); |
| |
| const u8 * eap_proxy_get_eapKeyData(struct eap_proxy_sm *sm, size_t *len); |
| |
| struct wpabuf * eap_proxy_get_eapRespData(struct eap_proxy_sm *sm); |
| |
| int eap_proxy_sm_step(struct eap_proxy_sm *sm, struct eap_sm *eap_sm); |
| |
| enum eap_proxy_status |
| eap_proxy_packet_update(struct eap_proxy_sm *eap_proxy, u8 *eapReqData, |
| int eapReqDataLen); |
| |
| int eap_proxy_sm_get_status(struct eap_proxy_sm *sm, char *buf, size_t buflen, |
| int verbose); |
| |
| int eap_proxy_get_imsi(struct eap_proxy_sm *eap_proxy, char *imsi_buf, |
| size_t *imsi_len); |
| |
| int eap_proxy_notify_config(struct eap_proxy_sm *sm, |
| struct eap_peer_config *config); |
| |
| #endif /* EAP_PROXY_H */ |