Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

122 lines
3.1 KiB

  1. // Copyright (c) 1997, Microsoft Corporation, all rights reserved
  2. //
  3. // eapcfg.h
  4. // EAP configuration library
  5. // Public header
  6. //
  7. // 11/25/97 Steve Cobb
  8. #ifndef _EAPCFG_H_
  9. #define _EAPCFG_H_
  10. //----------------------------------------------------------------------------
  11. // Constants
  12. //----------------------------------------------------------------------------
  13. // The default EAP key code, i.e. TLS.
  14. //
  15. #define EAPCFG_DefaultKey 13
  16. //----------------------------------------------------------------------------
  17. // Datatypes
  18. //----------------------------------------------------------------------------
  19. // EAP configuration DLL entrypoints. These definitions must match the
  20. // raseapif.h prototypes for RasEapInvokeConfigUI and RasEapFreeUserData.
  21. //
  22. typedef DWORD (APIENTRY * RASEAPFREE)( PBYTE );
  23. typedef DWORD (APIENTRY * RASEAPINVOKECONFIGUI)( DWORD, HWND, DWORD, PBYTE, DWORD, PBYTE*, DWORD*);
  24. typedef DWORD (APIENTRY * RASEAPGETIDENTITY)( DWORD, HWND, DWORD, const WCHAR*, const WCHAR*, PBYTE, DWORD, PBYTE, DWORD, PBYTE*, DWORD*, WCHAR** );
  25. // Flags
  26. //
  27. #define EAPCFG_FLAG_RequireUsername 0x1
  28. #define EAPCFG_FLAG_RequirePassword 0x2
  29. // EAP configuration package definition.
  30. //
  31. typedef struct
  32. _EAPCFG
  33. {
  34. // The package's unique EAP algorithm code.
  35. //
  36. DWORD dwKey;
  37. // The friendly name of the package suitable for display to the user.
  38. //
  39. TCHAR* pszFriendlyName;
  40. // The SystemRoot-relative path to the package's configuration DLL. May
  41. // be NULL indicating there is none.
  42. //
  43. TCHAR* pszConfigDll;
  44. // The SystemRoot-relative path to the package's identity DLL. May
  45. // be NULL indicating there is none.
  46. //
  47. TCHAR* pszIdentityDll;
  48. // Flags that specify what standard credentials are required at dial
  49. // time.
  50. //
  51. DWORD dwStdCredentialFlags;
  52. // True if user is to be forced to run the configuration API for the
  53. // package, i.e. defaults are not sufficient.
  54. //
  55. BOOL fForceConfig;
  56. // True if the package provides MPPE encryption keys, false if not.
  57. //
  58. BOOL fProvidesMppeKeys;
  59. // The package's default configuration blob, which can be overwritten by
  60. // the configuration DLL. May be NULL and 0 indicating there is none.
  61. //
  62. BYTE* pData;
  63. DWORD cbData;
  64. // Eap per user data to be stored in HKCU. This data is returned from
  65. // the EapInvokeConfigUI entrypoint in the eap dll.
  66. //
  67. BYTE* pUserData;
  68. DWORD cbUserData;
  69. // Set when the configuration DLL has been called on the package. This is
  70. // not a registry setting. It is provided for the convenience of the UI
  71. // only.
  72. //
  73. BOOL fConfigDllCalled;
  74. // Specifies the class ID of the configuration UI for remote machines.
  75. GUID guidConfigCLSID;
  76. }
  77. EAPCFG;
  78. //----------------------------------------------------------------------------
  79. // Prototypes
  80. //----------------------------------------------------------------------------
  81. DTLNODE*
  82. CreateEapcfgNode(
  83. void );
  84. VOID
  85. DestroyEapcfgNode(
  86. IN OUT DTLNODE* pNode );
  87. DTLNODE*
  88. EapcfgNodeFromKey(
  89. IN DTLLIST* pList,
  90. IN DWORD dwKey );
  91. DTLLIST*
  92. ReadEapcfgList(
  93. IN TCHAR* pszMachine );
  94. #endif // _EAPCFG_H_