comparison fuhtark_test/include/winapi/raseapif.h @ 1500:91c8c3b7cbf0

add: futhark tests for generating vulkan api
author sam <sam@basx.dev>
date Wed, 26 Nov 2025 21:36:48 +0700
parents
children
comparison
equal deleted inserted replaced
1499:1f58458b7ef7 1500:91c8c3b7cbf0
1 /**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the w64 mingw-runtime package.
4 * No warranty is given; refer to the file DISCLAIMER within this package.
5 */
6 #ifndef _RASEAPIF_
7 #define _RASEAPIF_
8
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12
13 #define RAS_EAP_REGISTRY_LOCATION TEXT("System\\CurrentControlSet\\Services\\Rasman\\PPP\\EAP")
14
15 #define RAS_EAP_VALUENAME_PATH TEXT("Path")
16 #define RAS_EAP_VALUENAME_CONFIGUI TEXT("ConfigUIPath")
17 #define RAS_EAP_VALUENAME_INTERACTIVEUI TEXT("InteractiveUIPath")
18 #define RAS_EAP_VALUENAME_IDENTITY TEXT("IdentityPath")
19 #define RAS_EAP_VALUENAME_FRIENDLY_NAME TEXT("FriendlyName")
20 #define RAS_EAP_VALUENAME_DEFAULT_DATA TEXT("ConfigData")
21 #define RAS_EAP_VALUENAME_REQUIRE_CONFIGUI TEXT("RequireConfigUI")
22 #define RAS_EAP_VALUENAME_ENCRYPTION TEXT("MPPEEncryptionSupported")
23 #define RAS_EAP_VALUENAME_INVOKE_NAMEDLG TEXT("InvokeUsernameDialog")
24 #define RAS_EAP_VALUENAME_INVOKE_PWDDLG TEXT("InvokePasswordDialog")
25 #define RAS_EAP_VALUENAME_CONFIG_CLSID TEXT("ConfigCLSID")
26 #define RAS_EAP_VALUENAME_STANDALONE_SUPPORTED TEXT("StandaloneSupported")
27 #define RAS_EAP_VALUENAME_ROLES_SUPPORTED TEXT("RolesSupported")
28 #define RAS_EAP_VALUENAME_PER_POLICY_CONFIG TEXT("PerPolicyConfig")
29
30 #define RAS_EAP_ROLE_AUTHENTICATOR 0x00000001
31 #define RAS_EAP_ROLE_AUTHENTICATEE 0x00000002
32
33 #define RAS_EAP_ROLE_EXCLUDE_IN_EAP 0x00000004
34 #define RAS_EAP_ROLE_EXCLUDE_IN_PEAP 0x00000008
35 #define RAS_EAP_ROLE_EXCLUDE_IN_VPN 0x00000010
36
37 typedef enum _RAS_AUTH_ATTRIBUTE_TYPE_ {
38 raatMinimum = 0,raatUserName,raatUserPassword,raatMD5CHAPPassword,raatNASIPAddress,raatNASPort,raatServiceType,raatFramedProtocol,
39 raatFramedIPAddress,raatFramedIPNetmask,raatFramedRouting = 10,raatFilterId,raatFramedMTU,raatFramedCompression,raatLoginIPHost,
40 raatLoginService,raatLoginTCPPort,raatUnassigned17,raatReplyMessage,raatCallbackNumber,raatCallbackId =20,raatUnassigned21,
41 raatFramedRoute,raatFramedIPXNetwork,raatState,raatClass,raatVendorSpecific,raatSessionTimeout,raatIdleTimeout,raatTerminationAction,
42 raatCalledStationId = 30,raatCallingStationId,raatNASIdentifier,raatProxyState,raatLoginLATService,raatLoginLATNode,raatLoginLATGroup,
43 raatFramedAppleTalkLink,raatFramedAppleTalkNetwork,raatFramedAppleTalkZone,raatAcctStatusType = 40,raatAcctDelayTime,raatAcctInputOctets,
44 raatAcctOutputOctets,raatAcctSessionId,raatAcctAuthentic,raatAcctSessionTime,raatAcctInputPackets,raatAcctOutputPackets,raatAcctTerminateCause,
45 raatAcctMultiSessionId = 50,raatAcctLinkCount,raatAcctEventTimeStamp = 55,raatMD5CHAPChallenge = 60,raatNASPortType,raatPortLimit,raatLoginLATPort,
46 raatTunnelType,raatTunnelMediumType,raatTunnelClientEndpoint,raatTunnelServerEndpoint,raatARAPPassword = 70,raatARAPFeatures,raatARAPZoneAccess,
47 raatARAPSecurity,raatARAPSecurityData,raatPasswordRetry,raatPrompt,raatConnectInfo,raatConfigurationToken,raatEAPMessage,raatSignature = 80,
48 raatARAPChallengeResponse = 84,raatAcctInterimInterval = 85,raatARAPGuestLogon = 8096,raatCertificateOID,raatEAPConfiguration,
49 raatPEAPEmbeddedEAPTypeId,raatPEAPFastRoamedSession,raatEAPTLV = 8102,raatReserved = 0xFFFFFFFF
50 } RAS_AUTH_ATTRIBUTE_TYPE;
51
52 #define raatARAPChallenge 33
53 #define raatARAPOldPassword 19
54 #define raatARAPNewPassword 20
55 #define raatARAPPasswordChangeReason 21
56
57 typedef struct _RAS_AUTH_ATTRIBUTE {
58 RAS_AUTH_ATTRIBUTE_TYPE raaType;
59 DWORD dwLength;
60 PVOID Value;
61 } RAS_AUTH_ATTRIBUTE,*PRAS_AUTH_ATTRIBUTE;
62
63 #define EAPCODE_Request 1
64 #define EAPCODE_Response 2
65 #define EAPCODE_Success 3
66 #define EAPCODE_Failure 4
67
68 #define MAXEAPCODE 4
69
70 #define RAS_EAP_FLAG_ROUTER 0x00000001
71 #define RAS_EAP_FLAG_NON_INTERACTIVE 0x00000002
72 #define RAS_EAP_FLAG_LOGON 0x00000004
73 #define RAS_EAP_FLAG_PREVIEW 0x00000008
74 #define RAS_EAP_FLAG_FIRST_LINK 0x00000010
75 #define RAS_EAP_FLAG_MACHINE_AUTH 0x00000020
76 #define RAS_EAP_FLAG_GUEST_ACCESS 0x00000040
77 #define RAS_EAP_FLAG_8021X_AUTH 0x00000080
78 #define RAS_EAP_FLAG_HOSTED_IN_PEAP 0x00000100
79 #define RAS_EAP_FLAG_RESUME_FROM_HIBERNATE 0x00000200
80 #define RAS_EAP_FLAG_PEAP_UPFRONT 0x00000400
81 #define RAS_EAP_FLAG_ALTERNATIVE_USER_DB 0x00000800
82
83 typedef struct _PPP_EAP_PACKET {
84 BYTE Code;
85 BYTE Id;
86 BYTE Length[2];
87 BYTE Data[1];
88 } PPP_EAP_PACKET,*PPPP_EAP_PACKET;
89
90 #define PPP_EAP_PACKET_HDR_LEN (sizeof(PPP_EAP_PACKET) - 1)
91
92 typedef struct _PPP_EAP_INPUT {
93 DWORD dwSizeInBytes;
94 DWORD fFlags;
95 WINBOOL fAuthenticator;
96 WCHAR *pwszIdentity;
97 WCHAR *pwszPassword;
98 BYTE bInitialId;
99 RAS_AUTH_ATTRIBUTE *pUserAttributes;
100 WINBOOL fAuthenticationComplete;
101 DWORD dwAuthResultCode;
102 HANDLE hTokenImpersonateUser;
103 WINBOOL fSuccessPacketReceived;
104 WINBOOL fDataReceivedFromInteractiveUI;
105 PBYTE pDataFromInteractiveUI;
106 DWORD dwSizeOfDataFromInteractiveUI;
107 PBYTE pConnectionData;
108 DWORD dwSizeOfConnectionData;
109 PBYTE pUserData;
110 DWORD dwSizeOfUserData;
111 HANDLE hReserved;
112 } PPP_EAP_INPUT,*PPPP_EAP_INPUT;
113
114 typedef enum _PPP_EAP_ACTION {
115 EAPACTION_NoAction,EAPACTION_Authenticate,EAPACTION_Done,EAPACTION_SendAndDone,EAPACTION_Send,EAPACTION_SendWithTimeout,
116 EAPACTION_SendWithTimeoutInteractive,EAPACTION_IndicateTLV,EAPACTION_IndicateIdentity
117 } PPP_EAP_ACTION;
118
119 typedef struct _PPP_EAP_OUTPUT {
120 DWORD dwSizeInBytes;
121 PPP_EAP_ACTION Action;
122 DWORD dwAuthResultCode;
123 RAS_AUTH_ATTRIBUTE *pUserAttributes;
124 WINBOOL fInvokeInteractiveUI;
125 PBYTE pUIContextData;
126 DWORD dwSizeOfUIContextData;
127 WINBOOL fSaveConnectionData;
128 PBYTE pConnectionData;
129 DWORD dwSizeOfConnectionData;
130 WINBOOL fSaveUserData;
131 PBYTE pUserData;
132 DWORD dwSizeOfUserData;
133 } PPP_EAP_OUTPUT,*PPPP_EAP_OUTPUT;
134
135 typedef struct _PPP_EAP_INFO {
136 DWORD dwSizeInBytes;
137 DWORD dwEapTypeId;
138 DWORD (WINAPI *RasEapInitialize)(WINBOOL fInitialize);
139 DWORD (WINAPI *RasEapBegin)(VOID **ppWorkBuffer,PPP_EAP_INPUT *pPppEapInput);
140 DWORD (WINAPI *RasEapEnd)(VOID *pWorkBuffer);
141 DWORD (WINAPI *RasEapMakeMessage)(VOID *pWorkBuf,PPP_EAP_PACKET *pReceivePacket,PPP_EAP_PACKET *pSendPacket,DWORD cbSendPacket,PPP_EAP_OUTPUT *pEapOutput,PPP_EAP_INPUT *pEapInput);
142 } PPP_EAP_INFO,*PPPP_EAP_INFO;
143
144 DWORD WINAPI RasEapGetInfo(DWORD dwEapTypeId,PPP_EAP_INFO *pEapInfo);
145 DWORD WINAPI RasEapFreeMemory(BYTE *pMemory);
146 DWORD WINAPI RasEapInvokeInteractiveUI(DWORD dwEapTypeId,HWND hwndParent,BYTE *pUIContextData,DWORD dwSizeOfUIContextData,BYTE **ppDataFromInteractiveUI,DWORD *pdwSizeOfDataFromInteractiveUI);
147 DWORD WINAPI RasEapInvokeConfigUI(DWORD dwEapTypeId,HWND hwndParent,DWORD dwFlags,BYTE *pConnectionDataIn,DWORD dwSizeOfConnectionDataIn,BYTE **ppConnectionDataOut,DWORD *pdwSizeOfConnectionDataOut);
148 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 **ppwszIdentity);
149
150 #ifdef __cplusplus
151 }
152 #endif
153 #endif