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.

146 lines
3.1 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. #if DBG
  53. DWORD BrowserDebug; // If non zero, indicates debug info.
  54. DWORD BrowserDebugFileLimit; // File size limit on browser log size.
  55. #endif
  56. } BRCONFIGURATION_INFO, *PBRCONFIGURATION_INFO;
  57. extern BRCONFIGURATION_INFO BrInfo;
  58. #define BRBUF BrInfo.BrConfigBuf
  59. extern
  60. ULONG
  61. NumberOfServerEnumerations;
  62. extern
  63. ULONG
  64. NumberOfDomainEnumerations;
  65. extern
  66. ULONG
  67. NumberOfOtherEnumerations;
  68. extern
  69. ULONG
  70. NumberOfMissedGetBrowserListRequests;
  71. extern
  72. CRITICAL_SECTION
  73. BrowserStatisticsLock;
  74. NET_API_STATUS
  75. BrGetBrowserConfiguration(
  76. VOID
  77. );
  78. VOID
  79. BrDeleteConfiguration (
  80. DWORD BrInitState
  81. );
  82. NET_API_STATUS
  83. BrReadBrowserConfigFields(
  84. BOOL InitialCall
  85. );
  86. NET_API_STATUS
  87. BrChangeDirectHostBinding(
  88. VOID
  89. );
  90. NET_API_STATUS
  91. BrChangeConfigValue(
  92. LPWSTR pszKeyword IN,
  93. DATATYPE dataType IN,
  94. PVOID pDefault IN,
  95. PVOID *ppData OUT,
  96. BOOL bFree IN
  97. );
  98. #if DEVL
  99. NET_API_STATUS
  100. BrUpdateDebugInformation(
  101. IN LPWSTR SystemKeyName,
  102. IN LPWSTR ValueName,
  103. IN LPTSTR TransportName,
  104. IN LPTSTR ServerName OPTIONAL,
  105. IN DWORD ServiceStatus
  106. );
  107. #endif
  108. #endif