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