samba-cvs.cvs
[Top] [All Lists]

[SCM] Samba Shared Repository - branch v3-3-test updated - release-3-2-0

Subject: [SCM] Samba Shared Repository - branch v3-3-test updated - release-3-2-0pre2-3455-g0298f7f
From: gd@xxxxxxxxx (Günther Deschner)
Date: Wed, 30 Jul 2008 09:56:10 -0500 (CDT)
The branch, v3-3-test has been updated
       via  0298f7fe9e273a94d14b5b6ce3dbd5e6deee9ecb (commit)
       via  d31f822b79ed5344ec3c6795d66ceefd024b7d30 (commit)
       via  0b4e2687ae8fb48faacceb4078d61f9fd2acea9d (commit)
       via  93ff6548977cb3e1c84fcb659475664de54e31b5 (commit)
       via  81be6207e51924a7632dfc0ec16ca3e570d417aa (commit)
      from  ec2a56b5e726400f171d641587cbd0a4b99beec0 (commit)

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


- Log -----------------------------------------------------------------
commit 0298f7fe9e273a94d14b5b6ce3dbd5e6deee9ecb
Author: Günther Deschner <gd@xxxxxxxxx>
Date:   Sat Jul 19 00:10:58 2008 +0200

    netapi: add NetGroupGetUsers example code.
    
    Guenther

commit d31f822b79ed5344ec3c6795d66ceefd024b7d30
Author: Günther Deschner <gd@xxxxxxxxx>
Date:   Fri Jul 18 23:43:33 2008 +0200

    netapi: add NetGroupGetUsers to public header.
    
    Guenther

commit 0b4e2687ae8fb48faacceb4078d61f9fd2acea9d
Author: Günther Deschner <gd@xxxxxxxxx>
Date:   Fri Jul 18 23:40:33 2008 +0200

    netapi: add NetGroupGetUsers skeleton.
    
    GUenther

commit 93ff6548977cb3e1c84fcb659475664de54e31b5
Author: Günther Deschner <gd@xxxxxxxxx>
Date:   Fri Jul 18 23:38:17 2008 +0200

    re-run make idl.
    
    Guenther

commit 81be6207e51924a7632dfc0ec16ca3e570d417aa
Author: Günther Deschner <gd@xxxxxxxxx>
Date:   Fri Jul 18 23:37:31 2008 +0200

    netapi: add NetGroupGetUsers to IDL.
    
    Guenther

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

Summary of changes:
 source/lib/netapi/examples/Makefile.in             |    6 +
 .../localgroup_enum.c => group/group_getusers.c}   |   48 +++++----
 source/lib/netapi/group.c                          |   18 +++
 source/lib/netapi/libnetapi.c                      |   55 ++++++++++
 source/lib/netapi/libnetapi.h                      |   12 ++
 source/lib/netapi/netapi.h                         |   38 +++++++
 source/librpc/gen_ndr/libnetapi.h                  |   29 +++++
 source/librpc/gen_ndr/ndr_libnetapi.c              |  113 ++++++++++++++++++++
 source/librpc/gen_ndr/ndr_libnetapi.h              |   25 +++--
 source/librpc/idl/libnetapi.idl                    |   24 ++++
 10 files changed, 340 insertions(+), 28 deletions(-)
 copy source/lib/netapi/examples/{localgroup/localgroup_enum.c => 
group/group_getusers.c} (70%)


Changeset truncated at 500 lines:

diff --git a/source/lib/netapi/examples/Makefile.in 
b/source/lib/netapi/examples/Makefile.in
index ca387ee..e7b61a1 100644
--- a/source/lib/netapi/examples/Makefile.in
+++ b/source/lib/netapi/examples/Makefile.in
@@ -36,6 +36,7 @@ PROGS = bin/getdc@EXEEXT@ \
        bin/group_getinfo@EXEEXT@ \
        bin/group_adduser@EXEEXT@ \
        bin/group_deluser@EXEEXT@ \
+       bin/group_getusers@EXEEXT@ \
        bin/localgroup_add@EXEEXT@ \
        bin/localgroup_del@EXEEXT@ \
        bin/localgroup_getinfo@EXEEXT@ \
@@ -89,6 +90,7 @@ GROUPSETINFO_OBJ = group/group_setinfo.o $(CMDLINE_OBJ)
 GROUPGETINFO_OBJ = group/group_getinfo.o $(CMDLINE_OBJ)
 GROUPADDUSER_OBJ = group/group_adduser.o $(CMDLINE_OBJ)
 GROUPDELUSER_OBJ = group/group_deluser.o $(CMDLINE_OBJ)
+GROUPGETUSERS_OBJ = group/group_getusers.o $(CMDLINE_OBJ)
 LOCALGROUPADD_OBJ = localgroup/localgroup_add.o $(CMDLINE_OBJ)
 LOCALGROUPDEL_OBJ = localgroup/localgroup_del.o $(CMDLINE_OBJ)
 LOCALGROUPGETINFO_OBJ = localgroup/localgroup_getinfo.o $(CMDLINE_OBJ)
@@ -172,6 +174,10 @@ bin/group_deluser@EXEEXT@: $(BINARY_PREREQS) 
$(GROUPDELUSER_OBJ)
        @echo Linking $@
        @$(CC) $(FLAGS) -o $@ $(GROUPDELUSER_OBJ) $(LDFLAGS) $(DYNEXP) 
$(CMDLINE_LIBS)
 
+bin/group_getusers@EXEEXT@: $(BINARY_PREREQS) $(GROUPGETUSERS_OBJ)
+       @echo Linking $@
+       @$(CC) $(FLAGS) -o $@ $(GROUPGETUSERS_OBJ) $(LDFLAGS) $(DYNEXP) 
$(CMDLINE_LIBS)
+
 bin/localgroup_add@EXEEXT@: $(BINARY_PREREQS) $(LOCALGROUPADD_OBJ)
        @echo Linking $@
        @$(CC) $(FLAGS) -o $@ $(LOCALGROUPADD_OBJ) $(LDFLAGS) $(DYNEXP) 
$(CMDLINE_LIBS)
diff --git a/source/lib/netapi/examples/localgroup/localgroup_enum.c 
b/source/lib/netapi/examples/group/group_getusers.c
similarity index 70%
copy from source/lib/netapi/examples/localgroup/localgroup_enum.c
copy to source/lib/netapi/examples/group/group_getusers.c
index 6fe0cf4..55d0717 100644
--- a/source/lib/netapi/examples/localgroup/localgroup_enum.c
+++ b/source/lib/netapi/examples/group/group_getusers.c
@@ -1,6 +1,6 @@
 /*
  *  Unix SMB/CIFS implementation.
- *  NetLocalGroupEnum query
+ *  NetGroupGetUsers query
  *  Copyright (C) Guenther Deschner 2008
  *
  *  This program is free software; you can redistribute it and/or modify
@@ -32,6 +32,7 @@ int main(int argc, const char **argv)
        NET_API_STATUS status;
        struct libnetapi_ctx *ctx = NULL;
        const char *hostname = NULL;
+       const char *groupname = NULL;
        uint32_t level = 0;
        uint8_t *buffer = NULL;
        uint32_t entries_read = 0;
@@ -39,8 +40,8 @@ int main(int argc, const char **argv)
        uint32_t resume_handle = 0;
        int i;
 
-       struct LOCALGROUP_INFO_0 *info0 = NULL;
-       struct LOCALGROUP_INFO_1 *info1 = NULL;
+       struct GROUP_USERS_INFO_0 *info0 = NULL;
+       struct GROUP_USERS_INFO_1 *info1 = NULL;
 
        poptContext pc;
        int opt;
@@ -56,9 +57,9 @@ int main(int argc, const char **argv)
                return status;
        }
 
-       pc = poptGetContext("localgroup_enum", argc, argv, long_options, 0);
+       pc = poptGetContext("group_getusers", argc, argv, long_options, 0);
 
-       poptSetOtherOptionHelp(pc, "hostname level");
+       poptSetOtherOptionHelp(pc, "hostname groupname level");
        while((opt = poptGetNextOpt(pc)) != -1) {
        }
 
@@ -68,28 +69,35 @@ int main(int argc, const char **argv)
        }
        hostname = poptGetArg(pc);
 
+       if (!poptPeekArg(pc)) {
+               poptPrintHelp(pc, stderr, 0);
+               goto out;
+       }
+       groupname = poptGetArg(pc);
+
        if (poptPeekArg(pc)) {
                level = atoi(poptGetArg(pc));
        }
 
-       /* NetLocalGroupEnum */
+       /* NetGroupGetUsers */
 
        do {
-               status = NetLocalGroupEnum(hostname,
-                                          level,
-                                          &buffer,
-                                          (uint32_t)-1,
-                                          &entries_read,
-                                          &total_entries,
-                                          &resume_handle);
+               status = NetGroupGetUsers(hostname,
+                                         groupname,
+                                         level,
+                                         &buffer,
+                                         (uint32_t)-1,
+                                         &entries_read,
+                                         &total_entries,
+                                         &resume_handle);
                if (status == 0 || status == ERROR_MORE_DATA) {
                        printf("total entries: %d\n", total_entries);
                        switch (level) {
                                case 0:
-                                       info0 = (struct LOCALGROUP_INFO_0 
*)buffer;
+                                       info0 = (struct GROUP_USERS_INFO_0 
*)buffer;
                                        break;
                                case 1:
-                                       info1 = (struct LOCALGROUP_INFO_1 
*)buffer;
+                                       info1 = (struct GROUP_USERS_INFO_1 
*)buffer;
                                        break;
                                default:
                                        break;
@@ -97,16 +105,14 @@ int main(int argc, const char **argv)
                        for (i=0; i<entries_read; i++) {
                                switch (level) {
                                        case 0:
-                                               printf("#%d group: %s\n", i, 
info0->lgrpi0_name);
+                                               printf("#%d group: %s\n", i, 
info0->grui0_name);
                                                info0++;
                                                break;
                                        case 1:
-                                               printf("#%d group: %s\n", i, 
info1->lgrpi1_name);
-                                               printf("#%d comment: %s\n", i, 
info1->lgrpi1_comment);
+                                               printf("#%d group: %s\n", i, 
info1->grui1_name);
+                                               printf("#%d attributes: %d\n", 
i, info1->grui1_attributes);
                                                info1++;
                                                break;
-                                       default:
-                                               break;
                                }
                        }
                        NetApiBufferFree(buffer);
@@ -114,7 +120,7 @@ int main(int argc, const char **argv)
        } while (status == ERROR_MORE_DATA);
 
        if (status != 0) {
-               printf("NetLocalGroupEnum failed with: %s\n",
+               printf("NetGroupGetUsers failed with: %s\n",
                        libnetapi_get_error_string(ctx, status));
        }
 
diff --git a/source/lib/netapi/group.c b/source/lib/netapi/group.c
index c1c55c8..30ff6af 100644
--- a/source/lib/netapi/group.c
+++ b/source/lib/netapi/group.c
@@ -1306,3 +1306,21 @@ WERROR NetGroupEnum_l(struct libnetapi_ctx *ctx,
 {
        return NetGroupEnum_r(ctx, r);
 }
+
+/****************************************************************
+****************************************************************/
+
+WERROR NetGroupGetUsers_r(struct libnetapi_ctx *ctx,
+                         struct NetGroupGetUsers *r)
+{
+       return WERR_NOT_SUPPORTED;
+}
+
+/****************************************************************
+****************************************************************/
+
+WERROR NetGroupGetUsers_l(struct libnetapi_ctx *ctx,
+                         struct NetGroupGetUsers *r)
+{
+       return WERR_NOT_SUPPORTED;
+}
diff --git a/source/lib/netapi/libnetapi.c b/source/lib/netapi/libnetapi.c
index 7e9e094..fe57238 100644
--- a/source/lib/netapi/libnetapi.c
+++ b/source/lib/netapi/libnetapi.c
@@ -1101,6 +1101,61 @@ NET_API_STATUS NetGroupDelUser(const char * server_name 
/* [in] */,
 }
 
 /****************************************************************
+ NetGroupGetUsers
+****************************************************************/
+
+NET_API_STATUS NetGroupGetUsers(const char * server_name /* [in] */,
+                               const char * group_name /* [in] */,
+                               uint32_t level /* [in] */,
+                               uint8_t **buffer /* [out] [ref] */,
+                               uint32_t prefmaxlen /* [in] */,
+                               uint32_t *entries_read /* [out] [ref] */,
+                               uint32_t *total_entries /* [out] [ref] */,
+                               uint32_t *resume_handle /* [in,out] [ref] */)
+{
+       struct NetGroupGetUsers r;
+       struct libnetapi_ctx *ctx = NULL;
+       NET_API_STATUS status;
+       WERROR werr;
+
+       status = libnetapi_getctx(&ctx);
+       if (status != 0) {
+               return status;
+       }
+
+       /* In parameters */
+       r.in.server_name = server_name;
+       r.in.group_name = group_name;
+       r.in.level = level;
+       r.in.prefmaxlen = prefmaxlen;
+       r.in.resume_handle = resume_handle;
+
+       /* Out parameters */
+       r.out.buffer = buffer;
+       r.out.entries_read = entries_read;
+       r.out.total_entries = total_entries;
+       r.out.resume_handle = resume_handle;
+
+       if (DEBUGLEVEL >= 10) {
+               NDR_PRINT_IN_DEBUG(NetGroupGetUsers, &r);
+       }
+
+       if (LIBNETAPI_LOCAL_SERVER(server_name)) {
+               werr = NetGroupGetUsers_l(ctx, &r);
+       } else {
+               werr = NetGroupGetUsers_r(ctx, &r);
+       }
+
+       r.out.result = W_ERROR_V(werr);
+
+       if (DEBUGLEVEL >= 10) {
+               NDR_PRINT_OUT_DEBUG(NetGroupGetUsers, &r);
+       }
+
+       return r.out.result;
+}
+
+/****************************************************************
  NetLocalGroupAdd
 ****************************************************************/
 
diff --git a/source/lib/netapi/libnetapi.h b/source/lib/netapi/libnetapi.h
index 0010400..5c9e2e2 100644
--- a/source/lib/netapi/libnetapi.h
+++ b/source/lib/netapi/libnetapi.h
@@ -192,6 +192,18 @@ WERROR NetGroupDelUser_r(struct libnetapi_ctx *ctx,
                         struct NetGroupDelUser *r);
 WERROR NetGroupDelUser_l(struct libnetapi_ctx *ctx,
                         struct NetGroupDelUser *r);
+NET_API_STATUS NetGroupGetUsers(const char * server_name /* [in] */,
+                               const char * group_name /* [in] */,
+                               uint32_t level /* [in] */,
+                               uint8_t **buffer /* [out] [ref] */,
+                               uint32_t prefmaxlen /* [in] */,
+                               uint32_t *entries_read /* [out] [ref] */,
+                               uint32_t *total_entries /* [out] [ref] */,
+                               uint32_t *resume_handle /* [in,out] [ref] */);
+WERROR NetGroupGetUsers_r(struct libnetapi_ctx *ctx,
+                         struct NetGroupGetUsers *r);
+WERROR NetGroupGetUsers_l(struct libnetapi_ctx *ctx,
+                         struct NetGroupGetUsers *r);
 NET_API_STATUS NetLocalGroupAdd(const char * server_name /* [in] */,
                                uint32_t level /* [in] */,
                                uint8_t *buffer /* [in] [ref] */,
diff --git a/source/lib/netapi/netapi.h b/source/lib/netapi/netapi.h
index 7d32ffc..a1041c0 100644
--- a/source/lib/netapi/netapi.h
+++ b/source/lib/netapi/netapi.h
@@ -290,6 +290,15 @@ struct GROUP_INFO_1005 {
        uint32_t grpi1005_attributes;
 };
 
+struct GROUP_USERS_INFO_0 {
+       const char * grui0_name;
+};
+
+struct GROUP_USERS_INFO_1 {
+       const char * grui1_name;
+       uint32_t grui1_attributes;
+};
+
 struct LOCALGROUP_INFO_0 {
        const char * lgrpi0_name;
 };
@@ -901,6 +910,35 @@ NET_API_STATUS NetGroupDelUser(const char * server_name /* 
[in] */,
 
 /************************************************************//**
  *
+ * NetGroupGetUsers
+ *
+ * @brief Get Users for a group on a server
+ *
+ * @param[in] server_name The server name to connect to
+ * @param[in] group_name The group name to enumerate users for
+ * @param[in] level The enumeration level used for the query
+ * @param[out] buffer The returned enumeration buffer
+ * @param[in] prefmaxlen The requested maximal buffer size
+ * @param[out] entries_read The number of returned entries
+ * @param[out] total_entries The number of total entries
+ * @param[in,out] resume_handle A handle passed in and returned for resuming
+ * operations
+ * @return NET_API_STATUS
+ *
+ * example group/group_getusers.c
+ ***************************************************************/
+
+NET_API_STATUS NetGroupGetUsers(const char * server_name /* [in] */,
+                               const char * group_name /* [in] */,
+                               uint32_t level /* [in] */,
+                               uint8_t **buffer /* [out] [ref] */,
+                               uint32_t prefmaxlen /* [in] */,
+                               uint32_t *entries_read /* [out] [ref] */,
+                               uint32_t *total_entries /* [out] [ref] */,
+                               uint32_t *resume_handle /* [in,out] [ref] */);
+
+/************************************************************//**
+ *
  * NetLocalGroupAdd
  *
  * @brief Create Local Group
diff --git a/source/librpc/gen_ndr/libnetapi.h 
b/source/librpc/gen_ndr/libnetapi.h
index d843b99..f1352c6 100644
--- a/source/librpc/gen_ndr/libnetapi.h
+++ b/source/librpc/gen_ndr/libnetapi.h
@@ -396,6 +396,15 @@ struct GROUP_INFO_1005 {
        uint32_t grpi1005_attributes;
 };
 
+struct GROUP_USERS_INFO_0 {
+       const char * grui0_name;
+};
+
+struct GROUP_USERS_INFO_1 {
+       const char * grui1_name;
+       uint32_t grui1_attributes;
+};
+
 struct LOCALGROUP_INFO_0 {
        const char * lgrpi0_name;
 };
@@ -780,6 +789,26 @@ struct NetGroupDelUser {
 };
 
 
+struct NetGroupGetUsers {
+       struct {
+               const char * server_name;
+               const char * group_name;
+               uint32_t level;
+               uint32_t prefmaxlen;
+               uint32_t *resume_handle;/* [ref] */
+       } in;
+
+       struct {
+               uint8_t **buffer;/* [ref] */
+               uint32_t *entries_read;/* [ref] */
+               uint32_t *total_entries;/* [ref] */
+               uint32_t *resume_handle;/* [ref] */
+               enum NET_API_STATUS result;
+       } out;
+
+};
+
+
 struct NetLocalGroupAdd {
        struct {
                const char * server_name;
diff --git a/source/librpc/gen_ndr/ndr_libnetapi.c 
b/source/librpc/gen_ndr/ndr_libnetapi.c
index 6e5c54f..64f1c4f 100644
--- a/source/librpc/gen_ndr/ndr_libnetapi.c
+++ b/source/librpc/gen_ndr/ndr_libnetapi.c
@@ -1937,6 +1937,69 @@ _PUBLIC_ void ndr_print_NET_DISPLAY_GROUP(struct 
ndr_print *ndr, const char *nam
        ndr->depth--;
 }
 
+_PUBLIC_ enum ndr_err_code ndr_push_GROUP_USERS_INFO_0(struct ndr_push *ndr, 
int ndr_flags, const struct GROUP_USERS_INFO_0 *r)
+{
+       if (ndr_flags & NDR_SCALARS) {
+               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->grui0_name));
+       }
+       if (ndr_flags & NDR_BUFFERS) {
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ enum ndr_err_code ndr_pull_GROUP_USERS_INFO_0(struct ndr_pull *ndr, 
int ndr_flags, struct GROUP_USERS_INFO_0 *r)
+{
+       if (ndr_flags & NDR_SCALARS) {
+               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->grui0_name));
+       }
+       if (ndr_flags & NDR_BUFFERS) {
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_GROUP_USERS_INFO_0(struct ndr_print *ndr, const char 
*name, const struct GROUP_USERS_INFO_0 *r)
+{
+       ndr_print_struct(ndr, name, "GROUP_USERS_INFO_0");
+       ndr->depth++;
+       ndr_print_string(ndr, "grui0_name", r->grui0_name);
+       ndr->depth--;
+}
+
+_PUBLIC_ enum ndr_err_code ndr_push_GROUP_USERS_INFO_1(struct ndr_push *ndr, 
int ndr_flags, const struct GROUP_USERS_INFO_1 *r)
+{
+       if (ndr_flags & NDR_SCALARS) {
+               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->grui1_name));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 
r->grui1_attributes));
+       }
+       if (ndr_flags & NDR_BUFFERS) {
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ enum ndr_err_code ndr_pull_GROUP_USERS_INFO_1(struct ndr_pull *ndr, 
int ndr_flags, struct GROUP_USERS_INFO_1 *r)
+{
+       if (ndr_flags & NDR_SCALARS) {
+               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->grui1_name));
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, 
&r->grui1_attributes));
+       }
+       if (ndr_flags & NDR_BUFFERS) {
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_GROUP_USERS_INFO_1(struct ndr_print *ndr, const char 
*name, const struct GROUP_USERS_INFO_1 *r)
+{
+       ndr_print_struct(ndr, name, "GROUP_USERS_INFO_1");
+       ndr->depth++;
+       ndr_print_string(ndr, "grui1_name", r->grui1_name);
+       ndr_print_uint32(ndr, "grui1_attributes", r->grui1_attributes);
+       ndr->depth--;
+}
+
 _PUBLIC_ void ndr_print_NetJoinDomain(struct ndr_print *ndr, const char *name, 
int flags, const struct NetJoinDomain *r)
 {
        ndr_print_struct(ndr, name, "NetJoinDomain");
@@ -2801,6 +2864,56 @@ _PUBLIC_ void ndr_print_NetGroupDelUser(struct ndr_print 
*ndr, const char *name,
        ndr->depth--;
 }
 
+_PUBLIC_ void ndr_print_NetGroupGetUsers(struct ndr_print *ndr, const char 
*name, int flags, const struct NetGroupGetUsers *r)
+{
+       ndr_print_struct(ndr, name, "NetGroupGetUsers");
+       ndr->depth++;
+       if (flags & NDR_SET_VALUES) {
+               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
+       }
+       if (flags & NDR_IN) {
+               ndr_print_struct(ndr, "in", "NetGroupGetUsers");
+               ndr->depth++;
+               ndr_print_string(ndr, "server_name", r->in.server_name);
+               ndr_print_string(ndr, "group_name", r->in.group_name);
+               ndr_print_uint32(ndr, "level", r->in.level);
+               ndr_print_uint32(ndr, "prefmaxlen", r->in.prefmaxlen);
+               ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
+               ndr->depth++;
+               ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle);
+               ndr->depth--;
+               ndr->depth--;
+       }
+       if (flags & NDR_OUT) {
+               ndr_print_struct(ndr, "out", "NetGroupGetUsers");
+               ndr->depth++;
+               ndr_print_ptr(ndr, "buffer", r->out.buffer);
+               ndr->depth++;
+               ndr_print_ptr(ndr, "buffer", *r->out.buffer);
+               ndr->depth++;
+               if (*r->out.buffer) {
+                       ndr_print_uint8(ndr, "buffer", **r->out.buffer);
+               }
+               ndr->depth--;
+               ndr->depth--;
+               ndr_print_ptr(ndr, "entries_read", r->out.entries_read);
+               ndr->depth++;
+               ndr_print_uint32(ndr, "entries_read", *r->out.entries_read);
+               ndr->depth--;
+               ndr_print_ptr(ndr, "total_entries", r->out.total_entries);
+               ndr->depth++;
+               ndr_print_uint32(ndr, "total_entries", *r->out.total_entries);
+               ndr->depth--;
+               ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle);
+               ndr->depth++;
+               ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle);
+               ndr->depth--;
+               ndr_print_NET_API_STATUS(ndr, "result", r->out.result);
+               ndr->depth--;
+       }
+       ndr->depth--;
+}
+
 _PUBLIC_ void ndr_print_NetLocalGroupAdd(struct ndr_print *ndr, const char 
*name, int flags, const struct NetLocalGroupAdd *r)
 {


-- 
Samba Shared Repository

<Prev in Thread] Current Thread [Next in Thread>
  • [SCM] Samba Shared Repository - branch v3-3-test updated - release-3-2-0pre2-3455-g0298f7f, Günther Deschner <=