yuezonghe | 824eb0c | 2024-06-27 02:32:26 -0700 | [diff] [blame^] | 1 | /* |
| 2 | * EAP proxy definitions |
| 3 | * Copyright (c) 2011-2013 Qualcomm Atheros, Inc. |
| 4 | * |
| 5 | * This software may be distributed under the terms of the BSD license. |
| 6 | * See README for more details. |
| 7 | */ |
| 8 | |
| 9 | #ifndef EAP_PROXY_H |
| 10 | #define EAP_PROXY_H |
| 11 | |
| 12 | struct eap_proxy_sm; |
| 13 | struct eapol_callbacks; |
| 14 | struct eap_sm; |
| 15 | struct eap_peer_config; |
| 16 | |
| 17 | enum eap_proxy_status { |
| 18 | EAP_PROXY_FAILURE = 0x00, |
| 19 | EAP_PROXY_SUCCESS |
| 20 | }; |
| 21 | |
| 22 | struct eap_proxy_sm * |
| 23 | eap_proxy_init(void *eapol_ctx, struct eapol_callbacks *eapol_cb, |
| 24 | void *msg_ctx); |
| 25 | |
| 26 | void eap_proxy_deinit(struct eap_proxy_sm *eap_proxy); |
| 27 | |
| 28 | int eap_proxy_key_available(struct eap_proxy_sm *sm); |
| 29 | |
| 30 | const u8 * eap_proxy_get_eapKeyData(struct eap_proxy_sm *sm, size_t *len); |
| 31 | |
| 32 | struct wpabuf * eap_proxy_get_eapRespData(struct eap_proxy_sm *sm); |
| 33 | |
| 34 | int eap_proxy_sm_step(struct eap_proxy_sm *sm, struct eap_sm *eap_sm); |
| 35 | |
| 36 | enum eap_proxy_status |
| 37 | eap_proxy_packet_update(struct eap_proxy_sm *eap_proxy, u8 *eapReqData, |
| 38 | int eapReqDataLen); |
| 39 | |
| 40 | int eap_proxy_sm_get_status(struct eap_proxy_sm *sm, char *buf, size_t buflen, |
| 41 | int verbose); |
| 42 | |
| 43 | int eap_proxy_get_imsi(struct eap_proxy_sm *eap_proxy, char *imsi_buf, |
| 44 | size_t *imsi_len); |
| 45 | |
| 46 | int eap_proxy_notify_config(struct eap_proxy_sm *sm, |
| 47 | struct eap_peer_config *config); |
| 48 | |
| 49 | #endif /* EAP_PROXY_H */ |