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 /// Automatically imported and edited from the druntime module
10 /// core.sys.windows.lmbrowsr for the auto-generated win32 package.
11 module win32.lmbrowsr;
12 //version (Windows):
13 @system:
14 
15 import win32.lmcons, win32.windef;
16 
17 enum BROWSER_ROLE_PDC = 1;
18 enum BROWSER_ROLE_BDC = 2;
19 
20 struct BROWSER_STATISTICS {
21     LARGE_INTEGER StatisticsStartTime;
22     LARGE_INTEGER NumberOfServerAnnouncements;
23     LARGE_INTEGER NumberOfDomainAnnouncements;
24     ULONG NumberOfElectionPackets;
25     ULONG NumberOfMailslotWrites;
26     ULONG NumberOfGetBrowserServerListRequests;
27     ULONG NumberOfServerEnumerations;
28     ULONG NumberOfDomainEnumerations;
29     ULONG NumberOfOtherEnumerations;
30     ULONG NumberOfMissedServerAnnouncements;
31     ULONG NumberOfMissedMailslotDatagrams;
32     ULONG NumberOfMissedGetBrowserServerListRequests;
33     ULONG NumberOfFailedServerAnnounceAllocations;
34     ULONG NumberOfFailedMailslotAllocations;
35     ULONG NumberOfFailedMailslotReceives;
36     ULONG NumberOfFailedMailslotWrites;
37     ULONG NumberOfFailedMailslotOpens;
38     ULONG NumberOfDuplicateMasterAnnouncements;
39     LARGE_INTEGER NumberOfIllegalDatagrams;
40 }
41 alias BROWSER_STATISTICS* PBROWSER_STATISTICS, LPBROWSER_STATISTICS;
42 
43 struct BROWSER_STATISTICS_100 {
44     LARGE_INTEGER StartTime;
45     LARGE_INTEGER NumberOfServerAnnouncements;
46     LARGE_INTEGER NumberOfDomainAnnouncements;
47     ULONG NumberOfElectionPackets;
48     ULONG NumberOfMailslotWrites;
49     ULONG NumberOfGetBrowserServerListRequests;
50     LARGE_INTEGER NumberOfIllegalDatagrams;
51 }
52 alias BROWSER_STATISTICS_100* PBROWSER_STATISTICS_100;
53 
54 struct BROWSER_STATISTICS_101 {
55     LARGE_INTEGER StartTime;
56     LARGE_INTEGER NumberOfServerAnnouncements;
57     LARGE_INTEGER NumberOfDomainAnnouncements;
58     ULONG NumberOfElectionPackets;
59     ULONG NumberOfMailslotWrites;
60     ULONG NumberOfGetBrowserServerListRequests;
61     LARGE_INTEGER NumberOfIllegalDatagrams;
62     ULONG NumberOfMissedServerAnnouncements;
63     ULONG NumberOfMissedMailslotDatagrams;
64     ULONG NumberOfMissedGetBrowserServerListRequests;
65     ULONG NumberOfFailedServerAnnounceAllocations;
66     ULONG NumberOfFailedMailslotAllocations;
67     ULONG NumberOfFailedMailslotReceives;
68     ULONG NumberOfFailedMailslotWrites;
69     ULONG NumberOfFailedMailslotOpens;
70     ULONG NumberOfDuplicateMasterAnnouncements;
71 }
72 alias BROWSER_STATISTICS_101* PBROWSER_STATISTICS_101;
73 
74 extern (Windows) {
75     NET_API_STATUS I_BrowserServerEnum(LPCWSTR, LPCWSTR, LPCWSTR, DWORD,
76       PBYTE*, DWORD, PDWORD, PDWORD, DWORD, LPCWSTR, PDWORD);
77     NET_API_STATUS I_BrowserServerEnumEx(LPCWSTR, LPCWSTR, LPCWSTR, DWORD,
78       PBYTE*, DWORD, PDWORD, PDWORD, DWORD, LPCWSTR, LPCWSTR);
79     NET_API_STATUS I_BrowserQueryEmulatedDomains(LPWSTR, PBYTE*, PDWORD);
80     NET_API_STATUS I_BrowserQueryOtherDomains(LPCWSTR, PBYTE*, PDWORD, PDWORD);
81     NET_API_STATUS I_BrowserResetNetlogonState(LPCWSTR);
82     NET_API_STATUS I_BrowserSetNetlogonState(LPWSTR, LPWSTR, LPWSTR, DWORD);
83     NET_API_STATUS I_BrowserQueryStatistics(LPCWSTR, LPBROWSER_STATISTICS*);
84     NET_API_STATUS I_BrowserResetStatistics(LPCWSTR);
85     WORD I_BrowserServerEnumForXactsrv(LPCWSTR, LPCWSTR, ULONG, USHORT, PVOID,
86       WORD, DWORD, PDWORD, PDWORD, DWORD, LPCWSTR, LPCWSTR, PWORD);
87     NET_API_STATUS I_BrowserDebugTrace(PWCHAR, PCHAR);
88 }