1 /**
2  * Windows API header module
3  *
4  * Translated from MinGW Windows headers
5  *
6  * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
7  * Source: $(DRUNTIMESRC core/sys/windows/_lmbrowsr.d)
8  */
9 module core.sys.windows.lmbrowsr;
10 version (Windows):
11 
12 import core.sys.windows.lmcons, core.sys.windows.windef;
13 
14 enum BROWSER_ROLE_PDC = 1;
15 enum BROWSER_ROLE_BDC = 2;
16 
17 struct BROWSER_STATISTICS {
18     LARGE_INTEGER StatisticsStartTime;
19     LARGE_INTEGER NumberOfServerAnnouncements;
20     LARGE_INTEGER NumberOfDomainAnnouncements;
21     ULONG NumberOfElectionPackets;
22     ULONG NumberOfMailslotWrites;
23     ULONG NumberOfGetBrowserServerListRequests;
24     ULONG NumberOfServerEnumerations;
25     ULONG NumberOfDomainEnumerations;
26     ULONG NumberOfOtherEnumerations;
27     ULONG NumberOfMissedServerAnnouncements;
28     ULONG NumberOfMissedMailslotDatagrams;
29     ULONG NumberOfMissedGetBrowserServerListRequests;
30     ULONG NumberOfFailedServerAnnounceAllocations;
31     ULONG NumberOfFailedMailslotAllocations;
32     ULONG NumberOfFailedMailslotReceives;
33     ULONG NumberOfFailedMailslotWrites;
34     ULONG NumberOfFailedMailslotOpens;
35     ULONG NumberOfDuplicateMasterAnnouncements;
36     LARGE_INTEGER NumberOfIllegalDatagrams;
37 }
38 alias BROWSER_STATISTICS* PBROWSER_STATISTICS, LPBROWSER_STATISTICS;
39 
40 struct BROWSER_STATISTICS_100 {
41     LARGE_INTEGER StartTime;
42     LARGE_INTEGER NumberOfServerAnnouncements;
43     LARGE_INTEGER NumberOfDomainAnnouncements;
44     ULONG NumberOfElectionPackets;
45     ULONG NumberOfMailslotWrites;
46     ULONG NumberOfGetBrowserServerListRequests;
47     LARGE_INTEGER NumberOfIllegalDatagrams;
48 }
49 alias BROWSER_STATISTICS_100* PBROWSER_STATISTICS_100;
50 
51 struct BROWSER_STATISTICS_101 {
52     LARGE_INTEGER StartTime;
53     LARGE_INTEGER NumberOfServerAnnouncements;
54     LARGE_INTEGER NumberOfDomainAnnouncements;
55     ULONG NumberOfElectionPackets;
56     ULONG NumberOfMailslotWrites;
57     ULONG NumberOfGetBrowserServerListRequests;
58     LARGE_INTEGER NumberOfIllegalDatagrams;
59     ULONG NumberOfMissedServerAnnouncements;
60     ULONG NumberOfMissedMailslotDatagrams;
61     ULONG NumberOfMissedGetBrowserServerListRequests;
62     ULONG NumberOfFailedServerAnnounceAllocations;
63     ULONG NumberOfFailedMailslotAllocations;
64     ULONG NumberOfFailedMailslotReceives;
65     ULONG NumberOfFailedMailslotWrites;
66     ULONG NumberOfFailedMailslotOpens;
67     ULONG NumberOfDuplicateMasterAnnouncements;
68 }
69 alias BROWSER_STATISTICS_101* PBROWSER_STATISTICS_101;
70 
71 extern (Windows) {
72     NET_API_STATUS I_BrowserServerEnum(LPCWSTR, LPCWSTR, LPCWSTR, DWORD,
73       PBYTE*, DWORD, PDWORD, PDWORD, DWORD, LPCWSTR, PDWORD);
74     NET_API_STATUS I_BrowserServerEnumEx(LPCWSTR, LPCWSTR, LPCWSTR, DWORD,
75       PBYTE*, DWORD, PDWORD, PDWORD, DWORD, LPCWSTR, LPCWSTR);
76     NET_API_STATUS I_BrowserQueryEmulatedDomains(LPWSTR, PBYTE*, PDWORD);
77     NET_API_STATUS I_BrowserQueryOtherDomains(LPCWSTR, PBYTE*, PDWORD, PDWORD);
78     NET_API_STATUS I_BrowserResetNetlogonState(LPCWSTR);
79     NET_API_STATUS I_BrowserSetNetlogonState(LPWSTR, LPWSTR, LPWSTR, DWORD);
80     NET_API_STATUS I_BrowserQueryStatistics(LPCWSTR, LPBROWSER_STATISTICS*);
81     NET_API_STATUS I_BrowserResetStatistics(LPCWSTR);
82     WORD I_BrowserServerEnumForXactsrv(LPCWSTR, LPCWSTR, ULONG, USHORT, PVOID,
83       WORD, DWORD, PDWORD, PDWORD, DWORD, LPCWSTR, LPCWSTR, PWORD);
84     NET_API_STATUS I_BrowserDebugTrace(PWCHAR, PCHAR);
85 }