s4:brwoser.idl: add idl for BrowserrQueryOtherDomains()
authorStefan Metzmacher <metze@samba.org>
Sat, 6 Dec 2008 09:11:30 +0000 (10:11 +0100)
committerStefan Metzmacher <metze@samba.org>
Sat, 6 Dec 2008 13:56:44 +0000 (14:56 +0100)
metze

librpc/idl/browser.idl
librpc/idl/srvsvc.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();
 
 }
index 3f24402c3f68ce590a24a41a772cd8a5294ed8e0..153d8cfbbe7783c121578e622bcf319ad9e2fd67 100644 (file)
@@ -638,12 +638,12 @@ import "security.idl", "svcctl.idl";
                PLATFORM_ID_VMS = 700
        } srvsvc_PlatformId;
 
-       typedef struct {
+       typedef [public] struct {
                srvsvc_PlatformId platform_id;
                [string,charset(UTF16)] uint16 *server_name;
        } srvsvc_NetSrvInfo100;
 
-       typedef struct {
+       typedef [public] struct {
                srvsvc_PlatformId platform_id;
                [string,charset(UTF16)] uint16 *server_name;
                uint32 version_major;