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