123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278 |
- /**
- * This file is part of the mingw-w64 runtime package.
- * No warranty is given; refer to the file DISCLAIMER within this package.
- */
- #ifndef _RASEAPIF_
- #define _RASEAPIF_
- #include <winapifamily.h>
- #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
- #ifdef __cplusplus
- extern "C" {
- #endif
- #define RAS_EAP_REGISTRY_LOCATION TEXT("System\\CurrentControlSet\\Services\\Rasman\\PPP\\EAP")
- #define RAS_EAP_VALUENAME_PATH TEXT("Path")
- #define RAS_EAP_VALUENAME_CONFIGUI TEXT("ConfigUIPath")
- #define RAS_EAP_VALUENAME_INTERACTIVEUI TEXT("InteractiveUIPath")
- #define RAS_EAP_VALUENAME_IDENTITY TEXT("IdentityPath")
- #define RAS_EAP_VALUENAME_FRIENDLY_NAME TEXT("FriendlyName")
- #define RAS_EAP_VALUENAME_DEFAULT_DATA TEXT("ConfigData")
- #define RAS_EAP_VALUENAME_REQUIRE_CONFIGUI TEXT("RequireConfigUI")
- #define RAS_EAP_VALUENAME_ENCRYPTION TEXT("MPPEEncryptionSupported")
- #define RAS_EAP_VALUENAME_INVOKE_NAMEDLG TEXT("InvokeUsernameDialog")
- #define RAS_EAP_VALUENAME_INVOKE_PWDDLG TEXT("InvokePasswordDialog")
- #define RAS_EAP_VALUENAME_CONFIG_CLSID TEXT("ConfigCLSID")
- #define RAS_EAP_VALUENAME_STANDALONE_SUPPORTED TEXT("StandaloneSupported")
- #define RAS_EAP_VALUENAME_ROLES_SUPPORTED TEXT("RolesSupported")
- #define RAS_EAP_VALUENAME_PER_POLICY_CONFIG TEXT("PerPolicyConfig")
- #define RAS_EAP_VALUENAME_ISTUNNEL_METHOD TEXT("IsTunnelMethod")
- #define RAS_EAP_VALUENAME_FILTER_INNERMETHODS TEXT("FilterInnerMethods")
- #define RAS_EAP_ROLE_AUTHENTICATOR 0x00000001
- #define RAS_EAP_ROLE_AUTHENTICATEE 0x00000002
- #define RAS_EAP_ROLE_EXCLUDE_IN_EAP 0x00000004
- #define RAS_EAP_ROLE_EXCLUDE_IN_PEAP 0x00000008
- #define RAS_EAP_ROLE_EXCLUDE_IN_VPN 0x00000010
- typedef enum _RAS_AUTH_ATTRIBUTE_TYPE_ {
- raatMinimum = 0,
- raatUserName,
- raatUserPassword,
- raatMD5CHAPPassword,
- raatNASIPAddress,
- raatNASPort,
- raatServiceType,
- raatFramedProtocol,
- raatFramedIPAddress,
- raatFramedIPNetmask,
- raatFramedRouting = 10,
- raatFilterId,
- raatFramedMTU,
- raatFramedCompression,
- raatLoginIPHost,
- raatLoginService,
- raatLoginTCPPort,
- raatUnassigned17,
- raatReplyMessage,
- raatCallbackNumber,
- raatCallbackId =20,
- raatUnassigned21,
- raatFramedRoute,
- raatFramedIPXNetwork,
- raatState,
- raatClass,
- raatVendorSpecific,
- raatSessionTimeout,
- raatIdleTimeout,
- raatTerminationAction,
- raatCalledStationId = 30,
- raatCallingStationId,
- raatNASIdentifier,
- raatProxyState,
- raatLoginLATService,
- raatLoginLATNode,
- raatLoginLATGroup,
- raatFramedAppleTalkLink,
- raatFramedAppleTalkNetwork,
- raatFramedAppleTalkZone,
- raatAcctStatusType = 40,
- raatAcctDelayTime,
- raatAcctInputOctets,
- raatAcctOutputOctets,
- raatAcctSessionId,
- raatAcctAuthentic,
- raatAcctSessionTime,
- raatAcctInputPackets,
- raatAcctOutputPackets,
- raatAcctTerminateCause,
- raatAcctMultiSessionId = 50,
- raatAcctLinkCount,
- raatAcctEventTimeStamp = 55,
- raatMD5CHAPChallenge = 60,
- raatNASPortType,
- raatPortLimit,
- raatLoginLATPort,
- raatTunnelType,
- raatTunnelMediumType,
- raatTunnelClientEndpoint,
- raatTunnelServerEndpoint,
- raatARAPPassword = 70,
- raatARAPFeatures,
- raatARAPZoneAccess,
- raatARAPSecurity,
- raatARAPSecurityData,
- raatPasswordRetry,
- raatPrompt,
- raatConnectInfo,
- raatConfigurationToken,
- raatEAPMessage,
- raatSignature = 80,
- raatARAPChallengeResponse = 84,
- raatAcctInterimInterval = 85,
- raatNASIPv6Address = 95,
- raatFramedInterfaceId,
- raatFramedIPv6Prefix,
- raatLoginIPv6Host,
- raatFramedIPv6Route,
- raatFramedIPv6Pool,
- raatARAPGuestLogon = 8096,
- raatCertificateOID,
- raatEAPConfiguration,
- raatPEAPEmbeddedEAPTypeId = 8099,
- raatInnerEAPTypeId = 8099,
- raatPEAPFastRoamedSession = 8100,
- raatFastRoamedSession = 8100,
- raatEAPTLV = 8102,
- raatCredentialsChanged,
- raatPeerId = 9000,
- raatServerId,
- raatMethodId,
- raatEMSK,
- raatSessionId,
- raatReserved = 0xffffffff
- } RAS_AUTH_ATTRIBUTE_TYPE;
- #define raatARAPChallenge 33
- #define raatARAPOldPassword 19
- #define raatARAPNewPassword 20
- #define raatARAPPasswordChangeReason 21
- typedef struct _RAS_AUTH_ATTRIBUTE {
- RAS_AUTH_ATTRIBUTE_TYPE raaType;
- DWORD dwLength;
- PVOID Value;
- } RAS_AUTH_ATTRIBUTE,*PRAS_AUTH_ATTRIBUTE;
- #define EAPCODE_Request 1
- #define EAPCODE_Response 2
- #define EAPCODE_Success 3
- #define EAPCODE_Failure 4
- #define MAXEAPCODE 4
- #define RAS_EAP_FLAG_ROUTER 0x00000001
- #define RAS_EAP_FLAG_NON_INTERACTIVE 0x00000002
- #define RAS_EAP_FLAG_LOGON 0x00000004
- #define RAS_EAP_FLAG_PREVIEW 0x00000008
- #define RAS_EAP_FLAG_FIRST_LINK 0x00000010
- #define RAS_EAP_FLAG_MACHINE_AUTH 0x00000020
- #define RAS_EAP_FLAG_GUEST_ACCESS 0x00000040
- #define RAS_EAP_FLAG_8021X_AUTH 0x00000080
- #define RAS_EAP_FLAG_HOSTED_IN_PEAP 0x00000100
- #define RAS_EAP_FLAG_RESUME_FROM_HIBERNATE 0x00000200
- #define RAS_EAP_FLAG_PEAP_UPFRONT 0x00000400
- #define RAS_EAP_FLAG_ALTERNATIVE_USER_DB 0x00000800
- #define RAS_EAP_FLAG_PEAP_FORCE_FULL_AUTH 0x00001000
- #define RAS_EAP_FLAG_PRE_LOGON 0x00020000
- #define RAS_EAP_FLAG_CONFG_READONLY 0x00080000
- #define RAS_EAP_FLAG_RESERVED 0x00100000
- #define RAS_EAP_FLAG_SAVE_CREDMAN 0x00200000
- typedef struct _PPP_EAP_PACKET {
- BYTE Code;
- BYTE Id;
- BYTE Length[2];
- BYTE Data[1];
- } PPP_EAP_PACKET,*PPPP_EAP_PACKET;
- #define PPP_EAP_PACKET_HDR_LEN (sizeof(PPP_EAP_PACKET) - 1)
- typedef struct _PPP_EAP_INPUT {
- DWORD dwSizeInBytes;
- DWORD fFlags;
- WINBOOL fAuthenticator;
- WCHAR *pwszIdentity;
- WCHAR *pwszPassword;
- BYTE bInitialId;
- RAS_AUTH_ATTRIBUTE *pUserAttributes;
- WINBOOL fAuthenticationComplete;
- DWORD dwAuthResultCode;
- HANDLE hTokenImpersonateUser;
- WINBOOL fSuccessPacketReceived;
- WINBOOL fDataReceivedFromInteractiveUI;
- PBYTE pDataFromInteractiveUI;
- DWORD dwSizeOfDataFromInteractiveUI;
- PBYTE pConnectionData;
- DWORD dwSizeOfConnectionData;
- PBYTE pUserData;
- DWORD dwSizeOfUserData;
- HANDLE hReserved;
- } PPP_EAP_INPUT,*PPPP_EAP_INPUT;
- typedef enum _PPP_EAP_ACTION {
- EAPACTION_NoAction,
- EAPACTION_Authenticate,
- EAPACTION_Done,
- EAPACTION_SendAndDone,
- EAPACTION_Send,
- EAPACTION_SendWithTimeout,
- EAPACTION_SendWithTimeoutInteractive,
- EAPACTION_IndicateTLV,
- EAPACTION_IndicateIdentity
- } PPP_EAP_ACTION;
- typedef struct _PPP_EAP_OUTPUT {
- DWORD dwSizeInBytes;
- PPP_EAP_ACTION Action;
- DWORD dwAuthResultCode;
- RAS_AUTH_ATTRIBUTE *pUserAttributes;
- WINBOOL fInvokeInteractiveUI;
- PBYTE pUIContextData;
- DWORD dwSizeOfUIContextData;
- WINBOOL fSaveConnectionData;
- PBYTE pConnectionData;
- DWORD dwSizeOfConnectionData;
- WINBOOL fSaveUserData;
- PBYTE pUserData;
- DWORD dwSizeOfUserData;
- } PPP_EAP_OUTPUT,*PPPP_EAP_OUTPUT;
- typedef struct _PPP_EAP_INFO {
- DWORD dwSizeInBytes;
- DWORD dwEapTypeId;
- DWORD (WINAPI *RasEapInitialize)(WINBOOL fInitialize);
- DWORD (WINAPI *RasEapBegin)(VOID **ppWorkBuffer, PPP_EAP_INPUT *pPppEapInput);
- DWORD (WINAPI *RasEapEnd)(VOID *pWorkBuffer);
- DWORD (WINAPI *RasEapMakeMessage)(VOID *pWorkBuf, PPP_EAP_PACKET *pReceivePacket, PPP_EAP_PACKET *pSendPacket, DWORD cbSendPacket, PPP_EAP_OUTPUT *pEapOutput, PPP_EAP_INPUT *pEapInput);
- } PPP_EAP_INFO,*PPPP_EAP_INFO;
- typedef struct _LEGACY_IDENTITY_UI_PARAMS {
- DWORD eapType;
- DWORD dwFlags;
- DWORD dwSizeofConnectionData;
- BYTE *pConnectionData;
- DWORD dwSizeofUserData;
- BYTE *pUserData;
- DWORD dwSizeofUserDataOut;
- BYTE *pUserDataOut;
- LPWSTR pwszIdentity;
- DWORD dwError;
- } LEGACY_IDENTITY_UI_PARAMS;
- typedef struct _LEGACY_INTERACTIVE_UI_PARAMS {
- DWORD eapType;
- DWORD dwSizeofContextData;
- BYTE *pContextData;
- DWORD dwSizeofInteractiveUIData;
- BYTE *pInteractiveUIData;
- DWORD dwError;
- } LEGACY_INTERACTIVE_UI_PARAMS;
- DWORD WINAPI RasEapGetInfo(DWORD dwEapTypeId, PPP_EAP_INFO *pEapInfo);
- DWORD WINAPI RasEapFreeMemory(BYTE *pMemory);
- DWORD WINAPI RasEapInvokeInteractiveUI(DWORD dwEapTypeId, HWND hwndParent, BYTE *pUIContextData, DWORD dwSizeOfUIContextData, BYTE **ppDataFromInteractiveUI, DWORD *pdwSizeOfDataFromInteractiveUI);
- DWORD WINAPI RasEapInvokeConfigUI(DWORD dwEapTypeId, HWND hwndParent, DWORD dwFlags, BYTE *pConnectionDataIn, DWORD dwSizeOfConnectionDataIn, BYTE **ppConnectionDataOut, DWORD *pdwSizeOfConnectionDataOut);
- DWORD WINAPI RasEapGetIdentity(DWORD dwEapTypeId, HWND hwndParent, DWORD dwFlags, const WCHAR *pwszPhonebook, const WCHAR *pwszEntry, BYTE *pConnectionDataIn, DWORD dwSizeOfConnectionDataIn, BYTE *pUserDataIn, DWORD dwSizeOfUserDataIn, BYTE **ppUserDataOut, DWORD *pdwSizeOfUserDataOut, WCHAR **ppwszIdentityOut);
- #ifdef __cplusplus
- }
- #endif
- #endif
- #endif
|