1189251Ssam/* 2189251Ssam * EAP common peer/server definitions 3281806Srpaulo * Copyright (c) 2004-2014, Jouni Malinen <j@w1.fi> 4189251Ssam * 5252726Srpaulo * This software may be distributed under the terms of the BSD license. 6252726Srpaulo * See README for more details. 7189251Ssam */ 8189251Ssam 9189251Ssam#ifndef EAP_COMMON_H 10189251Ssam#define EAP_COMMON_H 11189251Ssam 12189251Ssam#include "wpabuf.h" 13189251Ssam 14281806Srpaulostruct erp_tlvs { 15281806Srpaulo const u8 *keyname; 16281806Srpaulo const u8 *domain; 17281806Srpaulo 18281806Srpaulo u8 keyname_len; 19281806Srpaulo u8 domain_len; 20281806Srpaulo}; 21281806Srpaulo 22252726Srpauloint eap_hdr_len_valid(const struct wpabuf *msg, size_t min_payload); 23189251Ssamconst u8 * eap_hdr_validate(int vendor, EapType eap_type, 24189251Ssam const struct wpabuf *msg, size_t *plen); 25189251Ssamstruct wpabuf * eap_msg_alloc(int vendor, EapType type, size_t payload_len, 26189251Ssam u8 code, u8 identifier); 27189251Ssamvoid eap_update_len(struct wpabuf *msg); 28189251Ssamu8 eap_get_id(const struct wpabuf *msg); 29189251SsamEapType eap_get_type(const struct wpabuf *msg); 30281806Srpauloint erp_parse_tlvs(const u8 *pos, const u8 *end, struct erp_tlvs *tlvs, 31281806Srpaulo int stop_at_keyname); 32189251Ssam 33189251Ssam#endif /* EAP_COMMON_H */ 34