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