Files
Cyd 2b8ca921cb Initial full mirror of c:\VWE (source + assets + toolchain + outputs) via Git LFS
Complete disaster-recovery snapshot: engine/game source, game data assets,
VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive.
Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false,
no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
2026-06-24 21:28:16 -05:00

191 lines
7.5 KiB
C++

/********************************************************************/
/** Copyright(c) 1997 Microsoft Corporation. **/
/********************************************************************/
//***
//
// Filename: RASAUTH.H
//
// Description: Contains definitions to allow for third parties to plug in
// back-end authenticaion modules into Remote Access Service.
//
#ifndef _RASAUTH_
#define _RASAUTH_
#ifdef __cplusplus
extern "C" {
#endif
typedef enum _RAS_AUTH_ATTRIBUTE_TYPE_
{
raatMinimum = 0, // Undefined
raatUserName, // Value field is a Pointer
raatUserPassword, // Value field is a Pointer
raatMD5CHAPPassword, // Value field is a Pointer
raatNASIPAddress, // Value field is a 32 bit integral value
raatNASPort, // Value field is a 32 bit integral value
raatServiceType, // Value field is a 32 bit integral value
raatFramedProtocol, // Value field is a 32 bit integral value
raatFramedIPAddress, // Value field is a 32 bit integral value
raatFramedIPNetmask, // Value field is a 32 bit integral value
raatFramedRouting, // Value field is a 32 bit integral value
raatFilterId, // Value field is a Pointer
raatFramedMTU, // Value field is a 32 bit integral value
raatFramedCompression, // Value field is a 32 bit integral value
raatLoginIPHost, // Value field is a 32 bit integral value
raatLoginService, // Value field is a 32 bit integral value
raatLoginTCPPort, // Value field is a 32 bit integral value
raatUnassigned1, // Undefined
raatReplyMessage, // Value field is a Pointer
raatCallbackNumber, // Value field is a Pointer
raatCallbackId, // Value field is a Pointer
raatUnassigned2, // Undefined
raatFramedRoute, // Value field is a Pointer
raatFramedIPXNetwork, // Value field is a 32 bit integral value
raatState, // Value field is a Pointer
raatClass, // Value field is a Pointer
raatVendorSpecific, // Value field is a Pointer
raatSessionTimeout, // Value field is a 32 bit integral value
raatIdleTimeout, // Value field is a 32 bit integral value
raatTerminationAction, // Value field is a 32 bit integral value
raatCalledStationId, // Value field is a Pointer
raatCallingStationId, // Value field is a Pointer
raatNASIdentifier, // Value field is a Pointer
raatProxyState, // Value field is a Pointer
raatLoginLATService, // Value field is a Pointer
raatLoginLATNode, // Value field is a Pointer
raatLoginLATGroup, // Value field is a Pointer
raatFramedAppleTalkLink, // Value field is a 32 bit integral value
raatFramedAppleTalkNetwork, // Value field is a 32 bit integral value
raatFramedAppleTalkZone, // Value field is a Pointer
raatAcctStatusType, // Value field is a 32 bit integral value
raatAcctDelayType, // Value field is a 32 bit integral value
raatAcctInputOctets, // Value field is a 32 bit integral value
raatAcctOutputOctets, // Value field is a 32 bit integral value
raatAcctSessionId, // Value field is a Pointer
raatAcctAuthentic, // Value field is a 32 bit integral value
raatAcctSessionTime, // Value field is a 32 bit integral value
raatAcctInputPackets, // Value field is a 32 bit integral value
raatAcctOutputPackets, // Value field is a 32 bit integral value
raatAcctTerminateCause, // Value field is a 32 bit integral value
raatAcctMultiSessionId, // Value field is a Pointer
raatAcctLinkCount, // Value field is a 32 bit integral value
raatMD5CHAPChallenge = 60, // Value field is a Pointer
raatNASPortType, // Value field is a 32 bit integral value
raatPortLimit, // Value field is a 32 bit integral value
raatLoginLATPort, // Value field is a Pointer
raatPrompt, // Value field is a 32 bit integral value
raatConnectInfo, // Value field is a Pointer
raatSignature, // Value field is a Pointer
raatEAPMessage, // Value field is a Pointer
raatConfigurationToken, // Value field is a Pointer
raatPasswordRetry, // Value field is a 32 bit integral value
raatARAPPassword, // Value field is a Pointer
raatARAPFeatures, // Value field is a Pointer
raatARAPZoneAccess, // Value field is a 32 bit integral value
raatARAPSecurity, // Value field is a 32 bit integral value
raatARAPSecurityData, // Value field is a Pointer
raatReserved = (0xFFFFFFFF) // Undefined
}RAS_AUTH_ATTRIBUTE_TYPE;
//
// Value is set to the 32 bit integral value or a pointer to data.
// 32 bit integral values should be in host format, not network format.
// Length for a 32 bit integral value can be 1, 2 or 4. The array of
// attributes must be terminated with an attribute of type raatMinimum.
//
typedef struct _RAS_AUTH_ATTRIBUTE
{
RAS_AUTH_ATTRIBUTE_TYPE raaType;
DWORD dwLength;
PVOID Value;
}RAS_AUTH_ATTRIBUTE, *PRAS_AUTH_ATTRIBUTE;
//
// The following APIs (except for RasStartAccounting and RasStopAccounting)
// must be exported by the back-end authentication DLL
//
//
// Called from setup application to allow backend package to bring up UI to
// configure itself.
//
VOID APIENTRY
RasAuthSetup(
VOID
);
DWORD APIENTRY
RasAuthConfigChangeNotification(
VOID
);
//
// Called once before any other calls are made.
//
DWORD APIENTRY
RasAuthInitialize(
VOID
);
//
// Called once to deallocate resources etc. No more calls will be made before
// calling RasAuthInitialize again
//
DWORD APIENTRY
RasAuthTerminate(
VOID
);
//
// Called once per multilink connection, not per link.
//
DWORD APIENTRY
RasStartAccounting(
IN RAS_AUTH_ATTRIBUTE * pInAttributes,
OUT PRAS_AUTH_ATTRIBUTE * ppOutAttributes
);
//
// Called once per multilink connection, not per link.
//
DWORD APIENTRY
RasStopAccounting(
IN RAS_AUTH_ATTRIBUTE * pInAttributes,
OUT PRAS_AUTH_ATTRIBUTE * ppOutAttributes
);
//
// Called to authenticate a dialed in user.
//
DWORD APIENTRY
RasAuthenticateUser(
IN RAS_AUTH_ATTRIBUTE * pInAttributes,
OUT PRAS_AUTH_ATTRIBUTE * ppOutAttributes,
OUT DWORD * lpdwResultCode
);
//
// Called to free attributes allocated by the back-end module
//
DWORD APIENTRY
RasFreeAttributes(
IN RAS_AUTH_ATTRIBUTE * pAttributes
);
#ifdef __cplusplus
}
#endif
#endif