| /** | |
| * This file has no copyright assigned and is placed in the Public Domain. | |
| * This file is part of the mingw-w64 runtime package. | |
| * No warranty is given; refer to the file DISCLAIMER.PD within this package. | |
| */ | |
| #ifndef _INC_EAPTYPES | |
| #define _INC_EAPTYPES | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| typedef DWORD EAP_SESSIONID; | |
| typedef void* EAP_SESSION_HANDLE; | |
| #define EAP_FLAG_Reserved1 0x00000001 | |
| #define EAP_FLAG_NON_INTERACTIVE 0x00000002 | |
| #define EAP_FLAG_LOGON 0x00000004 | |
| #define EAP_FLAG_PREVIEW 0x00000008 | |
| #define EAP_FLAG_Reserved2 0x00000010 | |
| #define EAP_FLAG_MACHINE_AUTH 0x00000020 | |
| #define EAP_FLAG_GUEST_ACCESS 0x00000040 | |
| #define EAP_FLAG_Reserved3 0x00000080 | |
| #define EAP_FLAG_Reserved4 0x00000100 | |
| #define EAP_FLAG_RESUME_FROM_HIBERNATE 0x00000200 | |
| #define EAP_FLAG_Reserved5 0x00000400 | |
| #define EAP_FLAG_Reserved6 0x00000800 | |
| #define EAP_FLAG_FULL_AUTH 0x00001000 | |
| #define EAP_FLAG_PREFER_ALT_CREDENTIALS 0x00002000 | |
| #define EAP_FLAG_Reserved7 0x00004000 | |
| #define EAP_PEER_FLAG_HEALTH_STATE_CHANGE 0x00008000 | |
| #define EAP_FLAG_SUPRESS_UI 0x00010000 | |
| #define EAP_FLAG_PRE_LOGON 0x00020000 | |
| #define EAP_FLAG_USER_AUTH 0x00040000 | |
| #define EAP_FLAG_CONFG_READONLY 0x00080000 | |
| #define EAP_FLAG_Reserved8 0x00100000 | |
| typedef enum _EAP_ATTRIBUTE_TYPE { | |
| eatMinimum = 0, | |
| eatUserName = 1, | |
| eatUserPassword = 2, | |
| eatMD5CHAPPassword = 3, | |
| eatNASIPAddress = 4, | |
| eatNASport = 5, | |
| eatServiceType = 6, | |
| eatFramedProtocol = 7, | |
| eatFramedIPAddress = 8, | |
| eatFramedIPNetmask = 9, | |
| eatFramedRouting = 10, | |
| eatFilterId = 11, | |
| eatFramedMTU = 12, | |
| eatFramedCompression = 13, | |
| eatLoginIPHost = 14, | |
| eatLoginService = 15, | |
| eatLoginTCPPort = 16, | |
| eatUnassigned17 = 17, | |
| eatReplyMessage = 18, | |
| eatCallbackNumber = 19, | |
| eatCallbackId = 20, | |
| eatUnassigned21 = 21, | |
| eatFramedRoute = 22, | |
| eatFramedIPXNetwork = 23, | |
| eatState = 24, | |
| eatClass = 25, | |
| eatVendorSpecific = 26, | |
| eatSessionTimeout = 27, | |
| eatIdleTimeout = 28, | |
| eatTerminationAction = 29, | |
| eatCalledStationId = 30, | |
| eatCallingStationId = 31, | |
| eatNASIdentifier = 32, | |
| eatProxyState = 33, | |
| eatLoginLATService = 34, | |
| eatLoginLATNode = 35, | |
| eatLoginLATGroup = 36, | |
| eatFramedAppleTalkLink = 37, | |
| eatFramedAppleTalkNetwork = 38, | |
| eatFramedAppleTalkZone = 39, | |
| eatAcctStatusType = 40, | |
| eatAcctDelayTime = 41, | |
| eatAcctInputOctets = 42, | |
| eatAcctOutputOctets = 43, | |
| eatAcctSessionId = 44, | |
| eatAcctAuthentic = 45, | |
| eatAcctSessionTime = 46, | |
| eatAcctInputPackets = 47, | |
| eatAcctOutputPackets = 48, | |
| eatAcctTerminateCause = 49, | |
| eatAcctMultiSessionId = 50, | |
| eatAcctLinkCount = 51, | |
| eatAcctEventTimeStamp = 55, | |
| eatMD5CHAPChallenge = 60, | |
| eatNASPortType = 61, | |
| eatPortLimit = 62, | |
| eatLoginLATPort = 63, | |
| eatTunnelType = 64, | |
| eatTunnelMediumType = 65, | |
| eatTunnelClientEndpoint = 66, | |
| eatTunnelServerEndpoint = 67, | |
| eatARAPPassword = 70, | |
| eatARAPFeatures = 71, | |
| eatARAPZoneAccess = 72, | |
| eatARAPSecurity = 73, | |
| eatARAPSecurityData = 74, | |
| eatPasswordRetry = 75, | |
| eatPrompt = 76, | |
| eatConnectInfo = 77, | |
| eatConfigurationToken = 78, | |
| eatEAPMessage = 79, | |
| eatSignature = 80, | |
| eatARAPChallengeResponse = 84, | |
| eatAcctInterimInterval = 85, | |
| eatNASIPv6Address = 95, | |
| eatFramedInterfaceId = 96, | |
| eatFramedIPv6Prefix = 97, | |
| eatLoginIPv6Host = 98, | |
| eatFramedIPv6Route = 99, | |
| eatFramedIPv6Pool = 100, | |
| eatARAPGuestLogon = 8096, | |
| eatCertificateOID = 8097, | |
| eatEAPConfiguration = 8098, | |
| eatPEAPEmbeddedEAPTypeId = 8099, | |
| eatPEAPFastRoamedSession = 8100, | |
| eatEAPTLV = 8102, | |
| eatCredentialsChanged = 8103, | |
| eatInnerEapMethodType = 8104, | |
| eatClearTextPassword = 8107, | |
| eatQuarantineSoH = 8150, | |
| eatPeerId = 9000, | |
| eatServerId = 9001, | |
| eatMethodId = 9002, | |
| eatEMSK = 9003, | |
| eatSessionId = 9004, | |
| eatReserved = 0xFFFFFFFF | |
| } EAP_ATTRIBUTE_TYPE, EapAttributeType; | |
| typedef struct _EAP_ATTRIBUTE { | |
| EAP_ATTRIBUTE_TYPE eapType; | |
| DWORD dwLength; | |
| BYTE * pValue; | |
| } EAP_ATTRIBUTE, EapAttribute; | |
| typedef struct _EAP_ATTRIBUTES { | |
| DWORD dwNumberOfAttributes; | |
| EAP_ATTRIBUTE *pAttribs; | |
| } EAP_ATTRIBUTES, EapAttributes; | |
| typedef struct _EAP_TYPE { | |
| BYTE type; | |
| DWORD dwVendorId; | |
| DWORD dwVendorType; | |
| } EAP_TYPE; | |
| typedef struct _EAP_METHOD_TYPE { | |
| EAP_TYPE eapType; | |
| DWORD dwAuthorId; | |
| } EAP_METHOD_TYPE; | |
| typedef struct _EAP_ERROR { | |
| DWORD dwWinError; | |
| EAP_METHOD_TYPE type; | |
| DWORD dwReasonCode; | |
| GUID rootCauseGuid; | |
| GUID repairGuid; | |
| GUID helpLinkGuid; | |
| LPWSTR pRootCauseString; | |
| LPWSTR pRepairString; | |
| } EAP_ERROR; | |
| typedef enum _EAP_CONFIG_INPUT_FIELD_TYPE { | |
| EapConfigInputUsername = 0, | |
| EapConfigInputPassword, | |
| EapConfigInputNetworkUsername, | |
| EapConfigInputNetworkPassword, | |
| EapConfigInputPin, | |
| EapConfigInputPSK, | |
| EapConfigInputEdit, | |
| EapConfigSmartCardUsername, | |
| EapConfigSmartCardError | |
| } EAP_CONFIG_INPUT_FIELD_TYPE; | |
| typedef enum _EAP_INTERACTIVE_UI_DATA_TYPE { | |
| EapCredReq, | |
| EapCredResp, | |
| EapCredExpiryReq, | |
| EapCredExpiryResp | |
| } EAP_INTERACTIVE_UI_DATA_TYPE; | |
| #define EAP_UI_INPUT_FIELD_PROPS_DEFAULT 0x00000000 | |
| #define EAP_CONFIG_INPUT_FIELD_PROPS_DEFAULT 0x00000000 | |
| #define EAP_UI_INPUT_FIELD_PROPS_NON_DISPLAYABLE 0x00000001 | |
| #define EAP_CONFIG_INPUT_FIELD_PROPS_NON_DISPLAYABLE 0x00000001 | |
| #define EAP_UI_INPUT_FIELD_PROPS_NON_PERSIST 0x00000002 | |
| #define EAP_CONFIG_INPUT_FIELD_PROPS_NON_PERSIST 0x00000002 | |
| #define EAP_UI_INPUT_FIELD_PROPS_READ_ONLY 0x00000004 | |
| #define MAX_EAP_CONFIG_INPUT_FIELD_LENGTH 256 | |
| #define MAX_EAP_CONFIG_INPUT_FIELD_VALUE_LENGTH 1024 | |
| typedef struct _EAP_CONFIG_INPUT_FIELD_DATA { | |
| DWORD dwSize; | |
| EAP_CONFIG_INPUT_FIELD_TYPE Type; | |
| DWORD dwFlagProps; | |
| LPWSTR pwszLabel; | |
| LPWSTR pwszData; | |
| DWORD dwMinDataLength; | |
| DWORD dwMaxDataLength; | |
| } EAP_CONFIG_INPUT_FIELD_DATA, *PEAP_CONFIG_INPUT_FIELD_DATA; | |
| #define EAP_CREDENTIAL_VERSION 1 | |
| typedef struct _EAP_CONFIG_INPUT_FIELD_ARRAY { | |
| DWORD dwVersion; | |
| DWORD dwNumberOfFields; | |
| DWORD dwSize; | |
| EAP_CONFIG_INPUT_FIELD_DATA *pFields; | |
| } EAP_CONFIG_INPUT_FIELD_ARRAY, *PEAP_CONFIG_INPUT_FIELD_ARRAY; | |
| typedef EAP_CONFIG_INPUT_FIELD_ARRAY EAP_CRED_REQ; | |
| typedef EAP_CONFIG_INPUT_FIELD_ARRAY EAP_CRED_RESP; | |
| typedef struct _EAP_CRED_EXPIRY_REQ EAP_CRED_EXPIRY_REQ; | |
| typedef union _EAP_UI_DATA_FORMAT { | |
| EAP_CRED_REQ * credData; | |
| EAP_CRED_EXPIRY_REQ *credExpiryData; | |
| } EAP_UI_DATA_FORMAT; | |
| typedef struct _EAP_INTERACTIVE_UI_DATA { | |
| DWORD dwVersion; | |
| DWORD dwSize; | |
| EAP_INTERACTIVE_UI_DATA_TYPE dwDataType; | |
| DWORD cbUiData; | |
| EAP_UI_DATA_FORMAT pbUiData; | |
| } EAP_INTERACTIVE_UI_DATA; | |
| #define eapPropCipherSuiteNegotiation 0x00000001 | |
| #define eapPropMutualAuth 0x00000002 | |
| #define eapPropIntegrity 0x00000004 | |
| #define eapPropReplayProtection 0x00000008 | |
| #define eapPropConfidentiality 0x00000010 | |
| #define eapPropKeyDerivation 0x00000020 | |
| #define eapPropKeyStrength64 0x00000040 | |
| #define eapPropKeyStrength128 0x00000080 | |
| #define eapPropKeyStrength256 0x00000100 | |
| #define eapPropKeyStrength512 0x00000200 | |
| #define eapPropKeyStrength1024 0x00000400 | |
| #define eapPropDictionaryAttackResistance 0x00000800 | |
| #define eapPropFastReconnect 0x00001000 | |
| #define eapPropCryptoBinding 0x00002000 | |
| #define eapPropSessionIndependence 0x00004000 | |
| #define eapPropFragmentation 0x00008000 | |
| #define eapPropChannelBinding 0x00010000 | |
| #define eapPropNap 0x00020000 | |
| #define eapPropStandalone 0x00040000 | |
| #define eapPropMppeEncryption 0x00080000 | |
| #define eapPropTunnelMethod 0x00100000 | |
| #define eapPropSupportsConfig 0x00200000 | |
| #define eapPropCertifiedMethod 0x00400000 | |
| #if (_WIN32_WINNT >= 0x0601) | |
| #define eapPropmachineAuth 0x01000000 | |
| #define eapPropUserAuth 0x02000000 | |
| #define eapPropIdentityPrivacy 0x04000000 | |
| #define eapPropMethodChaining 0x08000000 | |
| #define eapPropSharedStateEquivalence 0x10000000 | |
| #endif /*(_WIN32_WINNT >= 0x0601)*/ | |
| #define eapPropReserved 0x20000000 | |
| typedef struct _EAP_METHOD_INFO { | |
| EAP_METHOD_TYPE eapType; | |
| LPWSTR pwszAuthorName; | |
| LPWSTR pwszFriendlyName; | |
| DWORD eapProperties; | |
| struct _EAP_METHOD_INFO *pInnerMethodInfo; | |
| } EAP_METHOD_INFO; | |
| typedef struct _EAP_METHOD_INFO_ARRAY { | |
| DWORD dwNumberOfMethods; | |
| EAP_METHOD_INFO *pEapMethods; | |
| } EAP_METHOD_INFO_ARRAY, *PEAP_METHOD_INFO_ARRAY; | |
| typedef struct _EAP_METHOD_INFO_EX { | |
| EAP_METHOD_TYPE eapType; | |
| LPWSTR pwszAuthorName; | |
| LPWSTR pwszFriendlyName; | |
| DWORD eapProperties; | |
| struct _EAP_METHOD_INFO_ARRAY_EX *pInnerMethodInfoArray; | |
| } EAP_METHOD_INFO_EX; | |
| typedef struct _EAP_METHOD_INFO_ARRAY_EX { | |
| DWORD dwNumberOfMethods; | |
| EAP_METHOD_INFO_EX *pEapMethods; | |
| } EAP_METHOD_INFO_ARRAY_EX, *PEAP_METHOD_INFO_ARRAY_EX; | |
| typedef struct _EAP_CRED_EXPIRY_REQ { | |
| EAP_CONFIG_INPUT_FIELD_ARRAY curCreds; | |
| EAP_CONFIG_INPUT_FIELD_ARRAY newCreds; | |
| } /* EAP_CRED_EXPIRY_REQ, */ *PEAP_CRED_EXPIRY_REQ; | |
| typedef struct _EAP_CRED_EXPIRY_RESP { | |
| EAP_CONFIG_INPUT_FIELD_ARRAY curCreds; | |
| EAP_CONFIG_INPUT_FIELD_ARRAY newCreds; | |
| } EAP_CRED_EXPIRY_RESP, *PEAP_CRED_EXPIRY_RESP; | |
| #ifdef __cplusplus | |
| } | |
| #endif | |
| #endif /*_INC_EAPTYPES*/ |