| /** |
| * 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*/ |