[SCM] Samba Shared Repository - branch master updated - 569fda3173219384ee3cfd30cbc49d5bee1138c6

Günther Deschner gd at samba.org
Fri Oct 31 01:45:30 GMT 2008


The branch, master has been updated
       via  569fda3173219384ee3cfd30cbc49d5bee1138c6 (commit)
       via  767202e668294d741701a5dec7eb2d9bce3b0156 (commit)
       via  f25b645ab1946ea8d36ce2adf26fd4b6590d476c (commit)
       via  7204deac821289bbf901bf4f82a8965506669020 (commit)
       via  947e14adae7c858650789274c9761227eb1dd87c (commit)
       via  546fb4028a8e94b35b2f7f8024871aaa24a20912 (commit)
       via  8f99170ab94173670900677810def6893fd95024 (commit)
       via  d1340df8b80c4dbe9f37dffa315a26396ed4f93f (commit)
       via  07f1bb3abce00fc20e78e7be9d7ad2d5346b681b (commit)
       via  439f197a68e794a95e29f8c37b7d960bd7da420e (commit)
       via  7255209177e8ad97689d6c2c033d1423ee775075 (commit)
       via  b70d984f8fd8e3f67859c15a94099672971282f2 (commit)
       via  6e9d69e4c8037aa23ad4bb7fd18399a96d7a740c (commit)
       via  c982b369308aba34d772159435fee28ab708fbda (commit)
       via  5cd089edd2c400bf1141de8354e075718d79f2c0 (commit)
       via  d2cc4e63c570633c387f72cb977e3adcfc3a7ce8 (commit)
       via  8859e9a9042d94e73257137ae57b55ef418590cb (commit)
       via  227c6ed8ea366f6dc0559cd6bb21254e42d2b22c (commit)
       via  523732ed2d33f61d35774aa3f771a890cb663035 (commit)
       via  3206f3552791f1806eec3a6d4bdc55857da4b264 (commit)
       via  70c9cb4d9bb9e211f2e3474df47e001bd959b056 (commit)
       via  31b067a6dd8bd702801779755f24cc20ce0541f7 (commit)
       via  f151246e53859b03c6de1d352aa872ebef3e4103 (commit)
       via  0688173c27793fc6c1125a2c8ffd6b391d2a3733 (commit)
       via  9fd82703d17b4dc524d2c7689438b92738c63d23 (commit)
       via  f61ce2fe41eebef20d3bba471e625d835555d5d8 (commit)
       via  95e438d9b350b97b950d2b47f927c6892b583e1e (commit)
       via  0b95cb251ce0043e393139a22a0f3ac6121406c5 (commit)
       via  4b8606f616cdd2fe885729a044d6139fc0001780 (commit)
       via  d0b02f970862cd0f494f3fe7ba8e13f65f29f76d (commit)
       via  bb4894d48b4bd917b516e6b424b7942050a879ad (commit)
       via  7cd5f7331478a5f5ef34931d0adbb9977e0925e3 (commit)
       via  622650597c2bb37125f5abb03ff9b42db480fbea (commit)
       via  ca4cd04bed7b45c9ed00f23b1af4259eb7a4afd9 (commit)
      from  8c1a90c2e319270cb2cab7ed995a61a9902c884d (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 569fda3173219384ee3cfd30cbc49d5bee1138c6
Author: Günther Deschner <gd at samba.org>
Date:   Thu Oct 30 18:23:13 2008 +0100

    s3-build: re-run make samba3-idl.
    
    Guenther

commit 767202e668294d741701a5dec7eb2d9bce3b0156
Author: Günther Deschner <gd at samba.org>
Date:   Thu Oct 30 18:22:43 2008 +0100

    srvsvc: share srvsvc idl between s3 and s4.
    
    Guenther

commit f25b645ab1946ea8d36ce2adf26fd4b6590d476c
Author: Günther Deschner <gd at samba.org>
Date:   Thu Oct 30 18:21:49 2008 +0100

    s4-srvsvc: merge srvsvc_NetShareEnum from s3 idl.
    
    Guenther

commit 7204deac821289bbf901bf4f82a8965506669020
Author: Günther Deschner <gd at samba.org>
Date:   Thu Oct 30 18:02:40 2008 +0100

    s4-srvsvc: merge srvsvc_NetShareEnumAll from s3 idl.
    
    Guenther

commit 947e14adae7c858650789274c9761227eb1dd87c
Author: Günther Deschner <gd at samba.org>
Date:   Thu Oct 30 17:21:31 2008 +0100

    s4-srvsvc: merge srvsvc_NetSessEnum from s3 idl.
    
    Guenther

commit 546fb4028a8e94b35b2f7f8024871aaa24a20912
Author: Günther Deschner <gd at samba.org>
Date:   Thu Oct 30 17:05:11 2008 +0100

    s4-srvsvc: merge srvsvc_NetFileEnum from s3 idl.
    
    Guenther

commit 8f99170ab94173670900677810def6893fd95024
Author: Günther Deschner <gd at samba.org>
Date:   Thu Oct 30 16:59:03 2008 +0100

    s4-srvsvc: merge srvsvc_NetConnEnum from s3 idl.
    
    Guenther

commit d1340df8b80c4dbe9f37dffa315a26396ed4f93f
Author: Günther Deschner <gd at samba.org>
Date:   Thu Oct 30 16:49:21 2008 +0100

    s4-srvsvc: merge srvsvc_NetCharDevQEnum from s3 idl.
    
    Guenther

commit 07f1bb3abce00fc20e78e7be9d7ad2d5346b681b
Author: Günther Deschner <gd at samba.org>
Date:   Thu Oct 30 16:34:28 2008 +0100

    s4-srvsvc: merge srvsvc_NetCharDevEnum from s3 idl.
    
    Guenther

commit 439f197a68e794a95e29f8c37b7d960bd7da420e
Author: Günther Deschner <gd at samba.org>
Date:   Thu Oct 30 11:21:52 2008 +0100

    s4-srvsvc: merge srvsvc_NetDiskEnum from s3 idl.
    
    Guenther

commit 7255209177e8ad97689d6c2c033d1423ee775075
Author: Günther Deschner <gd at samba.org>
Date:   Wed Oct 29 20:53:28 2008 +0100

    s4-srvsvc: merge srvsvc_NetFileGetInfo from s3 idl.
    
    Guenther

commit b70d984f8fd8e3f67859c15a94099672971282f2
Author: Günther Deschner <gd at samba.org>
Date:   Wed Oct 29 20:50:15 2008 +0100

    s4-srvsvc: merge srvsvc_NetCharDevQGetInfo from s3 idl.
    
    Guenther

commit 6e9d69e4c8037aa23ad4bb7fd18399a96d7a740c
Author: Günther Deschner <gd at samba.org>
Date:   Wed Oct 29 20:44:04 2008 +0100

    s4-srvsvc: merge srvsvc_NetCharDevGetInfo from s3 idl.
    
    Guenther

commit c982b369308aba34d772159435fee28ab708fbda
Author: Günther Deschner <gd at samba.org>
Date:   Wed Oct 29 20:39:57 2008 +0100

    s4-srvsvc: merge srvsvc_NetSrvGetInfo from s3 idl.
    
    Guenther

commit 5cd089edd2c400bf1141de8354e075718d79f2c0
Author: Günther Deschner <gd at samba.org>
Date:   Wed Oct 29 19:28:11 2008 +0100

    s4-srvsvc: merge srvsvc_NetSrvSetInfo from s3 idl.
    
    Guenther

commit d2cc4e63c570633c387f72cb977e3adcfc3a7ce8
Author: Günther Deschner <gd at samba.org>
Date:   Wed Oct 29 16:33:47 2008 +0100

    s4-srvsvc: merge srvsvc_NetTransportEnum from s3 idl.
    
    Guenther

commit 8859e9a9042d94e73257137ae57b55ef418590cb
Author: Günther Deschner <gd at samba.org>
Date:   Wed Oct 29 15:53:27 2008 +0100

    s4-srvsvc: merge srvsvc_NetTransportDel from s3 idl.
    
    Guenther

commit 227c6ed8ea366f6dc0559cd6bb21254e42d2b22c
Author: Günther Deschner <gd at samba.org>
Date:   Wed Oct 29 15:38:18 2008 +0100

    s4-srvsvc: merge srvsvc_NetShareGetInfo from s3 idl.
    
    Guenther

commit 523732ed2d33f61d35774aa3f771a890cb663035
Author: Günther Deschner <gd at samba.org>
Date:   Wed Oct 29 15:11:27 2008 +0100

    s4-srvsvc: merge srvsvc_NetShareSetInfo from s3 idl.
    
    Guenther

commit 3206f3552791f1806eec3a6d4bdc55857da4b264
Author: Günther Deschner <gd at samba.org>
Date:   Wed Oct 29 14:52:49 2008 +0100

    s4-srvsvc: merge srvsvc_NetShareAdd from s3 idl.
    
    Guenther

commit 70c9cb4d9bb9e211f2e3474df47e001bd959b056
Author: Günther Deschner <gd at samba.org>
Date:   Wed Oct 29 14:24:18 2008 +0100

    s4-srvsvc: merge srvsvc_NetServerStatisticsGet from s3 idl.
    
    Guenther

commit 31b067a6dd8bd702801779755f24cc20ce0541f7
Author: Günther Deschner <gd at samba.org>
Date:   Wed Oct 29 14:19:14 2008 +0100

    s4-srvsvc: merge srvsvc_NetShareCheck from s3 idl.
    
    Guenther

commit f151246e53859b03c6de1d352aa872ebef3e4103
Author: Günther Deschner <gd at samba.org>
Date:   Wed Oct 29 14:04:28 2008 +0100

    s4-srvsvc: merge srvsvc_NetPathType from s3 idl.
    
    Guenther

commit 0688173c27793fc6c1125a2c8ffd6b391d2a3733
Author: Günther Deschner <gd at samba.org>
Date:   Wed Oct 29 14:03:09 2008 +0100

    s4-srvsvc: merge srvsvc_NetPathCanonicalize from s3 idl.
    
    Guenther

commit 9fd82703d17b4dc524d2c7689438b92738c63d23
Author: Günther Deschner <gd at samba.org>
Date:   Wed Oct 29 14:01:04 2008 +0100

    s4-srvsvc: merge srvsvc_NetRemoteTOD from s3 idl.
    
    Guenther

commit f61ce2fe41eebef20d3bba471e625d835555d5d8
Author: Günther Deschner <gd at samba.org>
Date:   Wed Oct 29 13:52:23 2008 +0100

    s4-srvsvc: merge srvsvc_NetSetFileSecurity from s3 idl.
    
    Guenther

commit 95e438d9b350b97b950d2b47f927c6892b583e1e
Author: Günther Deschner <gd at samba.org>
Date:   Wed Oct 29 13:50:17 2008 +0100

    s4-srvsvc: merge srvsvc_NetSetFileSecurity from s3 idl.
    
    Guenther

commit 0b95cb251ce0043e393139a22a0f3ac6121406c5
Author: Günther Deschner <gd at samba.org>
Date:   Wed Oct 29 21:04:31 2008 +0100

    s4-srvsvc: merge srvsvc_NetShareInfo502 from s3.
    
    Apparently both s3 and s4 are not entirely correct one this. metze is looking
    into hand-marshalling security descriptors so this will fix this finally. For
    now, just keep the two in sync.
    
    Guenther

commit 4b8606f616cdd2fe885729a044d6139fc0001780
Author: Günther Deschner <gd at samba.org>
Date:   Thu Oct 30 19:03:02 2008 +0100

    s4-srvsvc-idl: pure cosmetic merge from s3 idl.
    
    Guenther

commit d0b02f970862cd0f494f3fe7ba8e13f65f29f76d
Author: Günther Deschner <gd at samba.org>
Date:   Thu Oct 30 19:06:58 2008 +0100

    s4-srvsvc-idl: use maxuses as uint32 consistently.
    
    Guenther

commit bb4894d48b4bd917b516e6b424b7942050a879ad
Author: Günther Deschner <gd at samba.org>
Date:   Thu Oct 30 16:48:26 2008 +0100

    s3-srvsvc-idl: fix srvsvc_NetCharDevQEnum.
    
    Guenther

commit 7cd5f7331478a5f5ef34931d0adbb9977e0925e3
Author: Günther Deschner <gd at samba.org>
Date:   Thu Oct 30 16:20:51 2008 +0100

    s3-srvsvc-idl: fix srvsvc_NetCharDevEnum.
    
    Guenther

commit 622650597c2bb37125f5abb03ff9b42db480fbea
Author: Günther Deschner <gd at samba.org>
Date:   Thu Oct 30 16:14:07 2008 +0100

    s3-srvsvc-idl: add missing field to srvsvc_SrvInfo402/403.
    
    Guenther

commit ca4cd04bed7b45c9ed00f23b1af4259eb7a4afd9
Author: Günther Deschner <gd at samba.org>
Date:   Thu Oct 30 11:07:24 2008 +0100

    s3-srvsvc-idl: merge STR_LEN4 removal from s4.
    
    Guenther

-----------------------------------------------------------------------

Summary of changes:
 {source3/librpc => librpc}/idl/srvsvc.idl |   51 +++-
 source3/Makefile.in                       |    2 +-
 source3/librpc/gen_ndr/cli_srvsvc.c       |   33 +--
 source3/librpc/gen_ndr/cli_srvsvc.h       |   15 +-
 source3/librpc/gen_ndr/ndr_srvsvc.c       |  405 ++++++++++++++------------
 source3/librpc/gen_ndr/ndr_srvsvc.h       |    3 +
 source3/librpc/gen_ndr/srv_srvsvc.c       |    9 +-
 source3/librpc/gen_ndr/srvsvc.h           |   45 ++-
 source4/client/client.c                   |   17 +-
 source4/libnet/libnet_share.c             |   29 ++-
 source4/libnet/libnet_time.c              |   16 +-
 source4/librpc/idl/srvsvc.idl             |  103 ++++---
 source4/rpc_server/common/share_info.c    |    6 -
 source4/rpc_server/srvsvc/dcesrv_srvsvc.c |  463 ++++++++++++++---------------
 source4/torture/libnet/libnet_share.c     |    9 +-
 source4/torture/rpc/bench.c               |   43 +++-
 source4/torture/rpc/samba3rpc.c           |  109 ++++++--
 source4/torture/rpc/srvsvc.c              |  453 ++++++++++++++++++++---------
 18 files changed, 1079 insertions(+), 732 deletions(-)
 rename {source3/librpc => librpc}/idl/srvsvc.idl (97%)


Changeset truncated at 500 lines:

diff --git a/source3/librpc/idl/srvsvc.idl b/librpc/idl/srvsvc.idl
similarity index 97%
rename from source3/librpc/idl/srvsvc.idl
rename to librpc/idl/srvsvc.idl
index 39d72b7..dcdd1ac 100644
--- a/source3/librpc/idl/srvsvc.idl
+++ b/librpc/idl/srvsvc.idl
@@ -51,12 +51,16 @@ import "security.idl", "svcctl.idl";
 		[default] ;
 	} srvsvc_NetCharDevCtr;
 
+	typedef struct {
+		uint32 level;
+		[switch_is(level)] srvsvc_NetCharDevCtr ctr;
+	} srvsvc_NetCharDevInfoCtr;
+
 	/******************/
 	/* Function: 0x00 */
 	WERROR srvsvc_NetCharDevEnum(
 		[in,unique]   [string,charset(UTF16)] uint16 *server_unc,
-		[in,out,ref]   uint32 *level,
-		[in,out,ref,switch_is(*level)]   srvsvc_NetCharDevCtr *ctr,
+		[in,out,ref]  srvsvc_NetCharDevInfoCtr *info_ctr,
 		[in]   uint32 max_buffer,
 		[out,ref]   uint32 *totalentries,
 		[in,out,unique]   uint32 *resume_handle
@@ -116,13 +120,17 @@ import "security.idl", "svcctl.idl";
 		[default] ;
 	} srvsvc_NetCharDevQCtr;
 
+	typedef struct {
+		uint32 level;
+		[switch_is(level)] srvsvc_NetCharDevQCtr ctr;
+	} srvsvc_NetCharDevQInfoCtr;
+
 	/******************/
 	/* Function: 0x03 */
 	WERROR srvsvc_NetCharDevQEnum(
 		[in,unique]   [string,charset(UTF16)] uint16 *server_unc,
 		[in,unique]   [string,charset(UTF16)] uint16 *user,
-		[in,out,ref]   uint32 *level,
-		[in,out,switch_is(*level),ref]   srvsvc_NetCharDevQCtr *ctr,
+		[in,out,ref]  srvsvc_NetCharDevQInfoCtr *info_ctr,
 		[in]   uint32 max_buffer,
 		[out,ref]   uint32 *totalentries,
 		[in,out,unique]   uint32 *resume_handle
@@ -279,7 +287,7 @@ import "security.idl", "svcctl.idl";
 	/* Function: 0x0b */
 	WERROR srvsvc_NetFileClose(
 		[in,unique]   [string,charset(UTF16)] uint16 *server_unc,
-		[in]   uint32 fid	
+		[in]   uint32 fid
 		);
 
 /**************************/
@@ -487,7 +495,7 @@ import "security.idl", "svcctl.idl";
 		SHARE_1005_IN_DFS               = 0x00000001,
 		SHARE_1005_DFS_ROOT             = 0x00000002
 	} NetShareInfo1005Flags;
-	
+
 	const uint32 SHARE_1005_CSC_POLICY_MASK = 0x00000030;
 	const uint32 SHARE_1005_CSC_POLICY_SHIFT = 4;
 
@@ -610,7 +618,7 @@ import "security.idl", "svcctl.idl";
 		[in]   [string,charset(UTF16)] uint16 share_name[],
 		[in]   uint32 reserved
 		);
-	
+
 	/******************/
 	/* Function: 0x14 */
 	WERROR srvsvc_NetShareCheck(
@@ -680,6 +688,7 @@ import "security.idl", "svcctl.idl";
 		uint32 sessreqs;
 		uint32 opensearch;
 		uint32 activelocks;
+		uint32 numreqbufs;
 		uint32 sizereqbufs;
 		uint32 numbigbufs;
 		uint32 numfiletasks;
@@ -713,6 +722,7 @@ import "security.idl", "svcctl.idl";
 		uint32 sessreqs;
 		uint32 opensearch;
 		uint32 activelocks;
+		uint32 numreqbufs;
 		uint32 sizereqbufs;
 		uint32 numbigbufs;
 		uint32 numfiletasks;
@@ -1142,7 +1152,16 @@ import "security.idl", "svcctl.idl";
 /* srvsvc_NetDisk         */
 /**************************/
 	typedef struct {
-		[flag(STR_LEN4)] string disk;
+		/*
+		 * In theory this should be:
+		 *      [charset(UTF16),string] uint16 annotation[3]
+		 * But midl treats this as:
+		 *      [charset(UTF16),string] uint16 annotation[]
+		 * and pidl doesn't support this yet
+		 */
+		[value(0)] uint32 __disk_offset;
+		[value(strlen(disk)+1)] uint32 __disk_length;
+		[charset(UTF16)] uint16 disk[__disk_length];
 	} srvsvc_NetDiskInfo0;
 
 	typedef struct {
@@ -1191,7 +1210,7 @@ import "security.idl", "svcctl.idl";
 		[in,unique]      [string,charset(UTF16)] uint16 *service,
 		[in]      uint32 level,
 		[in]      uint32 options,
-		[out,ref]     srvsvc_Statistics *stats
+		[out,ref]     srvsvc_Statistics **stats
 		);
 
 /**************************/
@@ -1272,12 +1291,16 @@ import "security.idl", "svcctl.idl";
 		[default];
 	} srvsvc_NetTransportCtr;
 
+	typedef struct {
+		uint32 level;
+		[switch_is(level)] srvsvc_NetTransportCtr ctr;
+	} srvsvc_NetTransportInfoCtr;
+
 	/******************/
 	/* Function: 0x1a */
 	WERROR srvsvc_NetTransportEnum(
 		[in,unique]   [string,charset(UTF16)] uint16 *server_unc,
-		[in,out,ref] uint32 *level,
-		[in,out,ref,switch_is(*level)]   srvsvc_NetTransportCtr *transports,
+		[in,out,ref] srvsvc_NetTransportInfoCtr *transports,
 		[in]   uint32 max_buffer,
 		[out,ref]   uint32 *totalentries,
 		[in,out,unique]   uint32 *resume_handle
@@ -1287,8 +1310,8 @@ import "security.idl", "svcctl.idl";
 	/* Function: 0x1b */
 	WERROR srvsvc_NetTransportDel(
 		[in,unique]   [string,charset(UTF16)] uint16 *server_unc,
-		[in]	uint32 unknown,
-		[in] 	srvsvc_NetTransportInfo0 transport
+		[in]	uint32 level,
+		[in] 	srvsvc_NetTransportInfo0 *info0
 		);
 
 /**************************/
@@ -1394,7 +1417,7 @@ import "security.idl", "svcctl.idl";
 /**************************/
 	/******************/
 	/* Function: 0x24 */
-	/* Note, there must be some way to return entries read vs 
+	/* Note, there must be some way to return entries read vs
 	   total entries ... */
 	WERROR srvsvc_NetShareEnum(
 		[in,unique]       [string,charset(UTF16)] uint16 *server_unc,
diff --git a/source3/Makefile.in b/source3/Makefile.in
index 6bd72f8..eae7dad 100644
--- a/source3/Makefile.in
+++ b/source3/Makefile.in
@@ -1216,7 +1216,7 @@ samba3-idl::
 	@PIDL_ARGS="$(PIDL_ARGS)" CPP="$(CPP)" PIDL="../pidl/pidl" \
 	 srcdir="$(srcdir)" $(srcdir)/script/build_idl.sh ../librpc/idl/lsa.idl \
 	 	../librpc/idl/dfs.idl ../librpc/idl/echo.idl ../librpc/idl/winreg.idl \
-		../librpc/idl/initshutdown.idl librpc/idl/srvsvc.idl ../librpc/idl/svcctl.idl \
+		../librpc/idl/initshutdown.idl ../librpc/idl/srvsvc.idl ../librpc/idl/svcctl.idl \
 		../librpc/idl/eventlog.idl ../librpc/idl/wkssvc.idl ../librpc/idl/netlogon.idl \
 		../librpc/idl/notify.idl ../librpc/idl/epmapper.idl librpc/idl/messaging.idl \
 		../librpc/idl/xattr.idl ../librpc/idl/misc.idl librpc/idl/samr.idl \
diff --git a/source3/librpc/gen_ndr/cli_srvsvc.c b/source3/librpc/gen_ndr/cli_srvsvc.c
index fbf9813..eb81652 100644
--- a/source3/librpc/gen_ndr/cli_srvsvc.c
+++ b/source3/librpc/gen_ndr/cli_srvsvc.c
@@ -9,8 +9,7 @@
 NTSTATUS rpccli_srvsvc_NetCharDevEnum(struct rpc_pipe_client *cli,
 				      TALLOC_CTX *mem_ctx,
 				      const char *server_unc /* [in] [unique,charset(UTF16)] */,
-				      uint32_t *level /* [in,out] [ref] */,
-				      union srvsvc_NetCharDevCtr *ctr /* [in,out] [ref,switch_is(*level)] */,
+				      struct srvsvc_NetCharDevInfoCtr *info_ctr /* [in,out] [ref] */,
 				      uint32_t max_buffer /* [in]  */,
 				      uint32_t *totalentries /* [out] [ref] */,
 				      uint32_t *resume_handle /* [in,out] [unique] */,
@@ -21,8 +20,7 @@ NTSTATUS rpccli_srvsvc_NetCharDevEnum(struct rpc_pipe_client *cli,
 
 	/* In parameters */
 	r.in.server_unc = server_unc;
-	r.in.level = level;
-	r.in.ctr = ctr;
+	r.in.info_ctr = info_ctr;
 	r.in.max_buffer = max_buffer;
 	r.in.resume_handle = resume_handle;
 
@@ -49,8 +47,7 @@ NTSTATUS rpccli_srvsvc_NetCharDevEnum(struct rpc_pipe_client *cli,
 	}
 
 	/* Return variables */
-	*level = *r.out.level;
-	*ctr = *r.out.ctr;
+	*info_ctr = *r.out.info_ctr;
 	*totalentries = *r.out.totalentries;
 	if (resume_handle && r.out.resume_handle) {
 		*resume_handle = *r.out.resume_handle;
@@ -164,8 +161,7 @@ NTSTATUS rpccli_srvsvc_NetCharDevQEnum(struct rpc_pipe_client *cli,
 				       TALLOC_CTX *mem_ctx,
 				       const char *server_unc /* [in] [unique,charset(UTF16)] */,
 				       const char *user /* [in] [unique,charset(UTF16)] */,
-				       uint32_t *level /* [in,out] [ref] */,
-				       union srvsvc_NetCharDevQCtr *ctr /* [in,out] [ref,switch_is(*level)] */,
+				       struct srvsvc_NetCharDevQInfoCtr *info_ctr /* [in,out] [ref] */,
 				       uint32_t max_buffer /* [in]  */,
 				       uint32_t *totalentries /* [out] [ref] */,
 				       uint32_t *resume_handle /* [in,out] [unique] */,
@@ -177,8 +173,7 @@ NTSTATUS rpccli_srvsvc_NetCharDevQEnum(struct rpc_pipe_client *cli,
 	/* In parameters */
 	r.in.server_unc = server_unc;
 	r.in.user = user;
-	r.in.level = level;
-	r.in.ctr = ctr;
+	r.in.info_ctr = info_ctr;
 	r.in.max_buffer = max_buffer;
 	r.in.resume_handle = resume_handle;
 
@@ -205,8 +200,7 @@ NTSTATUS rpccli_srvsvc_NetCharDevQEnum(struct rpc_pipe_client *cli,
 	}
 
 	/* Return variables */
-	*level = *r.out.level;
-	*ctr = *r.out.ctr;
+	*info_ctr = *r.out.info_ctr;
 	*totalentries = *r.out.totalentries;
 	if (resume_handle && r.out.resume_handle) {
 		*resume_handle = *r.out.resume_handle;
@@ -1246,7 +1240,7 @@ NTSTATUS rpccli_srvsvc_NetServerStatisticsGet(struct rpc_pipe_client *cli,
 					      const char *service /* [in] [unique,charset(UTF16)] */,
 					      uint32_t level /* [in]  */,
 					      uint32_t options /* [in]  */,
-					      struct srvsvc_Statistics *stats /* [out] [ref] */,
+					      struct srvsvc_Statistics **stats /* [out] [ref] */,
 					      WERROR *werror)
 {
 	struct srvsvc_NetServerStatisticsGet r;
@@ -1341,8 +1335,7 @@ NTSTATUS rpccli_srvsvc_NetTransportAdd(struct rpc_pipe_client *cli,
 NTSTATUS rpccli_srvsvc_NetTransportEnum(struct rpc_pipe_client *cli,
 					TALLOC_CTX *mem_ctx,
 					const char *server_unc /* [in] [unique,charset(UTF16)] */,
-					uint32_t *level /* [in,out] [ref] */,
-					union srvsvc_NetTransportCtr *transports /* [in,out] [ref,switch_is(*level)] */,
+					struct srvsvc_NetTransportInfoCtr *transports /* [in,out] [ref] */,
 					uint32_t max_buffer /* [in]  */,
 					uint32_t *totalentries /* [out] [ref] */,
 					uint32_t *resume_handle /* [in,out] [unique] */,
@@ -1353,7 +1346,6 @@ NTSTATUS rpccli_srvsvc_NetTransportEnum(struct rpc_pipe_client *cli,
 
 	/* In parameters */
 	r.in.server_unc = server_unc;
-	r.in.level = level;
 	r.in.transports = transports;
 	r.in.max_buffer = max_buffer;
 	r.in.resume_handle = resume_handle;
@@ -1381,7 +1373,6 @@ NTSTATUS rpccli_srvsvc_NetTransportEnum(struct rpc_pipe_client *cli,
 	}
 
 	/* Return variables */
-	*level = *r.out.level;
 	*transports = *r.out.transports;
 	*totalentries = *r.out.totalentries;
 	if (resume_handle && r.out.resume_handle) {
@@ -1399,8 +1390,8 @@ NTSTATUS rpccli_srvsvc_NetTransportEnum(struct rpc_pipe_client *cli,
 NTSTATUS rpccli_srvsvc_NetTransportDel(struct rpc_pipe_client *cli,
 				       TALLOC_CTX *mem_ctx,
 				       const char *server_unc /* [in] [unique,charset(UTF16)] */,
-				       uint32_t unknown /* [in]  */,
-				       struct srvsvc_NetTransportInfo0 transport /* [in]  */,
+				       uint32_t level /* [in]  */,
+				       struct srvsvc_NetTransportInfo0 *info0 /* [in] [ref] */,
 				       WERROR *werror)
 {
 	struct srvsvc_NetTransportDel r;
@@ -1408,8 +1399,8 @@ NTSTATUS rpccli_srvsvc_NetTransportDel(struct rpc_pipe_client *cli,
 
 	/* In parameters */
 	r.in.server_unc = server_unc;
-	r.in.unknown = unknown;
-	r.in.transport = transport;
+	r.in.level = level;
+	r.in.info0 = info0;
 
 	if (DEBUGLEVEL >= 10) {
 		NDR_PRINT_IN_DEBUG(srvsvc_NetTransportDel, &r);
diff --git a/source3/librpc/gen_ndr/cli_srvsvc.h b/source3/librpc/gen_ndr/cli_srvsvc.h
index 4ab4734..44b50e7 100644
--- a/source3/librpc/gen_ndr/cli_srvsvc.h
+++ b/source3/librpc/gen_ndr/cli_srvsvc.h
@@ -4,8 +4,7 @@
 NTSTATUS rpccli_srvsvc_NetCharDevEnum(struct rpc_pipe_client *cli,
 				      TALLOC_CTX *mem_ctx,
 				      const char *server_unc /* [in] [unique,charset(UTF16)] */,
-				      uint32_t *level /* [in,out] [ref] */,
-				      union srvsvc_NetCharDevCtr *ctr /* [in,out] [ref,switch_is(*level)] */,
+				      struct srvsvc_NetCharDevInfoCtr *info_ctr /* [in,out] [ref] */,
 				      uint32_t max_buffer /* [in]  */,
 				      uint32_t *totalentries /* [out] [ref] */,
 				      uint32_t *resume_handle /* [in,out] [unique] */,
@@ -27,8 +26,7 @@ NTSTATUS rpccli_srvsvc_NetCharDevQEnum(struct rpc_pipe_client *cli,
 				       TALLOC_CTX *mem_ctx,
 				       const char *server_unc /* [in] [unique,charset(UTF16)] */,
 				       const char *user /* [in] [unique,charset(UTF16)] */,
-				       uint32_t *level /* [in,out] [ref] */,
-				       union srvsvc_NetCharDevQCtr *ctr /* [in,out] [ref,switch_is(*level)] */,
+				       struct srvsvc_NetCharDevQInfoCtr *info_ctr /* [in,out] [ref] */,
 				       uint32_t max_buffer /* [in]  */,
 				       uint32_t *totalentries /* [out] [ref] */,
 				       uint32_t *resume_handle /* [in,out] [unique] */,
@@ -183,7 +181,7 @@ NTSTATUS rpccli_srvsvc_NetServerStatisticsGet(struct rpc_pipe_client *cli,
 					      const char *service /* [in] [unique,charset(UTF16)] */,
 					      uint32_t level /* [in]  */,
 					      uint32_t options /* [in]  */,
-					      struct srvsvc_Statistics *stats /* [out] [ref] */,
+					      struct srvsvc_Statistics **stats /* [out] [ref] */,
 					      WERROR *werror);
 NTSTATUS rpccli_srvsvc_NetTransportAdd(struct rpc_pipe_client *cli,
 				       TALLOC_CTX *mem_ctx,
@@ -194,8 +192,7 @@ NTSTATUS rpccli_srvsvc_NetTransportAdd(struct rpc_pipe_client *cli,
 NTSTATUS rpccli_srvsvc_NetTransportEnum(struct rpc_pipe_client *cli,
 					TALLOC_CTX *mem_ctx,
 					const char *server_unc /* [in] [unique,charset(UTF16)] */,
-					uint32_t *level /* [in,out] [ref] */,
-					union srvsvc_NetTransportCtr *transports /* [in,out] [ref,switch_is(*level)] */,
+					struct srvsvc_NetTransportInfoCtr *transports /* [in,out] [ref] */,
 					uint32_t max_buffer /* [in]  */,
 					uint32_t *totalentries /* [out] [ref] */,
 					uint32_t *resume_handle /* [in,out] [unique] */,
@@ -203,8 +200,8 @@ NTSTATUS rpccli_srvsvc_NetTransportEnum(struct rpc_pipe_client *cli,
 NTSTATUS rpccli_srvsvc_NetTransportDel(struct rpc_pipe_client *cli,
 				       TALLOC_CTX *mem_ctx,
 				       const char *server_unc /* [in] [unique,charset(UTF16)] */,
-				       uint32_t unknown /* [in]  */,
-				       struct srvsvc_NetTransportInfo0 transport /* [in]  */,
+				       uint32_t level /* [in]  */,
+				       struct srvsvc_NetTransportInfo0 *info0 /* [in] [ref] */,
 				       WERROR *werror);
 NTSTATUS rpccli_srvsvc_NetRemoteTOD(struct rpc_pipe_client *cli,
 				    TALLOC_CTX *mem_ctx,
diff --git a/source3/librpc/gen_ndr/ndr_srvsvc.c b/source3/librpc/gen_ndr/ndr_srvsvc.c
index 36c3dbe..6017202 100644
--- a/source3/librpc/gen_ndr/ndr_srvsvc.c
+++ b/source3/librpc/gen_ndr/ndr_srvsvc.c
@@ -612,6 +612,44 @@ _PUBLIC_ void ndr_print_srvsvc_NetCharDevCtr(struct ndr_print *ndr, const char *
 	}
 }
 
+static enum ndr_err_code ndr_push_srvsvc_NetCharDevInfoCtr(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetCharDevInfoCtr *r)
+{
+	if (ndr_flags & NDR_SCALARS) {
+		NDR_CHECK(ndr_push_align(ndr, 4));
+		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
+		NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level));
+		NDR_CHECK(ndr_push_srvsvc_NetCharDevCtr(ndr, NDR_SCALARS, &r->ctr));
+	}
+	if (ndr_flags & NDR_BUFFERS) {
+		NDR_CHECK(ndr_push_srvsvc_NetCharDevCtr(ndr, NDR_BUFFERS, &r->ctr));
+	}
+	return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_srvsvc_NetCharDevInfoCtr(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetCharDevInfoCtr *r)
+{
+	if (ndr_flags & NDR_SCALARS) {
+		NDR_CHECK(ndr_pull_align(ndr, 4));
+		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
+		NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level));
+		NDR_CHECK(ndr_pull_srvsvc_NetCharDevCtr(ndr, NDR_SCALARS, &r->ctr));
+	}
+	if (ndr_flags & NDR_BUFFERS) {
+		NDR_CHECK(ndr_pull_srvsvc_NetCharDevCtr(ndr, NDR_BUFFERS, &r->ctr));
+	}
+	return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_srvsvc_NetCharDevInfoCtr(struct ndr_print *ndr, const char *name, const struct srvsvc_NetCharDevInfoCtr *r)
+{
+	ndr_print_struct(ndr, name, "srvsvc_NetCharDevInfoCtr");
+	ndr->depth++;
+	ndr_print_uint32(ndr, "level", r->level);
+	ndr_print_set_switch_value(ndr, &r->ctr, r->level);
+	ndr_print_srvsvc_NetCharDevCtr(ndr, "ctr", &r->ctr);
+	ndr->depth--;
+}
+
 static enum ndr_err_code ndr_push_srvsvc_NetCharDevQInfo0(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetCharDevQInfo0 *r)
 {
 	if (ndr_flags & NDR_SCALARS) {
@@ -1222,6 +1260,44 @@ _PUBLIC_ void ndr_print_srvsvc_NetCharDevQCtr(struct ndr_print *ndr, const char
 	}
 }
 
+static enum ndr_err_code ndr_push_srvsvc_NetCharDevQInfoCtr(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetCharDevQInfoCtr *r)
+{
+	if (ndr_flags & NDR_SCALARS) {
+		NDR_CHECK(ndr_push_align(ndr, 4));
+		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
+		NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ctr, r->level));
+		NDR_CHECK(ndr_push_srvsvc_NetCharDevQCtr(ndr, NDR_SCALARS, &r->ctr));
+	}
+	if (ndr_flags & NDR_BUFFERS) {
+		NDR_CHECK(ndr_push_srvsvc_NetCharDevQCtr(ndr, NDR_BUFFERS, &r->ctr));
+	}
+	return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_srvsvc_NetCharDevQInfoCtr(struct ndr_pull *ndr, int ndr_flags, struct srvsvc_NetCharDevQInfoCtr *r)
+{
+	if (ndr_flags & NDR_SCALARS) {
+		NDR_CHECK(ndr_pull_align(ndr, 4));
+		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
+		NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ctr, r->level));
+		NDR_CHECK(ndr_pull_srvsvc_NetCharDevQCtr(ndr, NDR_SCALARS, &r->ctr));
+	}
+	if (ndr_flags & NDR_BUFFERS) {
+		NDR_CHECK(ndr_pull_srvsvc_NetCharDevQCtr(ndr, NDR_BUFFERS, &r->ctr));
+	}
+	return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_srvsvc_NetCharDevQInfoCtr(struct ndr_print *ndr, const char *name, const struct srvsvc_NetCharDevQInfoCtr *r)
+{
+	ndr_print_struct(ndr, name, "srvsvc_NetCharDevQInfoCtr");
+	ndr->depth++;
+	ndr_print_uint32(ndr, "level", r->level);
+	ndr_print_set_switch_value(ndr, &r->ctr, r->level);
+	ndr_print_srvsvc_NetCharDevQCtr(ndr, "ctr", &r->ctr);
+	ndr->depth--;
+}
+
 static enum ndr_err_code ndr_push_srvsvc_NetConnInfo0(struct ndr_push *ndr, int ndr_flags, const struct srvsvc_NetConnInfo0 *r)
 {
 	if (ndr_flags & NDR_SCALARS) {
@@ -6629,6 +6705,7 @@ static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo402(struct ndr_push *ndr, int
 		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sessreqs));
 		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->opensearch));
 		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->activelocks));
+		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->numreqbufs));
 		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sizereqbufs));
 		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->numbigbufs));
 		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->numfiletasks));
@@ -6703,6 +6780,7 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo402(struct ndr_pull *ndr, int
 		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sessreqs));
 		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->opensearch));
 		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->activelocks));
+		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->numreqbufs));
 		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sizereqbufs));
 		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->numbigbufs));
 		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->numfiletasks));
@@ -6794,6 +6872,7 @@ _PUBLIC_ void ndr_print_srvsvc_NetSrvInfo402(struct ndr_print *ndr, const char *
 	ndr_print_uint32(ndr, "sessreqs", r->sessreqs);
 	ndr_print_uint32(ndr, "opensearch", r->opensearch);
 	ndr_print_uint32(ndr, "activelocks", r->activelocks);
+	ndr_print_uint32(ndr, "numreqbufs", r->numreqbufs);
 	ndr_print_uint32(ndr, "sizereqbufs", r->sizereqbufs);
 	ndr_print_uint32(ndr, "numbigbufs", r->numbigbufs);
 	ndr_print_uint32(ndr, "numfiletasks", r->numfiletasks);
@@ -6836,6 +6915,7 @@ static enum ndr_err_code ndr_push_srvsvc_NetSrvInfo403(struct ndr_push *ndr, int
 		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sessreqs));
 		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->opensearch));
 		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->activelocks));
+		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->numreqbufs));
 		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sizereqbufs));
 		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->numbigbufs));
 		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->numfiletasks));
@@ -6921,6 +7001,7 @@ static enum ndr_err_code ndr_pull_srvsvc_NetSrvInfo403(struct ndr_pull *ndr, int
 		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sessreqs));
 		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->opensearch));
 		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->activelocks));
+		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->numreqbufs));
 		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sizereqbufs));
 		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->numbigbufs));
 		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->numfiletasks));
@@ -7032,6 +7113,7 @@ _PUBLIC_ void ndr_print_srvsvc_NetSrvInfo403(struct ndr_print *ndr, const char *
 	ndr_print_uint32(ndr, "sessreqs", r->sessreqs);
 	ndr_print_uint32(ndr, "opensearch", r->opensearch);
 	ndr_print_uint32(ndr, "activelocks", r->activelocks);
+	ndr_print_uint32(ndr, "numreqbufs", r->numreqbufs);
 	ndr_print_uint32(ndr, "sizereqbufs", r->sizereqbufs);
 	ndr_print_uint32(ndr, "numbigbufs", r->numbigbufs);
 	ndr_print_uint32(ndr, "numfiletasks", r->numfiletasks);
@@ -11470,12 +11552,9 @@ static enum ndr_err_code ndr_push_srvsvc_NetDiskInfo0(struct ndr_push *ndr, int
 {
 	if (ndr_flags & NDR_SCALARS) {
 		NDR_CHECK(ndr_push_align(ndr, 4));
-		{
-			uint32_t _flags_save_string = ndr->flags;
-			ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_LEN4);
-			NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->disk));
-			ndr->flags = _flags_save_string;
-		}
+		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
+		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen(r->disk) + 1));
+		NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->disk, strlen(r->disk) + 1, sizeof(uint16_t), CH_UTF16));
 	}
 	if (ndr_flags & NDR_BUFFERS) {


-- 
Samba Shared Repository


More information about the samba-cvs mailing list