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.

144 lines
3.2 KiB

  1. /*++
  2. Copyright (c) 1991 Microsoft Corporation
  3. Module Name:
  4. brconfig.h
  5. Abstract:
  6. Private header file to be included by Workstation service modules that
  7. need to load Workstation configuration information.
  8. Author:
  9. Rita Wong (ritaw) 22-May-1991
  10. Revision History:
  11. --*/
  12. #ifndef _BRCONFIG_INCLUDED_
  13. #define _BRCONFIG_INCLUDED_
  14. #define BROWSER_CONFIG_VERSION_MAJOR 3
  15. #define BROWSER_CONFIG_VERSION_MINOR 10
  16. typedef enum _DATATYPE {
  17. BooleanType,
  18. DWordType,
  19. MultiSzType,
  20. TriValueType // Yes, No, Auto
  21. } DATATYPE, *PDATATYPE;
  22. typedef struct _BR_BROWSER_FIELDS {
  23. LPTSTR Keyword;
  24. LPDWORD FieldPtr;
  25. DWORD Default;
  26. DWORD Minimum;
  27. DWORD Maximum;
  28. DATATYPE DataType;
  29. DWORD Parmnum;
  30. VOID (*DynamicChangeRoutine) ( VOID );
  31. } BR_BROWSER_FIELDS, *PBR_BROWSER_FIELDS;
  32. //
  33. // Configuration information. Reading and writing to this global
  34. // structure requires that the resource be acquired first.
  35. //
  36. typedef struct _BRCONFIGURATION_INFO {
  37. CRITICAL_SECTION ConfigCritSect; // To serialize access to config fields.
  38. DWORD MaintainServerList; // -1, 0, or 1 (No, Auto, Yes)
  39. DWORD BackupBrowserRecoveryTime;
  40. DWORD CacheHitLimit; // Browse response Cache hit limit.
  41. DWORD NumberOfCachedResponses; // Browse response cache size.
  42. DWORD DriverQueryFrequency; // Browser driver query frequency.
  43. DWORD MasterPeriodicity; // Master announce frequency (seconds)
  44. DWORD BackupPeriodicity; // Backup scavange frequency (seconds)
  45. BOOL IsLanmanNt; // True if is on LM NT machine
  46. #ifdef ENABLE_PSEUDO_BROWSER
  47. DWORD PseudoServerLevel; // How much of a phase-out server it is.
  48. #endif
  49. LPTSTR_ARRAY DirectHostBinding; // Direct host equivalence map.
  50. LPTSTR_ARRAY UnboundBindings; // Redir bindings that aren't bound to browser
  51. PBR_BROWSER_FIELDS BrConfigFields;
  52. DWORD BrowserDebug; // If non zero, indicates debug info.
  53. DWORD BrowserDebugFileLimit; // File size limit on browser log size.
  54. } BRCONFIGURATION_INFO, *PBRCONFIGURATION_INFO;
  55. extern BRCONFIGURATION_INFO BrInfo;
  56. #define BRBUF BrInfo.BrConfigBuf
  57. extern
  58. ULONG
  59. NumberOfServerEnumerations;
  60. extern
  61. ULONG
  62. NumberOfDomainEnumerations;
  63. extern
  64. ULONG
  65. NumberOfOtherEnumerations;
  66. extern
  67. ULONG
  68. NumberOfMissedGetBrowserListRequests;
  69. extern
  70. CRITICAL_SECTION
  71. BrowserStatisticsLock;
  72. NET_API_STATUS
  73. BrGetBrowserConfiguration(
  74. VOID
  75. );
  76. VOID
  77. BrDeleteConfiguration (
  78. DWORD BrInitState
  79. );
  80. NET_API_STATUS
  81. BrReadBrowserConfigFields(
  82. BOOL InitialCall
  83. );
  84. NET_API_STATUS
  85. BrChangeDirectHostBinding(
  86. VOID
  87. );
  88. NET_API_STATUS
  89. BrChangeConfigValue(
  90. LPWSTR pszKeyword IN,
  91. DATATYPE dataType IN,
  92. PVOID pDefault IN,
  93. PVOID *ppData OUT,
  94. BOOL bFree IN
  95. );
  96. #if DEVL
  97. NET_API_STATUS
  98. BrUpdateDebugInformation(
  99. IN LPWSTR SystemKeyName,
  100. IN LPWSTR ValueName,
  101. IN LPTSTR TransportName,
  102. IN LPTSTR ServerName OPTIONAL,
  103. IN DWORD ServiceStatus
  104. );
  105. #endif
  106. #endif