[SCM] Samba Shared Repository - branch v3-2-test updated - initial-v3-2-test-1461-g4828886

Jelmer Vernooij jelmer at samba.org
Thu Jan 17 14:58:23 GMT 2008


The branch, v3-2-test has been updated
       via  48288869d314d8c91d07282b5536b231d95db159 (commit)
       via  c22d47b3d58de45c2b686badb9fe6a6cd5a6b047 (commit)
       via  35d71a40b385a62b8c85ed68e64b6d38d80aeb3c (commit)
       via  a6677b2e186212f723b24775293682ce5b94952e (commit)
      from  15ef5e4884505bca7990e44200d0235764e9057f (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-2-test


- Log -----------------------------------------------------------------
commit 48288869d314d8c91d07282b5536b231d95db159
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Thu Jan 17 13:56:47 2008 +0100

    idl: Update IDL for eventlog, misc, netlogon and security from Samba 4.

commit c22d47b3d58de45c2b686badb9fe6a6cd5a6b047
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Thu Jan 17 13:34:18 2008 +0100

    idl: Remove use of [ref], which is the default.

commit 35d71a40b385a62b8c85ed68e64b6d38d80aeb3c
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Thu Jan 17 13:16:27 2008 +0100

    idl: Update initshutdown and echo IDL from Samba 4.

commit a6677b2e186212f723b24775293682ce5b94952e
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Thu Jan 17 13:00:12 2008 +0100

    idl: Update DFS IDL from Samba 4.

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

Summary of changes:
 source/librpc/gen_ndr/cli_dfs.c      |   19 ++
 source/librpc/gen_ndr/cli_dfs.h      |    8 +
 source/librpc/gen_ndr/dfs.h          |   33 +++-
 source/librpc/gen_ndr/initshutdown.h |    4 +-
 source/librpc/gen_ndr/ndr_dfs.c      |  436 +++++++++++++++++++++++++++++++++-
 source/librpc/gen_ndr/ndr_dfs.h      |    2 +
 source/librpc/gen_ndr/ndr_echo.c     |   18 +-
 source/librpc/gen_ndr/ndr_echo.h     |    2 +-
 source/librpc/gen_ndr/ndr_netlogon.c |    8 +-
 source/librpc/gen_ndr/ndr_xattr.c    |    1 +
 source/librpc/gen_ndr/netlogon.h     |    4 +-
 source/librpc/gen_ndr/srv_dfs.c      |    4 +
 source/librpc/idl/dfs.idl            |   34 +++-
 source/librpc/idl/echo.idl           |    8 +-
 source/librpc/idl/eventlog.idl       |    7 +-
 source/librpc/idl/initshutdown.idl   |    4 +-
 source/librpc/idl/misc.idl           |    3 +-
 source/librpc/idl/netlogon.idl       |    4 +-
 source/librpc/idl/security.idl       |    9 +-
 19 files changed, 567 insertions(+), 41 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/librpc/gen_ndr/cli_dfs.c b/source/librpc/gen_ndr/cli_dfs.c
index 9078ce7..fc00128 100644
--- a/source/librpc/gen_ndr/cli_dfs.c
+++ b/source/librpc/gen_ndr/cli_dfs.c
@@ -789,12 +789,20 @@ NTSTATUS rpccli_dfs_AddStdRootForced(struct rpc_pipe_client *cli,
 
 NTSTATUS rpccli_dfs_GetDcAddress(struct rpc_pipe_client *cli,
 				 TALLOC_CTX *mem_ctx,
+				 const char *servername,
+				 const char **server_fullname,
+				 uint8_t *is_root,
+				 uint32_t *ttl,
 				 WERROR *werror)
 {
 	struct dfs_GetDcAddress r;
 	NTSTATUS status;
 
 	/* In parameters */
+	r.in.servername = servername;
+	r.in.server_fullname = server_fullname;
+	r.in.is_root = is_root;
+	r.in.ttl = ttl;
 
 	if (DEBUGLEVEL >= 10) {
 		NDR_PRINT_IN_DEBUG(dfs_GetDcAddress, &r);
@@ -820,6 +828,9 @@ NTSTATUS rpccli_dfs_GetDcAddress(struct rpc_pipe_client *cli,
 	}
 
 	/* Return variables */
+	*server_fullname = *r.out.server_fullname;
+	*is_root = *r.out.is_root;
+	*ttl = *r.out.ttl;
 
 	/* Return result */
 	if (werror) {
@@ -831,12 +842,20 @@ NTSTATUS rpccli_dfs_GetDcAddress(struct rpc_pipe_client *cli,
 
 NTSTATUS rpccli_dfs_SetDcAddress(struct rpc_pipe_client *cli,
 				 TALLOC_CTX *mem_ctx,
+				 const char *servername,
+				 const char *server_fullname,
+				 uint32_t flags,
+				 uint32_t ttl,
 				 WERROR *werror)
 {
 	struct dfs_SetDcAddress r;
 	NTSTATUS status;
 
 	/* In parameters */
+	r.in.servername = servername;
+	r.in.server_fullname = server_fullname;
+	r.in.flags = flags;
+	r.in.ttl = ttl;
 
 	if (DEBUGLEVEL >= 10) {
 		NDR_PRINT_IN_DEBUG(dfs_SetDcAddress, &r);
diff --git a/source/librpc/gen_ndr/cli_dfs.h b/source/librpc/gen_ndr/cli_dfs.h
index cdd0978..d23bb90 100644
--- a/source/librpc/gen_ndr/cli_dfs.h
+++ b/source/librpc/gen_ndr/cli_dfs.h
@@ -101,9 +101,17 @@ NTSTATUS rpccli_dfs_AddStdRootForced(struct rpc_pipe_client *cli,
 				     WERROR *werror);
 NTSTATUS rpccli_dfs_GetDcAddress(struct rpc_pipe_client *cli,
 				 TALLOC_CTX *mem_ctx,
+				 const char *servername,
+				 const char **server_fullname,
+				 uint8_t *is_root,
+				 uint32_t *ttl,
 				 WERROR *werror);
 NTSTATUS rpccli_dfs_SetDcAddress(struct rpc_pipe_client *cli,
 				 TALLOC_CTX *mem_ctx,
+				 const char *servername,
+				 const char *server_fullname,
+				 uint32_t flags,
+				 uint32_t ttl,
 				 WERROR *werror);
 NTSTATUS rpccli_dfs_FlushFtTable(struct rpc_pipe_client *cli,
 				 TALLOC_CTX *mem_ctx,
diff --git a/source/librpc/gen_ndr/dfs.h b/source/librpc/gen_ndr/dfs.h
index 89f243b..38e7f93 100644
--- a/source/librpc/gen_ndr/dfs.h
+++ b/source/librpc/gen_ndr/dfs.h
@@ -32,8 +32,8 @@ struct dfs_Info1 {
 /* bitmap dfs_VolumeState */
 #define DFS_VOLUME_STATE_OK ( 0x1 )
 #define DFS_VOLUME_STATE_INCONSISTENT ( 0x2 )
-#define DFS_VOLUME_STATE_OFFLINE ( 0x4 )
-#define DFS_VOLUME_STATE_ONLINE ( 0x8 )
+#define DFS_VOLUME_STATE_OFFLINE ( 0x3 )
+#define DFS_VOLUME_STATE_ONLINE ( 0x4 )
 #define DFS_VOLUME_STATE_STANDALONE ( DFS_VOLUME_FLAVOR_STANDALONE )
 #define DFS_VOLUME_STATE_AD_BLOB ( DFS_VOLUME_FLAVOR_AD_BLOB )
 
@@ -238,6 +238,16 @@ struct dfs_EnumArray4 {
 	struct dfs_Info4 *s;/* [unique,size_is(count)] */
 };
 
+struct dfs_EnumArray5 {
+	uint32_t count;
+	struct dfs_Info5 *s;/* [unique,size_is(count)] */
+};
+
+struct dfs_EnumArray6 {
+	uint32_t count;
+	struct dfs_Info6 *s;/* [unique,size_is(count)] */
+};
+
 struct dfs_EnumArray200 {
 	uint32_t count;
 	struct dfs_Info200 *s;/* [unique,size_is(count)] */
@@ -253,6 +263,8 @@ union dfs_EnumInfo {
 	struct dfs_EnumArray2 *info2;/* [unique,case(2)] */
 	struct dfs_EnumArray3 *info3;/* [unique,case(3)] */
 	struct dfs_EnumArray4 *info4;/* [unique,case(4)] */
+	struct dfs_EnumArray5 *info5;/* [unique,case(5)] */
+	struct dfs_EnumArray6 *info6;/* [unique,case(6)] */
 	struct dfs_EnumArray200 *info200;/* [unique,case(200)] */
 	struct dfs_EnumArray300 *info300;/* [unique,case(300)] */
 };
@@ -485,6 +497,16 @@ struct dfs_AddStdRootForced {
 
 struct dfs_GetDcAddress {
 	struct {
+		const char *servername;/* [charset(UTF16)] */
+		const char **server_fullname;/* [ref,charset(UTF16)] */
+		uint8_t *is_root;/* [ref] */
+		uint32_t *ttl;/* [ref] */
+	} in;
+
+	struct {
+		const char **server_fullname;/* [ref,charset(UTF16)] */
+		uint8_t *is_root;/* [ref] */
+		uint32_t *ttl;/* [ref] */
 		WERROR result;
 	} out;
 
@@ -493,6 +515,13 @@ struct dfs_GetDcAddress {
 
 struct dfs_SetDcAddress {
 	struct {
+		const char *servername;/* [charset(UTF16)] */
+		const char *server_fullname;/* [charset(UTF16)] */
+		uint32_t flags;
+		uint32_t ttl;
+	} in;
+
+	struct {
 		WERROR result;
 	} out;
 
diff --git a/source/librpc/gen_ndr/initshutdown.h b/source/librpc/gen_ndr/initshutdown.h
index 665d435..acfe988 100644
--- a/source/librpc/gen_ndr/initshutdown.h
+++ b/source/librpc/gen_ndr/initshutdown.h
@@ -11,8 +11,8 @@ struct initshutdown_String_sub {
 };
 
 struct initshutdown_String {
-	uint16_t name_len;/* [value(strlen_m(r->name->name)*2)] */
-	uint16_t name_size;/* [value(strlen_m_term(r->name->name)*2)] */
+	uint16_t name_len;/* [value(strlen_m(name->name)*2)] */
+	uint16_t name_size;/* [value(strlen_m_term(name->name)*2)] */
 	struct initshutdown_String_sub *name;/* [unique] */
 }/* [public] */;
 
diff --git a/source/librpc/gen_ndr/ndr_dfs.c b/source/librpc/gen_ndr/ndr_dfs.c
index 4b26487..dee3248 100644
--- a/source/librpc/gen_ndr/ndr_dfs.c
+++ b/source/librpc/gen_ndr/ndr_dfs.c
@@ -2544,6 +2544,180 @@ _PUBLIC_ void ndr_print_dfs_EnumArray4(struct ndr_print *ndr, const char *name,
 	ndr->depth--;
 }
 
+static enum ndr_err_code ndr_push_dfs_EnumArray5(struct ndr_push *ndr, int ndr_flags, const struct dfs_EnumArray5 *r)
+{
+	uint32_t cntr_s_1;
+	if (ndr_flags & NDR_SCALARS) {
+		NDR_CHECK(ndr_push_align(ndr, 4));
+		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
+		NDR_CHECK(ndr_push_unique_ptr(ndr, r->s));
+	}
+	if (ndr_flags & NDR_BUFFERS) {
+		if (r->s) {
+			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
+			for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
+				NDR_CHECK(ndr_push_dfs_Info5(ndr, NDR_SCALARS, &r->s[cntr_s_1]));
+			}
+			for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
+				NDR_CHECK(ndr_push_dfs_Info5(ndr, NDR_BUFFERS, &r->s[cntr_s_1]));
+			}
+		}
+	}
+	return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_dfs_EnumArray5(struct ndr_pull *ndr, int ndr_flags, struct dfs_EnumArray5 *r)
+{
+	uint32_t _ptr_s;
+	uint32_t cntr_s_1;
+	TALLOC_CTX *_mem_save_s_0;
+	TALLOC_CTX *_mem_save_s_1;
+	if (ndr_flags & NDR_SCALARS) {
+		NDR_CHECK(ndr_pull_align(ndr, 4));
+		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
+		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_s));
+		if (_ptr_s) {
+			NDR_PULL_ALLOC(ndr, r->s);
+		} else {
+			r->s = NULL;
+		}
+	}
+	if (ndr_flags & NDR_BUFFERS) {
+		if (r->s) {
+			_mem_save_s_0 = NDR_PULL_GET_MEM_CTX(ndr);
+			NDR_PULL_SET_MEM_CTX(ndr, r->s, 0);
+			NDR_CHECK(ndr_pull_array_size(ndr, &r->s));
+			NDR_PULL_ALLOC_N(ndr, r->s, ndr_get_array_size(ndr, &r->s));
+			_mem_save_s_1 = NDR_PULL_GET_MEM_CTX(ndr);
+			NDR_PULL_SET_MEM_CTX(ndr, r->s, 0);
+			for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
+				NDR_CHECK(ndr_pull_dfs_Info5(ndr, NDR_SCALARS, &r->s[cntr_s_1]));
+			}
+			for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
+				NDR_CHECK(ndr_pull_dfs_Info5(ndr, NDR_BUFFERS, &r->s[cntr_s_1]));
+			}
+			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s_1, 0);
+			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s_0, 0);
+		}
+		if (r->s) {
+			NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->s, r->count));
+		}
+	}
+	return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_dfs_EnumArray5(struct ndr_print *ndr, const char *name, const struct dfs_EnumArray5 *r)
+{
+	uint32_t cntr_s_1;
+	ndr_print_struct(ndr, name, "dfs_EnumArray5");
+	ndr->depth++;
+	ndr_print_uint32(ndr, "count", r->count);
+	ndr_print_ptr(ndr, "s", r->s);
+	ndr->depth++;
+	if (r->s) {
+		ndr->print(ndr, "%s: ARRAY(%d)", "s", r->count);
+		ndr->depth++;
+		for (cntr_s_1=0;cntr_s_1<r->count;cntr_s_1++) {
+			char *idx_1=NULL;
+			asprintf(&idx_1, "[%d]", cntr_s_1);
+			if (idx_1) {
+				ndr_print_dfs_Info5(ndr, "s", &r->s[cntr_s_1]);
+				free(idx_1);
+			}
+		}
+		ndr->depth--;
+	}
+	ndr->depth--;
+	ndr->depth--;
+}
+
+static enum ndr_err_code ndr_push_dfs_EnumArray6(struct ndr_push *ndr, int ndr_flags, const struct dfs_EnumArray6 *r)
+{
+	uint32_t cntr_s_1;
+	if (ndr_flags & NDR_SCALARS) {
+		NDR_CHECK(ndr_push_align(ndr, 4));
+		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
+		NDR_CHECK(ndr_push_unique_ptr(ndr, r->s));
+	}
+	if (ndr_flags & NDR_BUFFERS) {
+		if (r->s) {
+			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
+			for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
+				NDR_CHECK(ndr_push_dfs_Info6(ndr, NDR_SCALARS, &r->s[cntr_s_1]));
+			}
+			for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
+				NDR_CHECK(ndr_push_dfs_Info6(ndr, NDR_BUFFERS, &r->s[cntr_s_1]));
+			}
+		}
+	}
+	return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_dfs_EnumArray6(struct ndr_pull *ndr, int ndr_flags, struct dfs_EnumArray6 *r)
+{
+	uint32_t _ptr_s;
+	uint32_t cntr_s_1;
+	TALLOC_CTX *_mem_save_s_0;
+	TALLOC_CTX *_mem_save_s_1;
+	if (ndr_flags & NDR_SCALARS) {
+		NDR_CHECK(ndr_pull_align(ndr, 4));
+		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
+		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_s));
+		if (_ptr_s) {
+			NDR_PULL_ALLOC(ndr, r->s);
+		} else {
+			r->s = NULL;
+		}
+	}
+	if (ndr_flags & NDR_BUFFERS) {
+		if (r->s) {
+			_mem_save_s_0 = NDR_PULL_GET_MEM_CTX(ndr);
+			NDR_PULL_SET_MEM_CTX(ndr, r->s, 0);
+			NDR_CHECK(ndr_pull_array_size(ndr, &r->s));
+			NDR_PULL_ALLOC_N(ndr, r->s, ndr_get_array_size(ndr, &r->s));
+			_mem_save_s_1 = NDR_PULL_GET_MEM_CTX(ndr);
+			NDR_PULL_SET_MEM_CTX(ndr, r->s, 0);
+			for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
+				NDR_CHECK(ndr_pull_dfs_Info6(ndr, NDR_SCALARS, &r->s[cntr_s_1]));
+			}
+			for (cntr_s_1 = 0; cntr_s_1 < r->count; cntr_s_1++) {
+				NDR_CHECK(ndr_pull_dfs_Info6(ndr, NDR_BUFFERS, &r->s[cntr_s_1]));
+			}
+			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s_1, 0);
+			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_s_0, 0);
+		}
+		if (r->s) {
+			NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->s, r->count));
+		}
+	}
+	return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_dfs_EnumArray6(struct ndr_print *ndr, const char *name, const struct dfs_EnumArray6 *r)
+{
+	uint32_t cntr_s_1;
+	ndr_print_struct(ndr, name, "dfs_EnumArray6");
+	ndr->depth++;
+	ndr_print_uint32(ndr, "count", r->count);
+	ndr_print_ptr(ndr, "s", r->s);
+	ndr->depth++;
+	if (r->s) {
+		ndr->print(ndr, "%s: ARRAY(%d)", "s", r->count);
+		ndr->depth++;
+		for (cntr_s_1=0;cntr_s_1<r->count;cntr_s_1++) {
+			char *idx_1=NULL;
+			asprintf(&idx_1, "[%d]", cntr_s_1);
+			if (idx_1) {
+				ndr_print_dfs_Info6(ndr, "s", &r->s[cntr_s_1]);
+				free(idx_1);
+			}
+		}
+		ndr->depth--;
+	}
+	ndr->depth--;
+	ndr->depth--;
+}
+
 static enum ndr_err_code ndr_push_dfs_EnumArray200(struct ndr_push *ndr, int ndr_flags, const struct dfs_EnumArray200 *r)
 {
 	uint32_t cntr_s_1;
@@ -2740,6 +2914,14 @@ static enum ndr_err_code ndr_push_dfs_EnumInfo(struct ndr_push *ndr, int ndr_fla
 				NDR_CHECK(ndr_push_unique_ptr(ndr, r->info4));
 			break;
 
+			case 5:
+				NDR_CHECK(ndr_push_unique_ptr(ndr, r->info5));
+			break;
+
+			case 6:
+				NDR_CHECK(ndr_push_unique_ptr(ndr, r->info6));
+			break;
+
 			case 200:
 				NDR_CHECK(ndr_push_unique_ptr(ndr, r->info200));
 			break;
@@ -2779,6 +2961,18 @@ static enum ndr_err_code ndr_push_dfs_EnumInfo(struct ndr_push *ndr, int ndr_fla
 				}
 			break;
 
+			case 5:
+				if (r->info5) {
+					NDR_CHECK(ndr_push_dfs_EnumArray5(ndr, NDR_SCALARS|NDR_BUFFERS, r->info5));
+				}
+			break;
+
+			case 6:
+				if (r->info6) {
+					NDR_CHECK(ndr_push_dfs_EnumArray6(ndr, NDR_SCALARS|NDR_BUFFERS, r->info6));
+				}
+			break;
+
 			case 200:
 				if (r->info200) {
 					NDR_CHECK(ndr_push_dfs_EnumArray200(ndr, NDR_SCALARS|NDR_BUFFERS, r->info200));
@@ -2806,6 +3000,8 @@ static enum ndr_err_code ndr_pull_dfs_EnumInfo(struct ndr_pull *ndr, int ndr_fla
 	TALLOC_CTX *_mem_save_info2_0;
 	TALLOC_CTX *_mem_save_info3_0;
 	TALLOC_CTX *_mem_save_info4_0;
+	TALLOC_CTX *_mem_save_info5_0;
+	TALLOC_CTX *_mem_save_info6_0;
 	TALLOC_CTX *_mem_save_info200_0;
 	TALLOC_CTX *_mem_save_info300_0;
 	level = ndr_pull_get_switch_value(ndr, r);
@@ -2855,6 +3051,26 @@ static enum ndr_err_code ndr_pull_dfs_EnumInfo(struct ndr_pull *ndr, int ndr_fla
 				}
 			break; }
 
+			case 5: {
+				uint32_t _ptr_info5;
+				NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info5));
+				if (_ptr_info5) {
+					NDR_PULL_ALLOC(ndr, r->info5);
+				} else {
+					r->info5 = NULL;
+				}
+			break; }
+
+			case 6: {
+				uint32_t _ptr_info6;
+				NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info6));
+				if (_ptr_info6) {
+					NDR_PULL_ALLOC(ndr, r->info6);
+				} else {
+					r->info6 = NULL;
+				}
+			break; }
+
 			case 200: {
 				uint32_t _ptr_info200;
 				NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info200));
@@ -2917,6 +3133,24 @@ static enum ndr_err_code ndr_pull_dfs_EnumInfo(struct ndr_pull *ndr, int ndr_fla
 				}
 			break;
 
+			case 5:
+				if (r->info5) {
+					_mem_save_info5_0 = NDR_PULL_GET_MEM_CTX(ndr);
+					NDR_PULL_SET_MEM_CTX(ndr, r->info5, 0);
+					NDR_CHECK(ndr_pull_dfs_EnumArray5(ndr, NDR_SCALARS|NDR_BUFFERS, r->info5));
+					NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info5_0, 0);
+				}
+			break;
+
+			case 6:
+				if (r->info6) {
+					_mem_save_info6_0 = NDR_PULL_GET_MEM_CTX(ndr);
+					NDR_PULL_SET_MEM_CTX(ndr, r->info6, 0);
+					NDR_CHECK(ndr_pull_dfs_EnumArray6(ndr, NDR_SCALARS|NDR_BUFFERS, r->info6));
+					NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info6_0, 0);
+				}
+			break;
+
 			case 200:
 				if (r->info200) {
 					_mem_save_info200_0 = NDR_PULL_GET_MEM_CTX(ndr);
@@ -2984,6 +3218,24 @@ _PUBLIC_ void ndr_print_dfs_EnumInfo(struct ndr_print *ndr, const char *name, co
 			ndr->depth--;
 		break;
 
+		case 5:
+			ndr_print_ptr(ndr, "info5", r->info5);
+			ndr->depth++;
+			if (r->info5) {
+				ndr_print_dfs_EnumArray5(ndr, "info5", r->info5);
+			}
+			ndr->depth--;
+		break;
+
+		case 6:
+			ndr_print_ptr(ndr, "info6", r->info6);
+			ndr->depth++;
+			if (r->info6) {
+				ndr_print_dfs_EnumArray6(ndr, "info6", r->info6);
+			}
+			ndr->depth--;
+		break;
+
 		case 200:
 			ndr_print_ptr(ndr, "info200", r->info200);
 			ndr->depth++;
@@ -4715,8 +4967,50 @@ _PUBLIC_ void ndr_print_dfs_AddStdRootForced(struct ndr_print *ndr, const char *
 static enum ndr_err_code ndr_push_dfs_GetDcAddress(struct ndr_push *ndr, int flags, const struct dfs_GetDcAddress *r)
 {
 	if (flags & NDR_IN) {
+		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
+		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
+		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.servername, CH_UTF16)));
+		NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.servername, ndr_charset_length(r->in.servername, CH_UTF16), sizeof(uint16_t), CH_UTF16));
+		if (r->in.server_fullname == NULL) {
+			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+		}
+		if (*r->in.server_fullname == NULL) {
+			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+		}
+		NDR_CHECK(ndr_push_ref_ptr(ndr));
+		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->in.server_fullname, CH_UTF16)));
+		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
+		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->in.server_fullname, CH_UTF16)));
+		NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->in.server_fullname, ndr_charset_length(*r->in.server_fullname, CH_UTF16), sizeof(uint16_t), CH_UTF16));
+		if (r->in.is_root == NULL) {
+			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+		}
+		NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->in.is_root));
+		if (r->in.ttl == NULL) {
+			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+		}
+		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.ttl));
 	}
 	if (flags & NDR_OUT) {
+		if (r->out.server_fullname == NULL) {


-- 
Samba Shared Repository


More information about the samba-cvs mailing list