#ifndef _EAP_PEAP_H
#define _EAP_PEAP_H
#include <freeradius-devel/ident.h>
RCSIDH(eap_peap_h, "$Id$")
#include "eap_tls.h"
#include <freeradius-devel/soh.h>
typedef struct peap_tunnel_t {
VALUE_PAIR *username;
VALUE_PAIR *state;
VALUE_PAIR *accept_vps;
int status;
int home_access_accept;
int default_eap_type;
int copy_request_to_tunnel;
int use_tunneled_reply;
int proxy_tunneled_request_as_eap;
const char *virtual_server;
int soh;
const char *soh_virtual_server;
VALUE_PAIR *soh_reply_vps;
int session_resumption_state;
} peap_tunnel_t;
#define PEAP_STATUS_INVALID 0
#define PEAP_STATUS_SENT_TLV_SUCCESS 1
#define PEAP_STATUS_SENT_TLV_FAILURE 2
#define PEAP_STATUS_TUNNEL_ESTABLISHED 3
#define PEAP_STATUS_INNER_IDENTITY_REQ_SENT 4
#define PEAP_STATUS_PHASE2_INIT 5
#define PEAP_STATUS_PHASE2 6
#define PEAP_STATUS_WAIT_FOR_SOH_RESPONSE 7
#define PEAP_RESUMPTION_NO (0)
#define PEAP_RESUMPTION_YES (1)
#define PEAP_RESUMPTION_MAYBE (2)
#define EAP_TLV_SUCCESS (1)
#define EAP_TLV_FAILURE (2)
#define EAP_TLV_ACK_RESULT (3)
#define PW_EAP_TLV 33
int eappeap_process(EAP_HANDLER *handler, tls_session_t *tls_session);
#endif