|
|
// Copyright (c) 1997, Microsoft Corporation, all rights reserved
//
// eapcfg.h
// EAP configuration library
// Public header
//
// 11/25/97 Steve Cobb
#ifndef _EAPCFG_H_
#define _EAPCFG_H_
//----------------------------------------------------------------------------
// Constants
//----------------------------------------------------------------------------
// The default EAP key code, i.e. TLS.
//
#define EAPCFG_DefaultKey 13
//----------------------------------------------------------------------------
// Datatypes
//----------------------------------------------------------------------------
// EAP configuration DLL entrypoints. These definitions must match the
// raseapif.h prototypes for RasEapInvokeConfigUI and RasEapFreeUserData.
//
typedef DWORD (APIENTRY * RASEAPFREE)( PBYTE ); typedef DWORD (APIENTRY * RASEAPINVOKECONFIGUI)( DWORD, HWND, DWORD, PBYTE, DWORD, PBYTE*, DWORD*); typedef DWORD (APIENTRY * RASEAPGETIDENTITY)( DWORD, HWND, DWORD, const WCHAR*, const WCHAR*, PBYTE, DWORD, PBYTE, DWORD, PBYTE*, DWORD*, WCHAR** );
// Flags
//
#define EAPCFG_FLAG_RequireUsername 0x1
#define EAPCFG_FLAG_RequirePassword 0x2
// EAP configuration package definition.
//
typedef struct _EAPCFG { // The package's unique EAP algorithm code.
//
DWORD dwKey;
// The friendly name of the package suitable for display to the user.
//
TCHAR* pszFriendlyName;
// The SystemRoot-relative path to the package's configuration DLL. May
// be NULL indicating there is none.
//
TCHAR* pszConfigDll;
// The SystemRoot-relative path to the package's identity DLL. May
// be NULL indicating there is none.
//
TCHAR* pszIdentityDll;
// Flags that specify what standard credentials are required at dial
// time.
//
DWORD dwStdCredentialFlags;
// True if user is to be forced to run the configuration API for the
// package, i.e. defaults are not sufficient.
//
BOOL fForceConfig;
// True if the package provides MPPE encryption keys, false if not.
//
BOOL fProvidesMppeKeys;
// The package's default configuration blob, which can be overwritten by
// the configuration DLL. May be NULL and 0 indicating there is none.
//
BYTE* pData; DWORD cbData;
// Eap per user data to be stored in HKCU. This data is returned from
// the EapInvokeConfigUI entrypoint in the eap dll.
//
BYTE* pUserData; DWORD cbUserData;
// Set when the configuration DLL has been called on the package. This is
// not a registry setting. It is provided for the convenience of the UI
// only.
//
BOOL fConfigDllCalled;
// Specifies the class ID of the configuration UI for remote machines.
GUID guidConfigCLSID; } EAPCFG;
//----------------------------------------------------------------------------
// Prototypes
//----------------------------------------------------------------------------
DTLNODE* CreateEapcfgNode( void );
VOID DestroyEapcfgNode( IN OUT DTLNODE* pNode );
DTLNODE* EapcfgNodeFromKey( IN DTLLIST* pList, IN DWORD dwKey );
DTLLIST* ReadEapcfgList( IN TCHAR* pszMachine );
#endif // _EAPCFG_H_
|