home *** CD-ROM | disk | FTP | other *** search
- /********************************************************************/
- /** 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
-