Re-run make idl.
authorGünther Deschner <gd@samba.org>
Tue, 12 Feb 2008 09:07:18 +0000 (10:07 +0100)
committerGünther Deschner <gd@samba.org>
Tue, 12 Feb 2008 09:08:23 +0000 (10:08 +0100)
Guenther
(This used to be commit 88575187e2b18f7a2d2fb689b4a41ab39bd48373)

source3/librpc/gen_ndr/cli_samr.c
source3/librpc/gen_ndr/cli_samr.h
source3/librpc/gen_ndr/ndr_samr.c
source3/librpc/gen_ndr/samr.h
source3/librpc/gen_ndr/srv_samr.c

index a2119e9068563fa71d1d68b6346cddca625d7cb6..663d620d675a4ee8b7993b29b9809fb017fb715e 100644 (file)
@@ -1582,7 +1582,7 @@ NTSTATUS rpccli_samr_QueryUserInfo(struct rpc_pipe_client *cli,
                                   TALLOC_CTX *mem_ctx,
                                   struct policy_handle *user_handle,
                                   uint16_t level,
-                                  union samr_UserInfo *info)
+                                  union samr_UserInfo **info)
 {
        struct samr_QueryUserInfo r;
        NTSTATUS status;
index f8d98db10b94ab29b9698672d3bf1480523bba72..92fcf73536aa05fb5720817f5e4241135febe433 100644 (file)
@@ -193,7 +193,7 @@ NTSTATUS rpccli_samr_QueryUserInfo(struct rpc_pipe_client *cli,
                                   TALLOC_CTX *mem_ctx,
                                   struct policy_handle *user_handle,
                                   uint16_t level,
-                                  union samr_UserInfo *info);
+                                  union samr_UserInfo **info);
 NTSTATUS rpccli_samr_SetUserInfo(struct rpc_pipe_client *cli,
                                 TALLOC_CTX *mem_ctx,
                                 struct policy_handle *user_handle,
index cc66ff8a87f7bbea6e8f553b6324fda5ef85e173..eaa38e3a1fc0c02d034a490291ca1491a288ca3b 100644 (file)
@@ -8741,8 +8741,11 @@ _PUBLIC_ enum ndr_err_code ndr_push_samr_QueryUserInfo(struct ndr_push *ndr, int
                if (r->out.info == NULL) {
                        return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
                }
-               NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
-               NDR_CHECK(ndr_push_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
+               NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
+               if (*r->out.info) {
+                       NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
+                       NDR_CHECK(ndr_push_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
+               }
                NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
        }
        return NDR_ERR_SUCCESS;
@@ -8750,8 +8753,10 @@ _PUBLIC_ enum ndr_err_code ndr_push_samr_QueryUserInfo(struct ndr_push *ndr, int
 
 _PUBLIC_ enum ndr_err_code ndr_pull_samr_QueryUserInfo(struct ndr_pull *ndr, int flags, struct samr_QueryUserInfo *r)
 {
+       uint32_t _ptr_info;
        TALLOC_CTX *_mem_save_user_handle_0;
        TALLOC_CTX *_mem_save_info_0;
+       TALLOC_CTX *_mem_save_info_1;
        if (flags & NDR_IN) {
                ZERO_STRUCT(r->out);
 
@@ -8772,8 +8777,19 @@ _PUBLIC_ enum ndr_err_code ndr_pull_samr_QueryUserInfo(struct ndr_pull *ndr, int
                }
                _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
                NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
-               NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
-               NDR_CHECK(ndr_pull_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
+               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
+               if (_ptr_info) {
+                       NDR_PULL_ALLOC(ndr, *r->out.info);
+               } else {
+                       *r->out.info = NULL;
+               }
+               if (*r->out.info) {
+                       _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
+                       NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
+                       NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
+                       NDR_CHECK(ndr_pull_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
+                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
+               }
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
                NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
        }
@@ -8802,8 +8818,13 @@ _PUBLIC_ void ndr_print_samr_QueryUserInfo(struct ndr_print *ndr, const char *na
                ndr->depth++;
                ndr_print_ptr(ndr, "info", r->out.info);
                ndr->depth++;
-               ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
-               ndr_print_samr_UserInfo(ndr, "info", r->out.info);
+               ndr_print_ptr(ndr, "info", *r->out.info);
+               ndr->depth++;
+               if (*r->out.info) {
+                       ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
+                       ndr_print_samr_UserInfo(ndr, "info", *r->out.info);
+               }
+               ndr->depth--;
                ndr->depth--;
                ndr_print_NTSTATUS(ndr, "result", r->out.result);
                ndr->depth--;
index a0390aca3042e0a5f709ea55d2b598ea79cf0179..dff4bf80f000efd55c74cefa6b3faaa226ad0aaa 100644 (file)
@@ -1275,7 +1275,7 @@ struct samr_QueryUserInfo {
        } in;
 
        struct {
-               union samr_UserInfo *info;/* [ref,switch_is(level)] */
+               union samr_UserInfo **info;/* [ref,switch_is(level)] */
                NTSTATUS result;
        } out;
 
index dcc6a197fac58734e4c315c86b14329ddf4e5340..39945879811475c8720a7a34ec2ed4d53a20416d 100644 (file)
@@ -2893,7 +2893,7 @@ static bool api_samr_QueryUserInfo(pipes_struct *p)
        }
 
        ZERO_STRUCT(r->out);
-       r->out.info = talloc_zero(r, union samr_UserInfo);
+       r->out.info = talloc_zero(r, union samr_UserInfo *);
        if (r->out.info == NULL) {
                talloc_free(r);
                return false;