eapmethodpeerapis.h 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249
  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_EAPMETHODPEERAPIS
  7. #define _INC_EAPMETHODPEERAPIS
  8. #if (_WIN32_WINNT >= 0x0600)
  9. #include <eaptypes.h>
  10. #include <eapmethodtypes.h>
  11. #ifdef __cplusplus
  12. extern "C" {
  13. #endif
  14. DWORD WINAPI EapPeerQueryCredentialInputFields(
  15. HANDLE hUserImpersonationToken,
  16. EAP_METHOD_TYPE eapMethodType,
  17. DWORD dwFlags,
  18. DWORD dwEapConnDataSize,
  19. BYTE *pbEapConnData,
  20. EAP_CONFIG_INPUT_FIELD_ARRAY *pEapConfigInputFieldsArray,
  21. EAP_ERROR **ppEapError
  22. );
  23. DWORD WINAPI EapPeerBeginSession(
  24. DWORD dwFlags,
  25. const EapAttributes *pAttributeArray,
  26. HANDLE hTokenImpersonateUser,
  27. DWORD dwSizeofConnectionData,
  28. BYTE *pConnectionData,
  29. DWORD dwSizeofUserData,
  30. BYTE *pUserData,
  31. DWORD dwMaxSendPacketSize,
  32. EAP_SESSION_HANDLE *pSessionHandle,
  33. EAP_ERROR **ppEapError
  34. );
  35. DWORD WINAPI EapPeerQueryUserBlobFromCredentialInputFields(
  36. HANDLE hUserImpersonationToken,
  37. EAP_METHOD_TYPE eapMethodType,
  38. DWORD dwFlags,
  39. DWORD dwEapConnDataSize,
  40. BYTE *pbEapConnData,
  41. const EAP_CONFIG_INPUT_FIELD_ARRAY *pEapConfigInputFieldArray,
  42. DWORD *pdwUsersBlobSize,
  43. BYTE **ppUserBlob,
  44. EAP_ERROR **ppEapError
  45. );
  46. DWORD WINAPI EapPeerGetIdentity(
  47. DWORD dwflags,
  48. DWORD dwSizeofConnectionData,
  49. const BYTE *pConnectionData,
  50. DWORD dwSizeOfUserData,
  51. const BYTE *pUserData,
  52. HANDLE hTokenImpersonateUser,
  53. WINBOOL *pfInvokeUI,
  54. DWORD *pdwSizeOfUserDataOut,
  55. BYTE **ppUserDataOut,
  56. LPWSTR *ppwszIdentity,
  57. EAP_ERROR **ppEapError
  58. );
  59. DWORD WINAPI EapPeerInitialize(
  60. EAP_ERROR **ppEapError
  61. );
  62. DWORD WINAPI EapPeerGetInfo(
  63. EAP_TYPE *pEapType,
  64. EAP_PEER_METHOD_ROUTINES *pEapInfo,
  65. EAP_ERROR **ppEapError
  66. );
  67. DWORD WINAPI EapPeerSetCredentials(
  68. EAP_SESSION_HANDLE sessionHandle,
  69. LPWSTR pwszIdentity,
  70. LPWSTR pwszPassword,
  71. EAP_ERROR **ppEapError
  72. );
  73. DWORD WINAPI EapPeerInvokeIdentityUI(
  74. EAP_METHOD_TYPE *pEapType,
  75. DWORD dwflags,
  76. HWND hwndParent,
  77. DWORD dwSizeOfConnectionData,
  78. const BYTE *pConnectionData,
  79. DWORD dwSizeOfUserData,
  80. const BYTE *pUserData,
  81. DWORD *pdwSizeOfUserDataOut,
  82. BYTE **ppUserDataOut,
  83. LPWSTR *ppwszIdentity,
  84. EAP_ERROR **ppEapError
  85. );
  86. DWORD WINAPI EapPeerProcessRequestPacket(
  87. EAP_SESSION_HANDLE sessionHandle,
  88. DWORD cbReceivedPacket,
  89. EapPacket *pReceivedPacket,
  90. EapPeerMethodOutput *pEapOutput,
  91. EAP_ERROR **ppEapError
  92. );
  93. DWORD WINAPI EapPeerGetResponsePacket(
  94. EAP_SESSION_HANDLE sessionHandle,
  95. DWORD *pcbSendPacket,
  96. EapPacket *pSendPacket,
  97. EAP_ERROR **ppEapError
  98. );
  99. DWORD WINAPI EapPeerGetResult(
  100. EAP_SESSION_HANDLE sessionHandle,
  101. EapPeerMethodResultReason reason,
  102. EapPeerMethodResult *ppResult,
  103. EAP_ERROR **ppEapError
  104. );
  105. typedef struct tagEapPeerMethodResult {
  106. WINBOOL fIsSuccess;
  107. DWORD dwFailureReasonCode;
  108. WINBOOL fSaveConnectionData;
  109. DWORD dwSizeOfConnectionData;
  110. BYTE * pConnectionData;
  111. WINBOOL fSaveUserData;
  112. DWORD dwSizeofUserData;
  113. BYTE * pUserData;
  114. EAP_ATTRIBUTES *pAttribArray;
  115. EAP_ERROR * pEapError;
  116. } EapPeerMethodResult;
  117. DWORD WINAPI EapPeerGetUIContext(
  118. EAP_SESSION_HANDLE sessionHandle,
  119. DWORD *pdwSizeOfUIContextData,
  120. BYTE **ppUIContextData,
  121. EAP_ERROR **ppEapError
  122. );
  123. DWORD WINAPI EapPeerSetUIContext(
  124. EAP_SESSION_HANDLE sessionHandle,
  125. DWORD dwSizeOfUIContextData,
  126. const BYTE *pUIContextData,
  127. EapPeerMethodOutput *pEapOutput,
  128. EAP_ERROR **ppEapError
  129. );
  130. DWORD WINAPI EapPeerGetResponseAttributes(
  131. EAP_SESSION_HANDLE sessionHandle,
  132. EapAttributes *pAttribs,
  133. EAP_ERROR **ppEapError
  134. );
  135. DWORD WINAPI EapPeerSetResponseAttributes(
  136. EAP_SESSION_HANDLE sessionHandle,
  137. EapAttributes *pAttribs,
  138. EapPeerMethodOutput *pEapOutput,
  139. EAP_ERROR **ppEapError
  140. );
  141. DWORD WINAPI EapPeerEndSession(
  142. EAP_SESSION_HANDLE sessionHandle,
  143. EAP_ERROR **ppEapError
  144. );
  145. DWORD WINAPI EapPeerShutdown(
  146. EAP_ERROR **ppEapError
  147. );
  148. DWORD WINAPI EapPeerInvokeConfigUI(
  149. EAP_METHOD_TYPE *pEapType,
  150. HWND hwndParent,
  151. DWORD dwFlags,
  152. DWORD dwSizeOfConnectionDataIn,
  153. BYTE *pConnectionDataIn,
  154. DWORD *dwSizeOfConnectionDataOut,
  155. BYTE **ppConnectionDataOut,
  156. EAP_ERROR **ppEapError
  157. );
  158. DWORD WINAPI EapPeerInvokeInteractiveUI(
  159. EAP_METHOD_TYPE *pEapType,
  160. HWND hwndParent,
  161. DWORD dwSizeofUIContextData,
  162. BYTE *pUIContextData,
  163. DWORD *pdwSizeOfDataFromInteractiveUI,
  164. BYTE **ppDataFromInteractiveUI,
  165. EAP_ERROR **ppEapError
  166. );
  167. DWORD WINAPI EapPeerQueryInteractiveUIInputFields(
  168. DWORD dwVersion,
  169. DWORD dwFlags,
  170. DWORD dwSizeofUIContextData,
  171. const BYTE *pUIContextData,
  172. EAP_INTERACTIVE_UI_DATA *pEapInteractiveUIData,
  173. EAP_ERROR **ppEapError,
  174. LPVOID *pvReserved
  175. );
  176. DWORD WINAPI EapPeerQueryUIBlobFromInteractiveUIInputFields(
  177. DWORD dwVersion,
  178. DWORD dwFlags,
  179. DWORD dwSizeofUIContextData,
  180. const BYTE *pUIContextData,
  181. const EAP_INTERACTIVE_UI_DATA *pEapInteractiveUIData,
  182. DWORD *pdwSizeOfDataFromInteractiveUI,
  183. BYTE **ppDataFromInteractiveUI,
  184. EAP_ERROR **ppEapError,
  185. LPVOID *ppvReserved
  186. );
  187. DWORD WINAPI EapPeerConfigBlob2Xml(
  188. DWORD dwFlags,
  189. EAP_METHOD_TYPE eapMethodType,
  190. const BYTE *pConfigIn,
  191. DWORD dwSizeOfConfigIn,
  192. IXMLDOMDocument2 **ppConfigDoc,
  193. EAP_ERROR **pEapError
  194. );
  195. DWORD WINAPI EapPeerConfigXml2Blob(
  196. DWORD dwFlags,
  197. EAP_METHOD_TYPE eapMethodType,
  198. IXMLDOMDocument2 *pConfigDoc,
  199. BYTE **ppConfigOut,
  200. DWORD *pdwSizeOfConfigOut,
  201. EAP_ERROR **ppEapError
  202. );
  203. DWORD WINAPI EapPeerCredentialsXml2Blob(
  204. DWORD dwFlags,
  205. EAP_METHOD_TYPE eapMethodType,
  206. IXMLDOMDocument2 *pCredentialsDoc,
  207. const BYTE *pConfigIn,
  208. DWORD dwSizeOfConfigIn,
  209. BYTE **ppCredentialsOut,
  210. DWORD *pdwSizeofCredentialsOut,
  211. EAP_ERROR **ppEapError
  212. );
  213. VOID WINAPI EapPeerFreeMemory(
  214. void *pUIContextData
  215. );
  216. #ifdef __cplusplus
  217. }
  218. #endif
  219. #endif /*(_WIN32_WINNT >= 0x0600)*/
  220. #endif /*_INC_EAPMETHODPEERAPIS*/