|  | /** | 
|  | * This file has no copyright assigned and is placed in the Public Domain. | 
|  | * This file is part of the mingw-w64 runtime package. | 
|  | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | 
|  | */ | 
|  | #ifndef _INC_EAPMETHODAUTHENTICATORAPIS | 
|  | #define _INC_EAPMETHODAUTHENTICATORAPIS | 
|  | #if (_WIN32_WINNT >= 0x0600) | 
|  | #include <eaptypes.h> | 
|  | #ifdef __cplusplus | 
|  | extern "C" { | 
|  | #endif | 
|  |  | 
|  | typedef struct _EAP_AUTHENTICATOR_METHOD_ROUTINES { | 
|  | DWORD           dwSizeInBytes; | 
|  | EAP_METHOD_TYPE *pEapType; | 
|  | DWORD (APIENTRY *EapMethodAuthenticatorInitialize)( | 
|  | EAP_METHOD_TYPE pEapType, | 
|  | EAP_ERROR ppEapError); | 
|  | DWORD (APIENTRY *EapMethodAuthenticatorBeginSession)( | 
|  | DWORD dwFlags, | 
|  | LPCWSTR pwszIdentity, | 
|  | EapAttributes pAttributeArray, | 
|  | DWORD dwSizeOfConnectionData, | 
|  | BYTE pConnectionData, | 
|  | DWORD dwMaxSendPacketSize, | 
|  | EAP_SESSION_HANDLE pSessionHandle, | 
|  | EAP_ERROR ppEapError); | 
|  | DWORD (APIENTRY *EapMethodAuthenticatorUpdateInnerMethodParams)( | 
|  | EAP_SESSION_HANDLE sessionHandle, | 
|  | DWORD dwFlags, | 
|  | WCHAR pwszIdentity, | 
|  | EapAttributes pAttributeArray, | 
|  | EAP_ERROR ppEapError); | 
|  | DWORD (APIENTRY *EapMethodAuthenticatorReceivePacket)( | 
|  | EAP_SESSION_HANDLE sessionHandle, | 
|  | DWORD cbReceivePacket, | 
|  | EapPacket pReceivePacket, | 
|  | EAP_METHOD_AUTHENTICATOR_RESPONSE_ACTION pEapOutput, | 
|  | EAP_ERROR ppEapError); | 
|  | DWORD (APIENTRY *EapMethodAuthenticatorSendPacket)( | 
|  | EAP_SESSION_HANDLE sessionHandle, | 
|  | BYTE bPacketId, | 
|  | DWORD pcbSendPacket, | 
|  | EapPacket pSendPacket, | 
|  | EAP_AUTHENTICATOR_SEND_TIMEOUT pTimeout, | 
|  | EAP_ERROR ppEapError); | 
|  | DWORD (APIENTRY *EapMethodAuthenticatorGetAttributes)( | 
|  | EAP_SESSION_HANDLE sessionHandle, | 
|  | EapAttributes pAttribs, | 
|  | EAP_ERROR ppEapError); | 
|  | DWORD (APIENTRY *EapMethodAuthenticatorSetAttributes)( | 
|  | EAP_SESSION_HANDLE sessionHandle, | 
|  | EapAttributes pAttribs, | 
|  | EAP_METHOD_AUTHENTICATOR_RESPONSE_ACTION pEapOutput, | 
|  | EAP_ERROR ppEapError); | 
|  | DWORD (APIENTRY *EapMethodAuthenticatorGetResult)( | 
|  | EAP_SESSION_HANDLE sessionHandle, | 
|  | EAP_METHOD_AUTHENTICATOR_RESULT pResult, | 
|  | EAP_ERROR ppEapError); | 
|  | DWORD (APIENTRY *EapMethodAuthenticatorEndSession)( | 
|  | EAP_SESSION_HANDLE sessionHandle, | 
|  | EAP_ERROR ppEapError); | 
|  | DWORD (APIENTRY *EapMethodAuthenticatorShutdown)( | 
|  | EAP_METHOD_TYPE pEapType, | 
|  | EAP_ERROR ppEapError); | 
|  | } EAP_AUTHENTICATOR_METHOD_ROUTINES; | 
|  |  | 
|  | VOID WINAPI EapMethodAuthenticatorFreeMemory( | 
|  | void *pUIContextData | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI EapMethodAuthenticatorInitialize( | 
|  | EAP_METHOD_TYPE *pEapType, | 
|  | EAP_ERROR **ppEapError | 
|  | ); | 
|  |  | 
|  | VOID WINAPI EapPeerFreeErrorMemory( | 
|  | EAP_ERROR *ppEapError | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI EapMethodAuthenticatorGetResult( | 
|  | EAP_SESSION_HANDLE sessionHandle, | 
|  | EAP_METHOD_AUTHENTICATOR_RESULT *pResult, | 
|  | EAP_ERROR **ppEapError | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI EapMethodAuthenticatorBeginSession( | 
|  | DWORD dwFlags, | 
|  | LPCWSTR pwszIdentity, | 
|  | const EapAttributes *pAttributeArray, | 
|  | DWORD dwSizeOfConnectionData, | 
|  | const BYTE *pConnectionData, | 
|  | DWORD dwMaxSendPacketSize, | 
|  | EAP_SESSION_HANDLE *pSessionHandle, | 
|  | EAP_ERROR **ppEapError | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI EapMethodAuthenticatorFreeErrorMemory( | 
|  | EAP_ERROR *ppEapError | 
|  | ); | 
|  |  | 
|  | DWORD EapMethodAuthenticatorEndSession( | 
|  | EAP_SESSION_HANDLE sessionHandle, | 
|  | EAP_ERROR **ppEapError | 
|  | ); | 
|  |  | 
|  | DWORD EapMethodAuthenticatorGetAttributes( | 
|  | EAP_SESSION_HANDLE sessionHandle, | 
|  | EapAttributes *pAttribs, | 
|  | EAP_ERROR **ppEapError | 
|  | ); | 
|  |  | 
|  | DWORD EapMethodAuthenticatorGetInfo( | 
|  | EAP_METHOD_TYPE *pEapType, | 
|  | EAP_AUTHENTICATOR_METHOD_ROUTINES *pEapInfo, | 
|  | EAP_ERROR **ppEapError | 
|  | ); | 
|  |  | 
|  | DWORD EapMethodAuthenticatorGetResult( | 
|  | EAP_SESSION_HANDLE sessionHandle, | 
|  | EAP_METHOD_AUTHENTICATOR_RESULT *pResult, | 
|  | EAP_ERROR **ppEapError | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI EapMethodAuthenticatorInvokeConfigUI( | 
|  | EAP_METHOD_TYPE *pEapMethodType, | 
|  | HWND hwndParent, | 
|  | DWORD dwFlags, | 
|  | LPCWSTR pwszMachineName, | 
|  | DWORD dwSizeOfConfigIn, | 
|  | BYTE *pConfigIn, | 
|  | DWORD *pdwSizeOfConfigOut, | 
|  | BYTE **ppConfigOut, | 
|  | EAP_ERROR **pEapError | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI EapMethodAuthenticatorReceivePacket( | 
|  | EAP_SESSION_HANDLE sessionHandle, | 
|  | DWORD cbReceivePacket, | 
|  | const EapPacket *pReceivePacket, | 
|  | EAP_METHOD_AUTHENTICATOR_RESPONSE_ACTION *pEapOutput, | 
|  | EAP_ERROR **ppEapError | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI EapMethodAuthenticatorSendPacket( | 
|  | EAP_SESSION_HANDLE sessionHandle, | 
|  | BYTE bPacketId, | 
|  | DWORD *pcbSendPacket, | 
|  | EapPacket *pSendPacket, | 
|  | EAP_AUTHENTICATOR_SEND_TIMEOUT *pTimeout, | 
|  | EAP_ERROR **ppEapError | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI EapMethodAuthenticatorSetAttributes( | 
|  | EAP_SESSION_HANDLE sessionHandle, | 
|  | const EapAttributes *pAttribs, | 
|  | EAP_METHOD_AUTHENTICATOR_RESPONSE_ACTION *pEapOutput, | 
|  | EAP_ERROR **ppEapError | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI EapMethodAuthenticatorShutdown( | 
|  | EAP_METHOD_TYPE *peapType, | 
|  | EAP_ERROR **ppEapError | 
|  | ); | 
|  |  | 
|  | DWORD WINAPI EapMethodAuthenticatorUpdateInnerMethodParams( | 
|  | EAP_SESSION_HANDLE sessionHandle, | 
|  | DWORD dwFlags, | 
|  | const WCHAR *pwszIdentity, | 
|  | const EapAttributes *pAttributeArray, | 
|  | EAP_ERROR **ppEapError | 
|  | ); | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | } | 
|  | #endif | 
|  | #endif /*(_WIN32_WINNT >= 0x0600)*/ | 
|  | #endif /*_INC_EAPMETHODAUTHENTICATORAPIS*/ |