1 /** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6 #ifndef _INC_EAPPAPIS 7 #define _INC_EAPPAPIS 8 #if (_WIN32_WINNT >= 0x0600) 9 #include <eaptypes.h> 10 #include <eaphostpeertypes.h> 11 #ifdef __cplusplus 12 extern "C" { 13 #endif 14 15 DWORD APIENTRY EapHostPeerGetResult( 16 EAP_SESSIONID sessionHandle, 17 EapHostPeerMethodResultReason reason, 18 EapHostPeerMethodResult *ppResult, 19 EAP_ERROR **ppEapError 20 ); 21 22 DWORD WINAPI EapHostPeerProcessReceivedPacket( 23 EAP_SESSIONID sessionHandle, 24 DWORD cbReceivePacket, 25 const BYTE *pReceivePacket, 26 EapHostPeerResponseAction *pEapOutput, 27 EAP_ERROR **ppEapError 28 ); 29 30 VOID APIENTRY EapHostPeerFreeEapError( 31 EAP_ERROR *ppEapError 32 ); 33 34 DWORD APIENTRY EapHostPeerClearConnection( 35 GUID *pConnectionId, 36 EAP_ERROR **ppEapError 37 ); 38 39 DWORD APIENTRY EapHostPeerEndSession( 40 EAP_SESSIONID sessionHandle, 41 EAP_ERROR **ppEapError 42 ); 43 44 DWORD APIENTRY EapHostPeerGetAuthStatus( 45 EAP_SESSIONID sessionHandle, 46 EapHostPeerAuthParams authParam, 47 DWORD *pcbAuthData, 48 BYTE **ppAuthData, 49 EAP_ERROR **ppEapError 50 ); 51 52 DWORD APIENTRY EapHostPeerGetResponseAttributes( 53 EAP_SESSIONID sessionHandle, 54 EapAttributes *pAttribs, 55 EAP_ERROR **ppEapError 56 ); 57 58 DWORD WINAPI EapHostPeerGetSendPacket( 59 EAP_SESSIONID sessionHandle, 60 DWORD *pcbSendPacket, 61 BYTE **ppSendPacket, 62 EAP_ERROR **ppEapError 63 ); 64 65 DWORD APIENTRY EapHostPeerGetUIContext( 66 EAP_SESSIONID sessionHandle, 67 DWORD *pdwSizeOfUIContextData, 68 BYTE **ppUIContextData, 69 EAP_ERROR **ppEapError 70 ); 71 72 DWORD APIENTRY EapHostPeerSetResponseAttributes( 73 EAP_SESSIONID sessionHandle, 74 const EapAttributes *pAttribs, 75 EapHostPeerResponseAction *pEapOutput, 76 EAP_ERROR **ppEapError 77 ); 78 79 DWORD APIENTRY EapHostPeerSetUIContext( 80 EAP_SESSIONID sessionHandle, 81 DWORD dwSizeOfUIContextData, 82 const BYTE *pUIContextData, 83 EapHostPeerResponseAction *pEapOutput, 84 EAP_ERROR **ppEapError 85 ); 86 87 typedef VOID ( CALLBACK *NotificationHandler )( 88 GUID connectionId, 89 VOID *pContextData 90 ); 91 92 DWORD APIENTRY EapHostPeerBeginSession( 93 DWORD dwFlags, 94 EAP_METHOD_TYPE eapType, 95 const EapAttributes *pAttributeArray, 96 HANDLE hTokenImpersonateUser, 97 DWORD dwSizeOfConnectionData, 98 const BYTE *pConnectionData, 99 DWORD dwSizeOfUserData, 100 const BYTE *pUserData, 101 DWORD dwMaxSendPacketSize, 102 const GUID *pConnectionId, 103 NotificationHandler func, 104 VOID *pContextData, 105 EAP_SESSIONID *pSessionId, 106 EAP_ERROR **ppEapError 107 ); 108 109 VOID WINAPI EapHostPeerFreeRuntimeMemory( 110 BYTE *pData 111 ); 112 113 DWORD WINAPI EapHostPeerGetIdentity( 114 DWORD dwVersion, 115 DWORD dwFlags, 116 EAP_METHOD_TYPE eapMethodType, 117 DWORD dwSizeofConnectionData, 118 const BYTE *pConnectionData, 119 DWORD dwSizeofUserData, 120 const BYTE *pUserData, 121 HANDLE hTokenImpersonateUser, 122 WINBOOL *pfInvokeUI, 123 DWORD *pdwSizeofUserDataOut, 124 BYTE **ppUserDataOut, 125 LPWSTR *ppwszIdentity, 126 EAP_ERROR **ppEapError, 127 BYTE **ppvReserved 128 ); 129 130 DWORD WINAPI EapHostPeerInitialize(void); 131 void WINAPI EapHostPeerUninitialize(void); 132 133 #ifdef __cplusplus 134 } 135 #endif 136 #endif /*(_WIN32_WINNT >= 0x0600)*/ 137 #endif /*_INC_EAPPAPIS*/ 138