yuezonghe | 824eb0c | 2024-06-27 02:32:26 -0700 | [diff] [blame^] | 1 | /* |
| 2 | * EAP common peer/server definitions |
| 3 | * Copyright (c) 2004-2014, Jouni Malinen <j@w1.fi> |
| 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_COMMON_H |
| 10 | #define EAP_COMMON_H |
| 11 | |
| 12 | #include "wpabuf.h" |
| 13 | |
| 14 | struct erp_tlvs { |
| 15 | const u8 *keyname; |
| 16 | const u8 *domain; |
| 17 | |
| 18 | u8 keyname_len; |
| 19 | u8 domain_len; |
| 20 | }; |
| 21 | |
| 22 | int eap_hdr_len_valid(const struct wpabuf *msg, size_t min_payload); |
| 23 | const u8 * eap_hdr_validate(int vendor, EapType eap_type, |
| 24 | const struct wpabuf *msg, size_t *plen); |
| 25 | struct wpabuf * eap_msg_alloc(int vendor, EapType type, size_t payload_len, |
| 26 | u8 code, u8 identifier); |
| 27 | void eap_update_len(struct wpabuf *msg); |
| 28 | u8 eap_get_id(const struct wpabuf *msg); |
| 29 | EapType eap_get_type(const struct wpabuf *msg); |
| 30 | int erp_parse_tlvs(const u8 *pos, const u8 *end, struct erp_tlvs *tlvs, |
| 31 | int stop_at_keyname); |
| 32 | |
| 33 | #endif /* EAP_COMMON_H */ |