abd7e1643612cb506c2dce4139698f16fa1ddfb3
[reactos.git] / reactos / sdk / include / reactos / idl / browser.idl
1 /*
2 * Computer Browser service interface definition
3 */
4
5 #include <ms-dtyp.idl>
6
7 typedef [handle] wchar_t *BROWSER_IDENTIFY_HANDLE;
8
9 cpp_quote("#ifndef _LMBROWSR_")
10 typedef struct _BROWSER_EMULATED_DOMAIN
11 {
12 LPWSTR DomainName;
13 LPWSTR EmulatedServerName;
14 DWORD Role;
15 } BROWSER_EMULATED_DOMAIN, *PBROWSER_EMULATED_DOMAIN;
16 cpp_quote("#endif")
17
18 typedef struct _BROWSER_EMULATED_DOMAIN_CONTAINER
19 {
20 DWORD EntriesRead;
21 [size_is(EntriesRead)] PBROWSER_EMULATED_DOMAIN Buffer;
22 } BROWSER_EMULATED_DOMAIN_CONTAINER, *PBROWSER_EMULATED_DOMAIN_CONTAINER;
23
24 typedef struct _SERVER_INFO_100
25 {
26 DWORD sv100_platform_id;
27 LPWSTR sv100_name;
28 } SERVER_INFO_100, *PSERVER_INFO_100, *LPSERVER_INFO_100;
29
30 typedef struct _SERVER_INFO_100_CONTAINER
31 {
32 DWORD EntriesRead;
33 [size_is(EntriesRead)] LPSERVER_INFO_100 Buffer;
34 } SERVER_INFO_100_CONTAINER, *PSERVER_INFO_100_CONTAINER, *LPSERVER_INFO_100_CONTAINER;
35
36 typedef struct _SERVER_ENUM_STRUCT
37 {
38 DWORD Level;
39 [switch_is(Level)] union _SERVER_ENUM_UNION
40 {
41 [case(100)] LPSERVER_INFO_100_CONTAINER Level100;
42 [default] ;
43 } ServerInfo;
44 } SERVER_ENUM_STRUCT, *PSERVER_ENUM_STRUCT, *LPSERVER_ENUM_STRUCT;
45
46
47 [
48 uuid(6BFFD098-A112-3610-9833-012892020162),
49 version(0.0),
50 pointer_default(unique),
51 #ifdef __midl
52 ms_union,
53 #endif
54 endpoint("ncacn_np:[\\pipe\\browser]")
55 #ifndef __midl
56 ,implicit_handle(handle_t hBinding)
57 #endif
58 ]
59 interface browser
60 {
61 /* Function 0 (BrowserrServerEnum) */
62 NET_API_STATUS
63 __stdcall
64 BrowserOpnum0NotUsedOnWire(void);
65
66 /* Function 1 (BrowserrDebugCall) */
67 NET_API_STATUS
68 __stdcall
69 BrowserOpnum1NotUsedOnWire(void);
70
71 /* Function 2 (BrowserrQueryOtherDomains) */
72 NET_API_STATUS
73 __stdcall
74 I_BrowserrQueryOtherDomains(
75 [in, string, unique] BROWSER_IDENTIFY_HANDLE ServerName,
76 [in, out] LPSERVER_ENUM_STRUCT InfoStruct,
77 [out] LPDWORD TotalEntries);
78
79 /* Function 3 (BrowserrResetNetlogonState) */
80 NET_API_STATUS
81 __stdcall
82 BrowserOpnum3NotUsedOnWire(void);
83
84 /* Function 4 (BrowserrDebugTrace) */
85 NET_API_STATUS
86 __stdcall
87 BrowserOpnum4NotUsedOnWire(void);
88
89 /* Function 5 (BrowserrQueryStatistics) */
90 NET_API_STATUS
91 __stdcall
92 BrowserOpnum5NotUsedOnWire(void);
93
94 /* Function 6 */
95 NET_API_STATUS
96 __stdcall
97 I_BrowserrResetStatistics(
98 [in, string, unique] BROWSER_IDENTIFY_HANDLE ServerName);
99
100 /* Function 7 (NetrBrowserStatisticsClear) */
101 NET_API_STATUS
102 __stdcall
103 BrowserOpnum7NotUsedOnWire(void);
104
105 /* Function 8 (NetrBrowserStatisticsGet) */
106 NET_API_STATUS
107 __stdcall
108 BrowserOpnum8NotUsedOnWire(void);
109
110 /* Function 9 */
111 NET_API_STATUS
112 __stdcall
113 I_BrowserrSetNetlogonState(
114 [in, string, unique] BROWSER_IDENTIFY_HANDLE ServerName,
115 [in, string] LPWSTR DomainName,
116 [in, string, unique] LPWSTR EmulatedComputerName,
117 [in] DWORD Role);
118
119 /* Function 10 */
120 NET_API_STATUS
121 __stdcall
122 I_BrowserrQueryEmulatedDomains(
123 [in, string, unique] BROWSER_IDENTIFY_HANDLE ServerName,
124 [in, out] PBROWSER_EMULATED_DOMAIN_CONTAINER EmulatedDomains);
125
126 /* Function 11 (BrowserrServerEnumEx) */
127 NET_API_STATUS
128 __stdcall
129 BrowserOpnum11NotUsedOnWire(void);
130 }