18d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/*
28d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * EAP common peer/server definitions
361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt * Copyright (c) 2004-2012, Jouni Malinen <j@w1.fi>
48d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt *
5c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * This software may be distributed under the terms of the BSD license.
6c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * See README for more details.
78d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */
88d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
98d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifndef EAP_COMMON_H
108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define EAP_COMMON_H
118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#include "wpabuf.h"
138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtint eap_hdr_len_valid(const struct wpabuf *msg, size_t min_payload);
158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtconst u8 * eap_hdr_validate(int vendor, EapType eap_type,
168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt			    const struct wpabuf *msg, size_t *plen);
178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtstruct wpabuf * eap_msg_alloc(int vendor, EapType type, size_t payload_len,
188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt			      u8 code, u8 identifier);
198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtvoid eap_update_len(struct wpabuf *msg);
208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtu8 eap_get_id(const struct wpabuf *msg);
218d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtEapType eap_get_type(const struct wpabuf *msg);
228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* EAP_COMMON_H */
24