/** * 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_EAPMETHODPEERAPIS #define _INC_EAPMETHODPEERAPIS #if (_WIN32_WINNT >= 0x0600) #include <eaptypes.h> #include <eapmethodtypes.h> #ifdef __cplusplus extern "C" { #endif DWORD WINAPI EapPeerQueryCredentialInputFields( HANDLE hUserImpersonationToken, EAP_METHOD_TYPE eapMethodType, DWORD dwFlags, DWORD dwEapConnDataSize, BYTE *pbEapConnData, EAP_CONFIG_INPUT_FIELD_ARRAY *pEapConfigInputFieldsArray, EAP_ERROR **ppEapError ); DWORD WINAPI EapPeerBeginSession( DWORD dwFlags, const EapAttributes *pAttributeArray, HANDLE hTokenImpersonateUser, DWORD dwSizeofConnectionData, BYTE *pConnectionData, DWORD dwSizeofUserData, BYTE *pUserData, DWORD dwMaxSendPacketSize, EAP_SESSION_HANDLE *pSessionHandle, EAP_ERROR **ppEapError ); DWORD WINAPI EapPeerQueryUserBlobFromCredentialInputFields( HANDLE hUserImpersonationToken, EAP_METHOD_TYPE eapMethodType, DWORD dwFlags, DWORD dwEapConnDataSize, BYTE *pbEapConnData, const EAP_CONFIG_INPUT_FIELD_ARRAY *pEapConfigInputFieldArray, DWORD *pdwUsersBlobSize, BYTE **ppUserBlob, EAP_ERROR **ppEapError ); DWORD WINAPI EapPeerGetIdentity( DWORD dwflags, DWORD dwSizeofConnectionData, const BYTE *pConnectionData, DWORD dwSizeOfUserData, const BYTE *pUserData, HANDLE hTokenImpersonateUser, WINBOOL *pfInvokeUI, DWORD *pdwSizeOfUserDataOut, BYTE **ppUserDataOut, LPWSTR *ppwszIdentity, EAP_ERROR **ppEapError ); DWORD WINAPI EapPeerInitialize( EAP_ERROR **ppEapError ); DWORD WINAPI EapPeerGetInfo( EAP_TYPE *pEapType, EAP_PEER_METHOD_ROUTINES *pEapInfo, EAP_ERROR **ppEapError ); DWORD WINAPI EapPeerSetCredentials( EAP_SESSION_HANDLE sessionHandle, LPWSTR pwszIdentity, LPWSTR pwszPassword, EAP_ERROR **ppEapError ); DWORD WINAPI EapPeerInvokeIdentityUI( EAP_METHOD_TYPE *pEapType, DWORD dwflags, HWND hwndParent, DWORD dwSizeOfConnectionData, const BYTE *pConnectionData, DWORD dwSizeOfUserData, const BYTE *pUserData, DWORD *pdwSizeOfUserDataOut, BYTE **ppUserDataOut, LPWSTR *ppwszIdentity, EAP_ERROR **ppEapError ); DWORD WINAPI EapPeerProcessRequestPacket( EAP_SESSION_HANDLE sessionHandle, DWORD cbReceivedPacket, EapPacket *pReceivedPacket, EapPeerMethodOutput *pEapOutput, EAP_ERROR **ppEapError ); DWORD WINAPI EapPeerGetResponsePacket( EAP_SESSION_HANDLE sessionHandle, DWORD *pcbSendPacket, EapPacket *pSendPacket, EAP_ERROR **ppEapError ); DWORD WINAPI EapPeerGetResult( EAP_SESSION_HANDLE sessionHandle, EapPeerMethodResultReason reason, EapPeerMethodResult *ppResult, EAP_ERROR **ppEapError ); typedef struct tagEapPeerMethodResult { WINBOOL fIsSuccess; DWORD dwFailureReasonCode; WINBOOL fSaveConnectionData; DWORD dwSizeOfConnectionData; BYTE * pConnectionData; WINBOOL fSaveUserData; DWORD dwSizeofUserData; BYTE * pUserData; EAP_ATTRIBUTES *pAttribArray; EAP_ERROR * pEapError; } EapPeerMethodResult; DWORD WINAPI EapPeerGetUIContext( EAP_SESSION_HANDLE sessionHandle, DWORD *pdwSizeOfUIContextData, BYTE **ppUIContextData, EAP_ERROR **ppEapError ); DWORD WINAPI EapPeerSetUIContext( EAP_SESSION_HANDLE sessionHandle, DWORD dwSizeOfUIContextData, const BYTE *pUIContextData, EapPeerMethodOutput *pEapOutput, EAP_ERROR **ppEapError ); DWORD WINAPI EapPeerGetResponseAttributes( EAP_SESSION_HANDLE sessionHandle, EapAttributes *pAttribs, EAP_ERROR **ppEapError ); DWORD WINAPI EapPeerSetResponseAttributes( EAP_SESSION_HANDLE sessionHandle, EapAttributes *pAttribs, EapPeerMethodOutput *pEapOutput, EAP_ERROR **ppEapError ); DWORD WINAPI EapPeerEndSession( EAP_SESSION_HANDLE sessionHandle, EAP_ERROR **ppEapError ); DWORD WINAPI EapPeerShutdown( EAP_ERROR **ppEapError ); DWORD WINAPI EapPeerInvokeConfigUI( EAP_METHOD_TYPE *pEapType, HWND hwndParent, DWORD dwFlags, DWORD dwSizeOfConnectionDataIn, BYTE *pConnectionDataIn, DWORD *dwSizeOfConnectionDataOut, BYTE **ppConnectionDataOut, EAP_ERROR **ppEapError ); DWORD WINAPI EapPeerInvokeInteractiveUI( EAP_METHOD_TYPE *pEapType, HWND hwndParent, DWORD dwSizeofUIContextData, BYTE *pUIContextData, DWORD *pdwSizeOfDataFromInteractiveUI, BYTE **ppDataFromInteractiveUI, EAP_ERROR **ppEapError ); DWORD WINAPI EapPeerQueryInteractiveUIInputFields( DWORD dwVersion, DWORD dwFlags, DWORD dwSizeofUIContextData, const BYTE *pUIContextData, EAP_INTERACTIVE_UI_DATA *pEapInteractiveUIData, EAP_ERROR **ppEapError, LPVOID *pvReserved ); DWORD WINAPI EapPeerQueryUIBlobFromInteractiveUIInputFields( DWORD dwVersion, DWORD dwFlags, DWORD dwSizeofUIContextData, const BYTE *pUIContextData, const EAP_INTERACTIVE_UI_DATA *pEapInteractiveUIData, DWORD *pdwSizeOfDataFromInteractiveUI, BYTE **ppDataFromInteractiveUI, EAP_ERROR **ppEapError, LPVOID *ppvReserved ); DWORD WINAPI EapPeerConfigBlob2Xml( DWORD dwFlags, EAP_METHOD_TYPE eapMethodType, const BYTE *pConfigIn, DWORD dwSizeOfConfigIn, IXMLDOMDocument2 **ppConfigDoc, EAP_ERROR **pEapError ); DWORD WINAPI EapPeerConfigXml2Blob( DWORD dwFlags, EAP_METHOD_TYPE eapMethodType, IXMLDOMDocument2 *pConfigDoc, BYTE **ppConfigOut, DWORD *pdwSizeOfConfigOut, EAP_ERROR **ppEapError ); DWORD WINAPI EapPeerCredentialsXml2Blob( DWORD dwFlags, EAP_METHOD_TYPE eapMethodType, IXMLDOMDocument2 *pCredentialsDoc, const BYTE *pConfigIn, DWORD dwSizeOfConfigIn, BYTE **ppCredentialsOut, DWORD *pdwSizeofCredentialsOut, EAP_ERROR **ppEapError ); VOID WINAPI EapPeerFreeMemory( void *pUIContextData ); #ifdef __cplusplus } #endif #endif /*(_WIN32_WINNT >= 0x0600)*/ #endif /*_INC_EAPMETHODPEERAPIS*/