aboutsummaryrefslogtreecommitdiff
path: root/x86_64-w64-mingw32/include/eappapis.h
blob: c81166d235046d92ccfa60b8875e642d6c4e74b8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
/**
 * 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_EAPPAPIS
#define _INC_EAPPAPIS
#if (_WIN32_WINNT >= 0x0600)
#include <eaptypes.h>
#include <eaphostpeertypes.h>
#ifdef __cplusplus
extern "C" {
#endif

DWORD APIENTRY EapHostPeerGetResult(
  EAP_SESSIONID sessionHandle,
  EapHostPeerMethodResultReason reason,
  EapHostPeerMethodResult *ppResult,
  EAP_ERROR **ppEapError
);

DWORD WINAPI EapHostPeerProcessReceivedPacket(
  EAP_SESSIONID sessionHandle,
  DWORD cbReceivePacket,
  const BYTE *pReceivePacket,
  EapHostPeerResponseAction *pEapOutput,
  EAP_ERROR **ppEapError
);

VOID APIENTRY EapHostPeerFreeEapError(
  EAP_ERROR *ppEapError
);

DWORD APIENTRY EapHostPeerClearConnection(
  GUID *pConnectionId,
  EAP_ERROR **ppEapError
);

DWORD APIENTRY EapHostPeerEndSession(
  EAP_SESSIONID sessionHandle,
  EAP_ERROR **ppEapError
);

DWORD APIENTRY EapHostPeerGetAuthStatus(
  EAP_SESSIONID sessionHandle,
  EapHostPeerAuthParams authParam,
  DWORD *pcbAuthData,
  BYTE **ppAuthData,
  EAP_ERROR **ppEapError
);

DWORD APIENTRY EapHostPeerGetResponseAttributes(
  EAP_SESSIONID sessionHandle,
  EapAttributes *pAttribs,
  EAP_ERROR **ppEapError
);

DWORD WINAPI EapHostPeerGetSendPacket(
  EAP_SESSIONID sessionHandle,
  DWORD *pcbSendPacket,
  BYTE **ppSendPacket,
  EAP_ERROR **ppEapError
);

DWORD APIENTRY EapHostPeerGetUIContext(
  EAP_SESSIONID sessionHandle,
  DWORD *pdwSizeOfUIContextData,
  BYTE **ppUIContextData,
  EAP_ERROR **ppEapError
);

DWORD APIENTRY EapHostPeerSetResponseAttributes(
  EAP_SESSIONID sessionHandle,
  const EapAttributes *pAttribs,
  EapHostPeerResponseAction *pEapOutput,
  EAP_ERROR **ppEapError
);

DWORD APIENTRY EapHostPeerSetUIContext(
  EAP_SESSIONID sessionHandle,
  DWORD dwSizeOfUIContextData,
  const BYTE *pUIContextData,
  EapHostPeerResponseAction *pEapOutput,
  EAP_ERROR **ppEapError
);

typedef VOID ( CALLBACK *NotificationHandler )(
  GUID connectionId,
  VOID *pContextData
);

DWORD APIENTRY EapHostPeerBeginSession(
  DWORD dwFlags,
  EAP_METHOD_TYPE eapType,
  const EapAttributes *pAttributeArray,
  HANDLE hTokenImpersonateUser,
  DWORD dwSizeOfConnectionData,
  const BYTE *pConnectionData,
  DWORD dwSizeOfUserData,
  const BYTE *pUserData,
  DWORD dwMaxSendPacketSize,
  const GUID *pConnectionId,
  NotificationHandler func,
  VOID *pContextData,
  EAP_SESSIONID *pSessionId,
  EAP_ERROR **ppEapError
);

VOID WINAPI  EapHostPeerFreeRuntimeMemory(
  BYTE *pData
);

DWORD WINAPI EapHostPeerGetIdentity(
  DWORD dwVersion,
  DWORD dwFlags,
  EAP_METHOD_TYPE eapMethodType,
  DWORD dwSizeofConnectionData,
  const BYTE *pConnectionData,
  DWORD dwSizeofUserData,
  const  BYTE *pUserData,
  HANDLE hTokenImpersonateUser,
  WINBOOL *pfInvokeUI,
  DWORD *pdwSizeofUserDataOut,
  BYTE **ppUserDataOut,
  LPWSTR *ppwszIdentity,
  EAP_ERROR **ppEapError,
  BYTE **ppvReserved
);

DWORD WINAPI EapHostPeerInitialize(void);
void WINAPI EapHostPeerUninitialize(void);

#ifdef __cplusplus
}
#endif
#endif /*(_WIN32_WINNT >= 0x0600)*/
#endif /*_INC_EAPPAPIS*/