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.

222 lines
5.9 KiB

  1. /*++ BUILD Version: 0007 // Increment this if a change has global effects
  2. Copyright (c) 1990-1999 Microsoft Corporation
  3. Module Name:
  4. lmbrowsr.h
  5. Abstract:
  6. This file contains information about browser stubbed versions of the
  7. NetServer APIs.
  8. Function Prototypes
  9. Data Structures
  10. Definition of special values
  11. Environment:
  12. User Mode - Win32
  13. Notes:
  14. You must include NETCONS.H before this file, since this file depends
  15. on values defined in NETCONS.H.
  16. --*/
  17. #ifndef _LMBROWSR_
  18. #define _LMBROWSR_
  19. #if _MSC_VER > 1000
  20. #pragma once
  21. #endif
  22. #ifdef __cplusplus
  23. extern "C" {
  24. #endif
  25. typedef struct _BROWSER_STATISTICS {
  26. LARGE_INTEGER StatisticsStartTime;
  27. LARGE_INTEGER NumberOfServerAnnouncements;
  28. LARGE_INTEGER NumberOfDomainAnnouncements;
  29. ULONG NumberOfElectionPackets;
  30. ULONG NumberOfMailslotWrites;
  31. ULONG NumberOfGetBrowserServerListRequests;
  32. ULONG NumberOfServerEnumerations;
  33. ULONG NumberOfDomainEnumerations;
  34. ULONG NumberOfOtherEnumerations;
  35. ULONG NumberOfMissedServerAnnouncements;
  36. ULONG NumberOfMissedMailslotDatagrams;
  37. ULONG NumberOfMissedGetBrowserServerListRequests;
  38. ULONG NumberOfFailedServerAnnounceAllocations;
  39. ULONG NumberOfFailedMailslotAllocations;
  40. ULONG NumberOfFailedMailslotReceives;
  41. ULONG NumberOfFailedMailslotWrites;
  42. ULONG NumberOfFailedMailslotOpens;
  43. ULONG NumberOfDuplicateMasterAnnouncements;
  44. LARGE_INTEGER NumberOfIllegalDatagrams;
  45. } BROWSER_STATISTICS, *PBROWSER_STATISTICS, *LPBROWSER_STATISTICS;
  46. typedef struct _BROWSER_STATISTICS_100 {
  47. LARGE_INTEGER StartTime;
  48. LARGE_INTEGER NumberOfServerAnnouncements;
  49. LARGE_INTEGER NumberOfDomainAnnouncements;
  50. ULONG NumberOfElectionPackets;
  51. ULONG NumberOfMailslotWrites;
  52. ULONG NumberOfGetBrowserServerListRequests;
  53. LARGE_INTEGER NumberOfIllegalDatagrams;
  54. } BROWSER_STATISTICS_100, *PBROWSER_STATISTICS_100;
  55. typedef struct _BROWSER_STATISTICS_101 {
  56. LARGE_INTEGER StartTime;
  57. LARGE_INTEGER NumberOfServerAnnouncements;
  58. LARGE_INTEGER NumberOfDomainAnnouncements;
  59. ULONG NumberOfElectionPackets;
  60. ULONG NumberOfMailslotWrites;
  61. ULONG NumberOfGetBrowserServerListRequests;
  62. LARGE_INTEGER NumberOfIllegalDatagrams;
  63. ULONG NumberOfMissedServerAnnouncements;
  64. ULONG NumberOfMissedMailslotDatagrams;
  65. ULONG NumberOfMissedGetBrowserServerListRequests;
  66. ULONG NumberOfFailedServerAnnounceAllocations;
  67. ULONG NumberOfFailedMailslotAllocations;
  68. ULONG NumberOfFailedMailslotReceives;
  69. ULONG NumberOfFailedMailslotWrites;
  70. ULONG NumberOfFailedMailslotOpens;
  71. ULONG NumberOfDuplicateMasterAnnouncements;
  72. } BROWSER_STATISTICS_101, *PBROWSER_STATISTICS_101;
  73. typedef struct _BROWSER_EMULATED_DOMAIN {
  74. #ifdef MIDL_PASS
  75. [string] wchar_t *DomainName;
  76. #else
  77. LPWSTR DomainName;
  78. #endif // MIDL_PASS
  79. #ifdef MIDL_PASS
  80. [string] wchar_t *EmulatedServerName;
  81. #else
  82. LPWSTR EmulatedServerName;
  83. #endif // MIDL_PASS
  84. DWORD Role;
  85. } BROWSER_EMULATED_DOMAIN, *PBROWSER_EMULATED_DOMAIN;
  86. //
  87. // Function Prototypes - BROWSER
  88. //
  89. NET_API_STATUS NET_API_FUNCTION
  90. I_BrowserServerEnum (
  91. IN LPCWSTR servername OPTIONAL,
  92. IN LPCWSTR transport OPTIONAL,
  93. IN LPCWSTR clientname OPTIONAL,
  94. IN DWORD level,
  95. OUT LPBYTE *bufptr,
  96. IN DWORD prefmaxlen,
  97. OUT LPDWORD entriesread,
  98. OUT LPDWORD totalentries,
  99. IN DWORD servertype,
  100. IN LPCWSTR domain OPTIONAL,
  101. IN OUT LPDWORD resume_handle OPTIONAL
  102. );
  103. NET_API_STATUS NET_API_FUNCTION
  104. I_BrowserServerEnumEx (
  105. IN LPCWSTR servername OPTIONAL,
  106. IN LPCWSTR transport OPTIONAL,
  107. IN LPCWSTR clientname OPTIONAL,
  108. IN DWORD level,
  109. OUT LPBYTE *bufptr,
  110. IN DWORD prefmaxlen,
  111. OUT LPDWORD entriesread,
  112. OUT LPDWORD totalentries,
  113. IN DWORD servertype,
  114. IN LPCWSTR domain OPTIONAL,
  115. IN LPCWSTR FirstNameToReturn OPTIONAL
  116. );
  117. NET_API_STATUS
  118. I_BrowserQueryOtherDomains (
  119. IN LPCWSTR servername OPTIONAL,
  120. OUT LPBYTE *bufptr,
  121. OUT LPDWORD entriesread,
  122. OUT LPDWORD totalentries
  123. );
  124. NET_API_STATUS
  125. I_BrowserResetNetlogonState (
  126. IN LPCWSTR servername OPTIONAL
  127. );
  128. NET_API_STATUS
  129. I_BrowserSetNetlogonState(
  130. IN LPWSTR ServerName OPTIONAL,
  131. IN LPWSTR DomainName,
  132. IN LPWSTR EmulatedServerName OPTIONAL,
  133. IN DWORD Role
  134. );
  135. #define BROWSER_ROLE_PDC 0x1
  136. #define BROWSER_ROLE_BDC 0x2
  137. #define BROWSER_ROLE_AVOID_CREATING_DOMAIN 0x4
  138. NET_API_STATUS
  139. I_BrowserQueryEmulatedDomains(
  140. IN LPWSTR ServerName OPTIONAL,
  141. OUT PBROWSER_EMULATED_DOMAIN *EmulatedDomains,
  142. OUT LPDWORD EntriesRead );
  143. NET_API_STATUS
  144. I_BrowserQueryStatistics (
  145. IN LPCWSTR servername OPTIONAL,
  146. OUT LPBROWSER_STATISTICS *statistics
  147. );
  148. NET_API_STATUS
  149. I_BrowserResetStatistics (
  150. IN LPCWSTR servername OPTIONAL
  151. );
  152. WORD
  153. I_BrowserServerEnumForXactsrv(
  154. IN LPCWSTR TransportName OPTIONAL,
  155. IN LPCWSTR ClientName OPTIONAL,
  156. IN ULONG NtLevel,
  157. IN USHORT ClientLevel,
  158. OUT PVOID Buffer,
  159. IN WORD BufferLength,
  160. IN DWORD PreferedMaximumLength,
  161. OUT LPDWORD EntriesRead,
  162. OUT LPDWORD TotalEntries,
  163. IN DWORD ServerType,
  164. IN LPCWSTR Domain,
  165. IN LPCWSTR FirstNameToReturn,
  166. OUT PWORD Converter
  167. );
  168. #ifdef __cplusplus
  169. }
  170. #endif
  171. #if DBG
  172. NET_API_STATUS
  173. I_BrowserDebugTrace(
  174. PWCHAR Server,
  175. PCHAR Buffer
  176. );
  177. #endif
  178. #endif // _LMBROWSR_