xpmgr/BuildTools/Include/EapAuthenticatorActionDefine.h

97 lines
2.6 KiB
C

////////////////////////////////////////////////////////////
//
// Copyright (c) Microsoft Corporation.
//
// SYNOPSIS
//
// IDL source for interaction with EAPHost supplicants.
//
////////////////////////////////////////////////////////////
#ifndef EAPAUTHENTICATORACTIONDEFINE_H
#define EAPAUTHENTICATORACTIONDEFINE_H
#pragma once
#ifdef __cplusplus
extern "C" {
#endif
typedef
#ifdef __midl
[v1_enum]
#endif
enum _EAP_METHOD_AUTHENTICATOR_RESPONSE_ACTION
{
// Discard the request as EAP cannot use it.
EAP_METHOD_AUTHENTICATOR_RESPONSE_DISCARD = 0,
// Send the packet to the authenticator
EAP_METHOD_AUTHENTICATOR_RESPONSE_SEND,
// Respond to EAP by acting on the returned attributes
EAP_METHOD_AUTHENTICATOR_RESPONSE_RESULT,
// The supplicant needs to take an action based on the context.
EAP_METHOD_AUTHENTICATOR_RESPONSE_RESPOND,
EAP_METHOD_AUTHENTICATOR_RESPONSE_AUTHENTICATE,
EAP_METHOD_AUTHENTICATOR_RESPONSE_HANDLE_IDENTITY
// The supplicant needs to take no action at all.
//EAP_METHOD_AUTHENTICATOR_RESPONSE_NONE
} EAP_METHOD_AUTHENTICATOR_RESPONSE_ACTION;
typedef struct _EAP_METHOD_AUTHENTICATOR_RESULT
{
BOOL fIsSuccess;
DWORD dwFailureReason;
EAP_ATTRIBUTES* pAuthAttribs;
} EAP_METHOD_AUTHENTICATOR_RESULT;
typedef
#ifdef __midl
[v1_enum]
#endif
enum tagEapPeerMethodResponseAction
{
// Discard the request as EAP cannot use it.
EapPeerMethodResponseActionDiscard = 0,
// Send the packet to the authenticator
EapPeerMethodResponseActionSend,
// Respond to EAP by acting on the returned attributes
EapPeerMethodResponseActionResult,
// Invoke appropriate UI based on the context
EapPeerMethodResponseActionInvokeUI,
// The supplicant needs to take an action based on the context.
EapPeerMethodResponseActionRespond,
// The supplicant needs to take no action at all.
EapPeerMethodResponseActionNone
} EapPeerMethodResponseAction;
// Structures used by EAP methods on the peer to communicate with the host.
typedef struct tagEapPeerMethodOuput
{
//EapPeerMethodDecision decision;
//EapPeerMethodState state;
EapPeerMethodResponseAction action;
BOOL fAllowNotifications;
} EapPeerMethodOutput;
// ENUMERATIONS USED by EAP methods on the peer to communicate their status to
// EapHost.
typedef
#ifdef __midl
[v1_enum]
#endif
enum tagEapPeerMethodResultReason
{
EapPeerMethodResultUnknown = 1,
EapPeerMethodResultSuccess,
EapPeerMethodResultFailure
} EapPeerMethodResultReason, EapPeerMethodResultReasonOle;
#ifdef __cplusplus
}
#endif
#endif // EAPAUTHENTICATORACTIONDEFINE_H