Leaked source code of windows server 2003
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.

145 lines
3.3 KiB

  1. /*++
  2. Copyright (c) 1994 Microsoft Corporation
  3. Module Name:
  4. LlsSrv.h
  5. Abstract:
  6. Author:
  7. Arthur Hanson (arth) Dec 07, 1994
  8. Environment:
  9. Revision History:
  10. Jeff Parham (jeffparh) 05-Dec-1995
  11. o Added certificate database support.
  12. --*/
  13. #ifndef _LLS_LLSSRV_H
  14. #define _LLS_LLSSRV_H
  15. #ifdef __cplusplus
  16. extern "C" {
  17. #endif
  18. #define MAP_FILE_NAME "LlsMap.LLS"
  19. #define USER_FILE_NAME "LlsUser.LLS"
  20. #define LICENSE_FILE_NAME "CPL.CFG"
  21. #define CERT_DB_FILE_NAME "LlsCert.LLS"
  22. #define LLS_FILE_SUBDIR "LLS"
  23. #define REPLICATE_DELTA 0
  24. #define REPLICATE_AT 1
  25. #define MAX_USERNAME_LENGTH 256
  26. #define MAX_DOMAINNAME_LENGTH MAX_COMPUTERNAME_LENGTH
  27. /////////////////////////////////////////////////////////////////////////
  28. typedef struct _CONFIG_RECORD {
  29. SYSTEMTIME Started;
  30. DWORD Version;
  31. LPTSTR SystemDir;
  32. //
  33. // Replication Info
  34. //
  35. LPTSTR ComputerName;
  36. LPTSTR ReplicateTo;
  37. LPTSTR EnterpriseServer;
  38. DWORD EnterpriseServerDate;
  39. DWORD LogLevel;
  40. // When to replicate
  41. ULONG ReplicationType;
  42. ULONG ReplicationTime;
  43. DWORD UseEnterprise;
  44. DWORD LastReplicatedSeconds;
  45. DWORD NextReplication;
  46. SYSTEMTIME LastReplicated;
  47. ULONG NumReplicating; // Number of machines currently replicating here
  48. ULONG BackoffTime;
  49. ULONG ReplicationSpeed;
  50. BOOL IsMaster; // TRUE if is a Master Server (top of repl tree).
  51. BOOL Replicate; // Whether this server replicates
  52. BOOL IsReplicating; // TRUE if currently replicating
  53. BOOL PerServerCapacityWarning; // TRUE -- warn when per server usage
  54. // nears capacity
  55. LPTSTR SiteServer; // Site license master server DNS name
  56. } CONFIG_RECORD, *PCONFIG_RECORD;
  57. typedef enum LICENSE_CAPACITY_STATE {
  58. LICENSE_CAPACITY_NORMAL,
  59. LICENSE_CAPACITY_NEAR_MAXIMUM,
  60. LICENSE_CAPACITY_AT_MAXIMUM,
  61. LICENSE_CAPACITY_EXCEEDED
  62. };
  63. //
  64. // SBS mods (bug# 505640), structures and defs for per server licensing problems hotfix
  65. //
  66. #pragma warning (push)
  67. typedef struct _PER_SERVER_USER_RECORD {
  68. struct _PER_SERVER_USER_RECORD *Next;
  69. PSID Sid;
  70. ULONG RefCount;
  71. ULONG ActualLicenseHandle;
  72. } PER_SERVER_USER_RECORD, *PPER_SERVER_USER_RECORD;
  73. #pragma warning (pop)
  74. #define PER_SERVER_DUMMY_LICENSE 0xc0000000
  75. extern RTL_CRITICAL_SECTION PerServerListLock;
  76. extern PPER_SERVER_USER_RECORD PerServerList;
  77. extern BOOL SBSPerServerHotfix;
  78. //
  79. // end SBS mods
  80. //
  81. extern CONFIG_RECORD ConfigInfo;
  82. extern RTL_CRITICAL_SECTION ConfigInfoLock;
  83. extern TCHAR MyDomain[];
  84. extern ULONG MyDomainSize;
  85. extern BOOL IsMaster;
  86. extern TCHAR MappingFileName[];
  87. extern TCHAR UserFileName[];
  88. extern TCHAR LicenseFileName[];
  89. extern TCHAR CertDbFileName[];
  90. extern RTL_CRITICAL_SECTION g_csLock;
  91. DWORD LlsTimeGet();
  92. VOID ConfigInfoUpdate(DOMAIN_CONTROLLER_INFO * pDCInfo, BOOL fForceUpdate);
  93. VOID ConfigInfoRegistryUpdate( );
  94. DWORD EnsureInitialized ( VOID );
  95. /////////////////////////////////////////////////////////////////////////
  96. #if DBG
  97. VOID ConfigInfoDebugDump();
  98. #endif
  99. #ifdef __cplusplus
  100. }
  101. #endif
  102. #endif