master
  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
 12extern "C" {
 13#endif
 14
 15DWORD APIENTRY EapHostPeerGetResult(
 16  EAP_SESSIONID sessionHandle,
 17  EapHostPeerMethodResultReason reason,
 18  EapHostPeerMethodResult *ppResult,
 19  EAP_ERROR **ppEapError
 20);
 21
 22DWORD WINAPI EapHostPeerProcessReceivedPacket(
 23  EAP_SESSIONID sessionHandle,
 24  DWORD cbReceivePacket,
 25  const BYTE *pReceivePacket,
 26  EapHostPeerResponseAction *pEapOutput,
 27  EAP_ERROR **ppEapError
 28);
 29
 30VOID APIENTRY EapHostPeerFreeEapError(
 31  EAP_ERROR *ppEapError
 32);
 33
 34DWORD APIENTRY EapHostPeerClearConnection(
 35  GUID *pConnectionId,
 36  EAP_ERROR **ppEapError
 37);
 38
 39DWORD APIENTRY EapHostPeerEndSession(
 40  EAP_SESSIONID sessionHandle,
 41  EAP_ERROR **ppEapError
 42);
 43
 44DWORD APIENTRY EapHostPeerGetAuthStatus(
 45  EAP_SESSIONID sessionHandle,
 46  EapHostPeerAuthParams authParam,
 47  DWORD *pcbAuthData,
 48  BYTE **ppAuthData,
 49  EAP_ERROR **ppEapError
 50);
 51
 52DWORD APIENTRY EapHostPeerGetResponseAttributes(
 53  EAP_SESSIONID sessionHandle,
 54  EapAttributes *pAttribs,
 55  EAP_ERROR **ppEapError
 56);
 57
 58DWORD WINAPI EapHostPeerGetSendPacket(
 59  EAP_SESSIONID sessionHandle,
 60  DWORD *pcbSendPacket,
 61  BYTE **ppSendPacket,
 62  EAP_ERROR **ppEapError
 63);
 64
 65DWORD APIENTRY EapHostPeerGetUIContext(
 66  EAP_SESSIONID sessionHandle,
 67  DWORD *pdwSizeOfUIContextData,
 68  BYTE **ppUIContextData,
 69  EAP_ERROR **ppEapError
 70);
 71
 72DWORD APIENTRY EapHostPeerSetResponseAttributes(
 73  EAP_SESSIONID sessionHandle,
 74  const EapAttributes *pAttribs,
 75  EapHostPeerResponseAction *pEapOutput,
 76  EAP_ERROR **ppEapError
 77);
 78
 79DWORD APIENTRY EapHostPeerSetUIContext(
 80  EAP_SESSIONID sessionHandle,
 81  DWORD dwSizeOfUIContextData,
 82  const BYTE *pUIContextData,
 83  EapHostPeerResponseAction *pEapOutput,
 84  EAP_ERROR **ppEapError
 85);
 86
 87typedef VOID ( CALLBACK *NotificationHandler )(
 88  GUID connectionId,
 89  VOID *pContextData
 90);
 91
 92DWORD 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
109VOID WINAPI  EapHostPeerFreeRuntimeMemory(
110  BYTE *pData
111);
112
113DWORD 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
130DWORD WINAPI EapHostPeerInitialize(void);
131void WINAPI EapHostPeerUninitialize(void);
132
133#ifdef __cplusplus
134}
135#endif
136#endif /*(_WIN32_WINNT >= 0x0600)*/
137#endif /*_INC_EAPPAPIS*/