eapmethodauthenticatorapis.h 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  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_EAPMETHODAUTHENTICATORAPIS
  7. #define _INC_EAPMETHODAUTHENTICATORAPIS
  8. #if (_WIN32_WINNT >= 0x0600)
  9. #include <eaptypes.h>
  10. #ifdef __cplusplus
  11. extern "C" {
  12. #endif
  13. typedef struct _EAP_AUTHENTICATOR_METHOD_ROUTINES {
  14. DWORD dwSizeInBytes;
  15. EAP_METHOD_TYPE *pEapType;
  16. DWORD (APIENTRY *EapMethodAuthenticatorInitialize)(
  17. EAP_METHOD_TYPE pEapType,
  18. EAP_ERROR ppEapError);
  19. DWORD (APIENTRY *EapMethodAuthenticatorBeginSession)(
  20. DWORD dwFlags,
  21. LPCWSTR pwszIdentity,
  22. EapAttributes pAttributeArray,
  23. DWORD dwSizeOfConnectionData,
  24. BYTE pConnectionData,
  25. DWORD dwMaxSendPacketSize,
  26. EAP_SESSION_HANDLE pSessionHandle,
  27. EAP_ERROR ppEapError);
  28. DWORD (APIENTRY *EapMethodAuthenticatorUpdateInnerMethodParams)(
  29. EAP_SESSION_HANDLE sessionHandle,
  30. DWORD dwFlags,
  31. WCHAR pwszIdentity,
  32. EapAttributes pAttributeArray,
  33. EAP_ERROR ppEapError);
  34. DWORD (APIENTRY *EapMethodAuthenticatorReceivePacket)(
  35. EAP_SESSION_HANDLE sessionHandle,
  36. DWORD cbReceivePacket,
  37. EapPacket pReceivePacket,
  38. EAP_METHOD_AUTHENTICATOR_RESPONSE_ACTION pEapOutput,
  39. EAP_ERROR ppEapError);
  40. DWORD (APIENTRY *EapMethodAuthenticatorSendPacket)(
  41. EAP_SESSION_HANDLE sessionHandle,
  42. BYTE bPacketId,
  43. DWORD pcbSendPacket,
  44. EapPacket pSendPacket,
  45. EAP_AUTHENTICATOR_SEND_TIMEOUT pTimeout,
  46. EAP_ERROR ppEapError);
  47. DWORD (APIENTRY *EapMethodAuthenticatorGetAttributes)(
  48. EAP_SESSION_HANDLE sessionHandle,
  49. EapAttributes pAttribs,
  50. EAP_ERROR ppEapError);
  51. DWORD (APIENTRY *EapMethodAuthenticatorSetAttributes)(
  52. EAP_SESSION_HANDLE sessionHandle,
  53. EapAttributes pAttribs,
  54. EAP_METHOD_AUTHENTICATOR_RESPONSE_ACTION pEapOutput,
  55. EAP_ERROR ppEapError);
  56. DWORD (APIENTRY *EapMethodAuthenticatorGetResult)(
  57. EAP_SESSION_HANDLE sessionHandle,
  58. EAP_METHOD_AUTHENTICATOR_RESULT pResult,
  59. EAP_ERROR ppEapError);
  60. DWORD (APIENTRY *EapMethodAuthenticatorEndSession)(
  61. EAP_SESSION_HANDLE sessionHandle,
  62. EAP_ERROR ppEapError);
  63. DWORD (APIENTRY *EapMethodAuthenticatorShutdown)(
  64. EAP_METHOD_TYPE pEapType,
  65. EAP_ERROR ppEapError);
  66. } EAP_AUTHENTICATOR_METHOD_ROUTINES;
  67. VOID WINAPI EapMethodAuthenticatorFreeMemory(
  68. void *pUIContextData
  69. );
  70. DWORD WINAPI EapMethodAuthenticatorInitialize(
  71. EAP_METHOD_TYPE *pEapType,
  72. EAP_ERROR **ppEapError
  73. );
  74. VOID WINAPI EapPeerFreeErrorMemory(
  75. EAP_ERROR *ppEapError
  76. );
  77. DWORD WINAPI EapMethodAuthenticatorGetResult(
  78. EAP_SESSION_HANDLE sessionHandle,
  79. EAP_METHOD_AUTHENTICATOR_RESULT *pResult,
  80. EAP_ERROR **ppEapError
  81. );
  82. DWORD WINAPI EapMethodAuthenticatorBeginSession(
  83. DWORD dwFlags,
  84. LPCWSTR pwszIdentity,
  85. const EapAttributes *pAttributeArray,
  86. DWORD dwSizeOfConnectionData,
  87. const BYTE *pConnectionData,
  88. DWORD dwMaxSendPacketSize,
  89. EAP_SESSION_HANDLE *pSessionHandle,
  90. EAP_ERROR **ppEapError
  91. );
  92. DWORD WINAPI EapMethodAuthenticatorFreeErrorMemory(
  93. EAP_ERROR *ppEapError
  94. );
  95. DWORD EapMethodAuthenticatorEndSession(
  96. EAP_SESSION_HANDLE sessionHandle,
  97. EAP_ERROR **ppEapError
  98. );
  99. DWORD EapMethodAuthenticatorGetAttributes(
  100. EAP_SESSION_HANDLE sessionHandle,
  101. EapAttributes *pAttribs,
  102. EAP_ERROR **ppEapError
  103. );
  104. DWORD EapMethodAuthenticatorGetInfo(
  105. EAP_METHOD_TYPE *pEapType,
  106. EAP_AUTHENTICATOR_METHOD_ROUTINES *pEapInfo,
  107. EAP_ERROR **ppEapError
  108. );
  109. DWORD EapMethodAuthenticatorGetResult(
  110. EAP_SESSION_HANDLE sessionHandle,
  111. EAP_METHOD_AUTHENTICATOR_RESULT *pResult,
  112. EAP_ERROR **ppEapError
  113. );
  114. DWORD WINAPI EapMethodAuthenticatorInvokeConfigUI(
  115. EAP_METHOD_TYPE *pEapMethodType,
  116. HWND hwndParent,
  117. DWORD dwFlags,
  118. LPCWSTR pwszMachineName,
  119. DWORD dwSizeOfConfigIn,
  120. BYTE *pConfigIn,
  121. DWORD *pdwSizeOfConfigOut,
  122. BYTE **ppConfigOut,
  123. EAP_ERROR **pEapError
  124. );
  125. DWORD WINAPI EapMethodAuthenticatorReceivePacket(
  126. EAP_SESSION_HANDLE sessionHandle,
  127. DWORD cbReceivePacket,
  128. const EapPacket *pReceivePacket,
  129. EAP_METHOD_AUTHENTICATOR_RESPONSE_ACTION *pEapOutput,
  130. EAP_ERROR **ppEapError
  131. );
  132. DWORD WINAPI EapMethodAuthenticatorSendPacket(
  133. EAP_SESSION_HANDLE sessionHandle,
  134. BYTE bPacketId,
  135. DWORD *pcbSendPacket,
  136. EapPacket *pSendPacket,
  137. EAP_AUTHENTICATOR_SEND_TIMEOUT *pTimeout,
  138. EAP_ERROR **ppEapError
  139. );
  140. DWORD WINAPI EapMethodAuthenticatorSetAttributes(
  141. EAP_SESSION_HANDLE sessionHandle,
  142. const EapAttributes *pAttribs,
  143. EAP_METHOD_AUTHENTICATOR_RESPONSE_ACTION *pEapOutput,
  144. EAP_ERROR **ppEapError
  145. );
  146. DWORD WINAPI EapMethodAuthenticatorShutdown(
  147. EAP_METHOD_TYPE *peapType,
  148. EAP_ERROR **ppEapError
  149. );
  150. DWORD WINAPI EapMethodAuthenticatorUpdateInnerMethodParams(
  151. EAP_SESSION_HANDLE sessionHandle,
  152. DWORD dwFlags,
  153. const WCHAR *pwszIdentity,
  154. const EapAttributes *pAttributeArray,
  155. EAP_ERROR **ppEapError
  156. );
  157. #ifdef __cplusplus
  158. }
  159. #endif
  160. #endif /*(_WIN32_WINNT >= 0x0600)*/
  161. #endif /*_INC_EAPMETHODAUTHENTICATORAPIS*/