s4:brwoser.idl: add idl for BrowserrQueryOtherDomains()
[nivanova/samba-autobuild/.git] / librpc / idl / browser.idl
index 5b05be9cbb930f2d2441f46baf433ce2c1120151..94d4ce6b62afd98ec96bbd6fd83f136969fd9e50 100644 (file)
@@ -1,4 +1,6 @@
-[ 
+import "srvsvc.idl";
+
+[
   uuid("6bffd098-a112-3610-9833-012892020162"),
   version(0.0), 
   helpstring("Browsing"),
@@ -9,50 +11,76 @@ interface browser
 {
        /******************/
        /* Function  0x00 */
-       [todo] NTSTATUS BrowserrServerEnum();
+       [todo] void BrowserrServerEnum();
 
        /******************/
        /* Function  0x01 */
-       [todo] NTSTATUS BrowserrDebugCall();
+       [todo] void BrowserrDebugCall();
 
        /******************/
        /* Function  0x02 */
-       [todo] NTSTATUS BrowserrQueryOtherDomains();
+
+       typedef struct {
+               uint32 entries_read;
+               [size_is(entries_read)] srvsvc_NetSrvInfo100 *entries;
+       } BrowserrSrvInfo100Ctr;
+
+       typedef struct {
+               uint32 entries_read;
+               [size_is(entries_read)] srvsvc_NetSrvInfo101 *entries;
+       } BrowserrSrvInfo101Ctr;
+
+       typedef [switch_type(uint32)] union {
+               [case(100)] BrowserrSrvInfo100Ctr *info100;
+               [case(101)] BrowserrSrvInfo101Ctr *info101;
+               [default] ;
+       } BrowserrSrvInfoUnion;
+
+       typedef struct {
+               uint32 level;
+               [switch_is(level)] BrowserrSrvInfoUnion info;
+       } BrowserrSrvInfo;
+
+       WERROR BrowserrQueryOtherDomains(
+               [in,unique]   [string,charset(UTF16)] uint16 *server_unc,
+               [in,out,ref] BrowserrSrvInfo *info,
+               [out,ref] uint32 *total_entries
+       );
 
        /******************/
        /* Function  0x03 */
-       [todo] NTSTATUS BrowserrResetNetlogonState();
+       [todo] void BrowserrResetNetlogonState();
 
        /******************/
        /* Function  0x04 */
-       [todo] NTSTATUS BrowserrDebugTrace();
+       [todo] void BrowserrDebugTrace();
 
        /******************/
        /* Function  0x05 */
-       [todo] NTSTATUS BrowserrQueryStatistics();
+       [todo] void BrowserrQueryStatistics();
 
        /******************/
        /* Function  0x06 */
-       [todo] NTSTATUS BrowserResetStatistics();
+       [todo] void BrowserResetStatistics();
 
        /******************/
        /* Function  0x07 */
-       [todo] NTSTATUS NetrBrowserStatisticsClear();
+       [todo] void NetrBrowserStatisticsClear();
 
        /******************/
        /* Function  0x08 */
-       [todo] NTSTATUS NetrBrowserStatisticsGet();
+       [todo] void NetrBrowserStatisticsGet();
 
        /******************/
        /* Function  0x09 */
-       [todo] NTSTATUS BrowserrSetNetlogonState();
+       [todo] void BrowserrSetNetlogonState();
 
        /******************/
        /* Function  0x0a */
-       [todo] NTSTATUS BrowserrQueryEmulatedDomains();
+       [todo] void BrowserrQueryEmulatedDomains();
 
        /******************/
        /* Function  0x0b */
-       [todo] NTSTATUS BrowserrServerEnumEx();
+       [todo] void BrowserrServerEnumEx();
 
 }