mirror of
https://github.com/QB64Official/qb64.git
synced 2024-08-22 02:05:08 +00:00
310 lines
10 KiB
C
310 lines
10 KiB
C
/**
|
|
* 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*/
|