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_EAPHOSTPEERCONFIGAPIS
7 #define _INC_EAPHOSTPEERCONFIGAPIS
8 #if (_WIN32_WINNT >= 0x0600)
9 #include <eaptypes.h>
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13 
14 DWORD WINAPI EapHostPeerQueryUserBlobFromCredentialInputFields(
15   HANDLE hUserImpersonationToken,
16   EAP_METHOD_TYPE eapMethodType,
17   DWORD dwFlags,
18   DWORD dwEapConnDataSize,
19   const BYTE *pbEapConnData,
20   const EAP_CONFIG_INPUT_FIELD_ARRAY *pEapConfigInputFieldArray,
21   DWORD *pdwUserBlobSize,
22   BYTE **ppbUserBlob,
23   EAP_ERROR **pEapError
24 );
25 
26 VOID WINAPI EapHostPeerFreeErrorMemory(
27     EAP_ERROR *pEapError
28 );
29 
30 DWORD WINAPI EapHostPeerConfigBlob2Xml(
31   DWORD dwFlags,
32   EAP_METHOD_TYPE eapMethodType,
33   DWORD dwSizeOfConfigIn,
34   BYTE *pConfigIn,
35   IXMLDOMDocument2 **ppConfigDoc,
36   EAP_ERROR **ppEapError
37 );
38 
39 DWORD WINAPI EapHostPeerInvokeInteractiveUI(
40   HWND hwndParent,
41   DWORD dwSizeofUIContextData,
42   const BYTE *pUIContextData,
43   DWORD *pdwSizeofDataFromInteractiveUI,
44   BYTE **ppDataFromInteractiveUI,
45   EAP_ERROR **ppEapError
46 );
47 
48 DWORD WINAPI EapHostPeerQueryInteractiveUIInputFields(
49   DWORD dwVersion,
50   DWORD dwFlags,
51   DWORD dwSizeofUIContextData,
52   const BYTE *pUIContextData,
53   EAP_INTERACTIVE_UI_DATA *pEapInteractiveUIData,
54   EAP_ERROR **ppEapError,
55   LPVOID *ppvReserved
56 );
57 
58 DWORD WINAPI EapHostPeerQueryUIBlobFromInteractiveUIInputFields(
59   DWORD dwVersion,
60   DWORD dwFlags,
61   DWORD dwSizeofUIContextData,
62   const BYTE *pUIContextData,
63   const EAP_INTERACTIVE_UI_DATA *pEapInteractiveUIData,
64   DWORD *pdwSizeOfDataFromInteractiveUI,
65   BYTE **ppDataFromInteractiveUI,
66   EAP_ERROR **ppEapError,
67   LPVOID *ppvReserved
68 );
69 
70 DWORD WINAPI EapHostPeerConfigXml2Blob(
71   DWORD dwFlags,
72   IXMLDOMNode *pConfigDoc,
73   DWORD *pdwSizeOfConfigOut,
74   BYTE **ppConfigOut,
75   EAP_METHOD_TYPE *pEapMethodType,
76   EAP_ERROR **ppEapError
77 );
78 
79 DWORD WINAPI EapHostPeerCredentialsXml2Blob(
80   DWORD dwFlags,
81   IXMLDOMNode *pCredentialsDoc,
82   DWORD dwSizeOfConfigIn,
83   BYTE *pConfigIn,
84   DWORD *pdwSizeofCredentialsOut,
85   BYTE **ppCredentialsOut,
86   EAP_METHOD_TYPE *pEapMethodType,
87   EAP_ERROR **ppEapError
88 );
89 
90 DWORD WINAPI EapHostPeerInvokeConfigUI(
91   HWND hwndParent,
92   DWORD dwFlags,
93   EAP_METHOD_TYPE eapMethodType,
94   DWORD dwSizeOfConfigIn,
95   const BYTE *pConfigIn,
96   DWORD *pdwSizeOfConfigOut,
97   BYTE **ppConfigOut,
98   EAP_ERROR **pEapError
99 );
100 
101 VOID WINAPI EapHostPeerFreeMemory(
102   BYTE *pData
103 );
104 
105 DWORD WINAPI EapHostPeerQueryCredentialInputFields(
106   HANDLE hUserImpersonationToken,
107   EAP_METHOD_TYPE eapMethodType,
108   DWORD dwFlags,
109   DWORD dwEapConnDataSize,
110   const BYTE *pbEapConnData,
111   EAP_CONFIG_INPUT_FIELD_ARRAY *pEapConfigInputFieldArray,
112   EAP_ERROR **pEapError
113 );
114 
115 DWORD WINAPI EapHostPeerGetMethods(
116   EAP_METHOD_INFO_ARRAY *pEapMethodInfoArray,
117   EAP_ERROR **ppEapError
118 );
119 
120 DWORD WINAPI EapHostPeerInvokeIdentityUI(
121   DWORD dwVersion,
122   EAP_METHOD_TYPE eapMethodType,
123   DWORD dwFlags,
124   HWND hwndParent,
125   DWORD dwSizeofConnectionData,
126   const  BYTE * pConnectionData,
127   DWORD dwSizeofUserData,
128   const  BYTE *pUserData,
129   DWORD *pdwSizeofUserDataOut,
130   BYTE **ppUserDataOut,
131   LPWSTR *ppwszIdentity,
132   EAP_ERROR **ppEapError,
133   LPVOID *ppvReserved
134 );
135 
136 #ifdef __cplusplus
137 }
138 #endif
139 #endif /*(_WIN32_WINNT >= 0x0600)*/
140 #endif /*_INC_EAPHOSTPEERCONFIGAPIS*/
141