The branch, master has been updated
       via  c287351 s4-rap: remove last iconv_convenience traces from rap 
client and test code.
       via  1351046 s4-rap: decouple rap client code from torture binary, add 
new LIBCLI_RAP subsystem.
       via  ebe0aa0 s4-smbtorture: check for username and computername presence 
in rap_netsessionenum test.
       via  7a91282 s3-libsmb: only include rap client when needed.
      from  c91b897 s3-build: share smbtorture4 build rules with s3-waf build.

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


- Log -----------------------------------------------------------------
commit c287351d0553dec62f1929f46e3c34278317b2a4
Author: Günther Deschner <[email protected]>
Date:   Tue Mar 15 17:40:39 2011 +0100

    s4-rap: remove last iconv_convenience traces from rap client and test code.
    
    Guenther
    
    Autobuild-User: Günther Deschner <[email protected]>
    Autobuild-Date: Tue Mar 15 22:01:51 CET 2011 on sn-devel-104

commit 135104649f92536673ed7f06c4fa3a8daafccbad
Author: Günther Deschner <[email protected]>
Date:   Tue Mar 15 17:28:51 2011 +0100

    s4-rap: decouple rap client code from torture binary, add new LIBCLI_RAP 
subsystem.
    
    Guenther

commit ebe0aa0e9cf8440c85c168e6ce7e8bc755d458a4
Author: Günther Deschner <[email protected]>
Date:   Tue Mar 15 16:35:58 2011 +0100

    s4-smbtorture: check for username and computername presence in 
rap_netsessionenum test.
    
    Guenther

commit 7a91282c9fb114e1ef52f89da4c6719683a623e5
Author: Günther Deschner <[email protected]>
Date:   Thu Feb 24 10:46:55 2011 +0100

    s3-libsmb: only include rap client when needed.
    
    Guenther

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

Summary of changes:
 source3/client/client.c               |    1 +
 source3/include/libsmb_internal.h     |    1 +
 source3/include/proto.h               |  180 ----
 source3/libsmb/clidfs.c               |    1 +
 source3/libsmb/clifile.c              |    1 +
 source3/libsmb/cliprint.c             |    1 +
 source3/libsmb/clirap.c               |    1 +
 source3/libsmb/clirap.h               |  208 +++++
 source3/libsmb/clirap2.c              |    1 +
 source3/libsmb/passchange.c           |    1 +
 source3/nmbd/nmbd_synclists.c         |    1 +
 source3/torture/mangle_test.c         |    1 +
 source3/torture/nbench.c              |    1 +
 source3/torture/nbio.c                |    1 +
 source3/torture/torture.c             |    1 +
 source3/torture/utable.c              |    1 +
 source3/utils/net_rap.c               |    1 +
 source3/utils/net_rpc.c               |    1 +
 source3/utils/smbcacls.c              |    1 +
 source3/utils/smbtree.c               |    1 +
 source4/{torture => libcli}/rap/rap.c |  245 +-----
 source4/libcli/rap/rap.h              |   77 ++
 source4/libcli/rap/wscript_build      |    7 +
 source4/libcli/wscript_build          |    1 +
 source4/torture/rap/printing.c        |    2 +-
 source4/torture/rap/rap.c             | 1526 +--------------------------------
 source4/torture/rap/rpc.c             |    2 +-
 source4/torture/rap/sam.c             |    9 +-
 source4/torture/rpc/samba3rpc.c       |    3 +-
 source4/torture/wscript_build         |    2 +-
 30 files changed, 359 insertions(+), 1921 deletions(-)
 create mode 100644 source3/libsmb/clirap.h
 copy source4/{torture => libcli}/rap/rap.c (87%)
 create mode 100644 source4/libcli/rap/rap.h
 create mode 100644 source4/libcli/rap/wscript_build


Changeset truncated at 500 lines:

diff --git a/source3/client/client.c b/source3/client/client.c
index e979f74..a6a7a22 100644
--- a/source3/client/client.c
+++ b/source3/client/client.c
@@ -31,6 +31,7 @@
 #include "../libcli/smbreadline/smbreadline.h"
 #include "../libcli/security/security.h"
 #include "system/select.h"
+#include "libsmb/clirap.h"
 
 #ifndef REGISTER
 #define REGISTER 0
diff --git a/source3/include/libsmb_internal.h 
b/source3/include/libsmb_internal.h
index 39a32f9..61dc95e 100644
--- a/source3/include/libsmb_internal.h
+++ b/source3/include/libsmb_internal.h
@@ -29,6 +29,7 @@
 #define _LIBSMB_INTERNAL_H_
 
 #include "../include/libsmbclient.h"
+#include "libsmb/clirap.h"
 
 #define SMBC_MAX_NAME  1023
 #define SMBC_FILE_MODE (S_IFREG | 0444)
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 2cb21f5..e8971c3 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -2232,186 +2232,6 @@ NTSTATUS cli_get_fs_quota_info(struct cli_state *cli, 
int quota_fnum,
 NTSTATUS cli_set_fs_quota_info(struct cli_state *cli, int quota_fnum,
                               SMB_NTQUOTA_STRUCT *pqt);
 
-/* The following definitions come from libsmb/clirap.c  */
-
-bool cli_api(struct cli_state *cli,
-            char *param, int prcnt, int mprcnt,
-            char *data, int drcnt, int mdrcnt,
-            char **rparam, unsigned int *rprcnt,
-            char **rdata, unsigned int *rdrcnt);
-bool cli_NetWkstaUserLogon(struct cli_state *cli,char *user, char 
*workstation);
-int cli_RNetShareEnum(struct cli_state *cli, void (*fn)(const char *, uint32, 
const char *, void *), void *state);
-bool cli_NetServerEnum(struct cli_state *cli, char *workgroup, uint32 stype,
-                      void (*fn)(const char *, uint32, const char *, void *),
-                      void *state);
-bool cli_oem_change_password(struct cli_state *cli, const char *user, const 
char *new_password,
-                             const char *old_password);
-struct tevent_req *cli_qpathinfo1_send(TALLOC_CTX *mem_ctx,
-                                      struct event_context *ev,
-                                      struct cli_state *cli,
-                                      const char *fname);
-NTSTATUS cli_qpathinfo1_recv(struct tevent_req *req,
-                            time_t *change_time,
-                            time_t *access_time,
-                            time_t *write_time,
-                            SMB_OFF_T *size,
-                            uint16 *mode);
-NTSTATUS cli_qpathinfo1(struct cli_state *cli,
-                       const char *fname,
-                       time_t *change_time,
-                       time_t *access_time,
-                       time_t *write_time,
-                       SMB_OFF_T *size,
-                       uint16 *mode);
-NTSTATUS cli_setpathinfo_basic(struct cli_state *cli, const char *fname,
-                              time_t create_time,
-                              time_t access_time,
-                              time_t write_time,
-                              time_t change_time,
-                              uint16 mode);
-struct tevent_req *cli_qpathinfo2_send(TALLOC_CTX *mem_ctx,
-                                      struct event_context *ev,
-                                      struct cli_state *cli,
-                                      const char *fname);
-NTSTATUS cli_qpathinfo2_recv(struct tevent_req *req,
-                            struct timespec *create_time,
-                            struct timespec *access_time,
-                            struct timespec *write_time,
-                            struct timespec *change_time,
-                            SMB_OFF_T *size, uint16 *mode,
-                            SMB_INO_T *ino);
-NTSTATUS cli_qpathinfo2(struct cli_state *cli, const char *fname,
-                       struct timespec *create_time,
-                       struct timespec *access_time,
-                       struct timespec *write_time,
-                       struct timespec *change_time,
-                       SMB_OFF_T *size, uint16 *mode,
-                       SMB_INO_T *ino);
-struct tevent_req *cli_qpathinfo_streams_send(TALLOC_CTX *mem_ctx,
-                                             struct tevent_context *ev,
-                                             struct cli_state *cli,
-                                             const char *fname);
-NTSTATUS cli_qpathinfo_streams_recv(struct tevent_req *req,
-                                   TALLOC_CTX *mem_ctx,
-                                   unsigned int *pnum_streams,
-                                   struct stream_struct **pstreams);
-NTSTATUS cli_qpathinfo_streams(struct cli_state *cli, const char *fname,
-                              TALLOC_CTX *mem_ctx,
-                              unsigned int *pnum_streams,
-                              struct stream_struct **pstreams);
-NTSTATUS cli_qfilename(struct cli_state *cli, uint16_t fnum, char *name,
-                      size_t namelen);
-NTSTATUS cli_qfileinfo_basic(struct cli_state *cli, uint16_t fnum,
-                            uint16 *mode, SMB_OFF_T *size,
-                            struct timespec *create_time,
-                            struct timespec *access_time,
-                            struct timespec *write_time,
-                            struct timespec *change_time,
-                            SMB_INO_T *ino);
-struct tevent_req *cli_qpathinfo_basic_send(TALLOC_CTX *mem_ctx,
-                                           struct event_context *ev,
-                                           struct cli_state *cli,
-                                           const char *fname);
-NTSTATUS cli_qpathinfo_basic_recv(struct tevent_req *req,
-                                 SMB_STRUCT_STAT *sbuf, uint32 *attributes);
-NTSTATUS cli_qpathinfo_basic(struct cli_state *cli, const char *name,
-                            SMB_STRUCT_STAT *sbuf, uint32 *attributes);
-NTSTATUS cli_qpathinfo_alt_name(struct cli_state *cli, const char *fname, 
fstring alt_name);
-struct tevent_req *cli_qpathinfo_send(TALLOC_CTX *mem_ctx,
-                                     struct tevent_context *ev,
-                                     struct cli_state *cli, const char *fname,
-                                     uint16_t level, uint32_t min_rdata,
-                                     uint32_t max_rdata);
-NTSTATUS cli_qpathinfo_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx,
-                           uint8_t **rdata, uint32_t *num_rdata);
-NTSTATUS cli_qpathinfo(TALLOC_CTX *mem_ctx, struct cli_state *cli,
-                      const char *fname, uint16_t level, uint32_t min_rdata,
-                      uint32_t max_rdata,
-                      uint8_t **rdata, uint32_t *num_rdata);
-
-struct tevent_req *cli_qfileinfo_send(TALLOC_CTX *mem_ctx,
-                                     struct tevent_context *ev,
-                                     struct cli_state *cli, uint16_t fnum,
-                                     uint16_t level, uint32_t min_rdata,
-                                     uint32_t max_rdata);
-NTSTATUS cli_qfileinfo_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx,
-                           uint8_t **rdata, uint32_t *num_rdata);
-NTSTATUS cli_qfileinfo(TALLOC_CTX *mem_ctx, struct cli_state *cli,
-                      uint16_t fnum, uint16_t level, uint32_t min_rdata,
-                      uint32_t max_rdata,
-                      uint8_t **rdata, uint32_t *num_rdata);
-
-struct tevent_req *cli_flush_send(TALLOC_CTX *mem_ctx,
-                                 struct event_context *ev,
-                                 struct cli_state *cli,
-                                 uint16_t fnum);
-NTSTATUS cli_flush_recv(struct tevent_req *req);
-NTSTATUS cli_flush(TALLOC_CTX *mem_ctx, struct cli_state *cli, uint16_t fnum);
-
-struct tevent_req *cli_shadow_copy_data_send(TALLOC_CTX *mem_ctx,
-                                            struct tevent_context *ev,
-                                            struct cli_state *cli,
-                                            uint16_t fnum,
-                                            bool get_names);
-NTSTATUS cli_shadow_copy_data_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx,
-                                  char ***pnames, int *pnum_names);
-NTSTATUS cli_shadow_copy_data(TALLOC_CTX *mem_ctx, struct cli_state *cli,
-                             uint16_t fnum, bool get_names,
-                             char ***pnames, int *pnum_names);
-
-/* The following definitions come from libsmb/clirap2.c  */
-struct rap_group_info_1;
-struct rap_user_info_1;
-struct rap_share_info_2;
-
-int cli_NetGroupDelete(struct cli_state *cli, const char *group_name);
-int cli_NetGroupAdd(struct cli_state *cli, struct rap_group_info_1 *grinfo);
-int cli_RNetGroupEnum(struct cli_state *cli, void (*fn)(const char *, const 
char *, void *), void *state);
-int cli_RNetGroupEnum0(struct cli_state *cli,
-                      void (*fn)(const char *, void *),
-                      void *state);
-int cli_NetGroupDelUser(struct cli_state * cli, const char *group_name, const 
char *user_name);
-int cli_NetGroupAddUser(struct cli_state * cli, const char *group_name, const 
char *user_name);
-int cli_NetGroupGetUsers(struct cli_state * cli, const char *group_name, void 
(*fn)(const char *, void *), void *state );
-int cli_NetUserGetGroups(struct cli_state * cli, const char *user_name, void 
(*fn)(const char *, void *), void *state );
-int cli_NetUserDelete(struct cli_state *cli, const char * user_name );
-int cli_NetUserAdd(struct cli_state *cli, struct rap_user_info_1 * userinfo );
-int cli_RNetUserEnum(struct cli_state *cli, void (*fn)(const char *, const 
char *, const char *, const char *, void *), void *state);
-int cli_RNetUserEnum0(struct cli_state *cli,
-                     void (*fn)(const char *, void *),
-                     void *state);
-int cli_NetFileClose(struct cli_state *cli, uint32 file_id );
-int cli_NetFileGetInfo(struct cli_state *cli, uint32 file_id, void (*fn)(const 
char *, const char *, uint16, uint16, uint32));
-int cli_NetFileEnum(struct cli_state *cli, const char * user,
-                   const char * base_path,
-                   void (*fn)(const char *, const char *, uint16, uint16,
-                              uint32));
-int cli_NetShareAdd(struct cli_state *cli, struct rap_share_info_2 * sinfo );
-int cli_NetShareDelete(struct cli_state *cli, const char * share_name );
-bool cli_get_pdc_name(struct cli_state *cli, const char *workgroup, char 
**pdc_name);
-bool cli_get_server_domain(struct cli_state *cli);
-bool cli_get_server_type(struct cli_state *cli, uint32 *pstype);
-bool cli_get_server_name(TALLOC_CTX *mem_ctx, struct cli_state *cli,
-                        char **servername);
-bool cli_ns_check_server_type(struct cli_state *cli, char *workgroup, uint32 
stype);
-bool cli_NetWkstaUserLogoff(struct cli_state *cli, const char *user, const 
char *workstation);
-int cli_NetPrintQEnum(struct cli_state *cli,
-               void (*qfn)(const char*,uint16,uint16,uint16,const char*,const 
char*,const char*,const char*,const char*,uint16,uint16),
-               void (*jfn)(uint16,const char*,const char*,const char*,const 
char*,uint16,uint16,const char*,unsigned int,unsigned int,const char*));
-int cli_NetPrintQGetInfo(struct cli_state *cli, const char *printer,
-       void (*qfn)(const char*,uint16,uint16,uint16,const char*,const 
char*,const char*,const char*,const char*,uint16,uint16),
-       void (*jfn)(uint16,const char*,const char*,const char*,const 
char*,uint16,uint16,const char*,unsigned int,unsigned int,const char*));
-int cli_RNetServiceEnum(struct cli_state *cli, void (*fn)(const char *, const 
char *, void *), void *state);
-int cli_NetSessionEnum(struct cli_state *cli, void (*fn)(char *, char *, 
uint16, uint16, uint16, unsigned int, unsigned int, unsigned int, char *));
-int cli_NetSessionGetInfo(struct cli_state *cli, const char *workstation,
-               void (*fn)(const char *, const char *, uint16, uint16, uint16, 
unsigned int, unsigned int, unsigned int, const char *));
-int cli_NetSessionDel(struct cli_state *cli, const char *workstation);
-int cli_NetConnectionEnum(struct cli_state *cli, const char *qualifier,
-                       void (*fn)(uint16_t conid, uint16_t contype,
-                               uint16_t numopens, uint16_t numusers,
-                               uint32_t contime, const char *username,
-                               const char *netname));
-
 /* The following definitions come from libsmb/clireadwrite.c  */
 
 struct tevent_req *cli_read_andx_create(TALLOC_CTX *mem_ctx,
diff --git a/source3/libsmb/clidfs.c b/source3/libsmb/clidfs.c
index 1c87988..a23f477 100644
--- a/source3/libsmb/clidfs.c
+++ b/source3/libsmb/clidfs.c
@@ -20,6 +20,7 @@
 */
 
 #include "includes.h"
+#include "libsmb/clirap.h"
 
 /********************************************************************
  Important point.
diff --git a/source3/libsmb/clifile.c b/source3/libsmb/clifile.c
index 68dd6c8..72f0e4b 100644
--- a/source3/libsmb/clifile.c
+++ b/source3/libsmb/clifile.c
@@ -20,6 +20,7 @@
 
 #include "includes.h"
 #include "async_smb.h"
+#include "libsmb/clirap.h"
 
 /***********************************************************
  Common function for pushing stings, used by smb_bytes_push_str()
diff --git a/source3/libsmb/cliprint.c b/source3/libsmb/cliprint.c
index 9125c5d..10d1759 100644
--- a/source3/libsmb/cliprint.c
+++ b/source3/libsmb/cliprint.c
@@ -18,6 +18,7 @@
 */
 
 #include "includes.h"
+#include "libsmb/clirap.h"
 
 /*****************************************************************************
  Convert a character pointer in a cli_call_api() response to a form we can use.
diff --git a/source3/libsmb/clirap.c b/source3/libsmb/clirap.c
index 781dbe6..1756c47 100644
--- a/source3/libsmb/clirap.c
+++ b/source3/libsmb/clirap.c
@@ -24,6 +24,7 @@
 #include "../librpc/gen_ndr/rap.h"
 #include "../lib/crypto/arcfour.h"
 #include "async_smb.h"
+#include "libsmb/clirap.h"
 
 #define PIPE_LANMAN   "\\PIPE\\LANMAN"
 
diff --git a/source3/libsmb/clirap.h b/source3/libsmb/clirap.h
new file mode 100644
index 0000000..6ea6978
--- /dev/null
+++ b/source3/libsmb/clirap.h
@@ -0,0 +1,208 @@
+/*
+   Samba Unix/Linux SMB client library
+   More client RAP (SMB Remote Procedure Calls) functions
+   Copyright (C) 2001 Steve French ([email protected])
+   Copyright (C) 2001 Jim McDonough ([email protected])
+   Copyright (C) 2007 Jeremy Allison. [email protected]
+   Copyright (C) Andrew Tridgell         1994-1998
+   Copyright (C) Gerald (Jerry) Carter   2004
+   Copyright (C) James Peach            2007
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef _LIBSMB_CLIRAP_H
+#define _LIBSMB_CLIRAP_H
+
+/* The following definitions come from libsmb/clirap.c  */
+
+bool cli_api(struct cli_state *cli,
+            char *param, int prcnt, int mprcnt,
+            char *data, int drcnt, int mdrcnt,
+            char **rparam, unsigned int *rprcnt,
+            char **rdata, unsigned int *rdrcnt);
+bool cli_NetWkstaUserLogon(struct cli_state *cli,char *user, char 
*workstation);
+int cli_RNetShareEnum(struct cli_state *cli, void (*fn)(const char *, uint32, 
const char *, void *), void *state);
+bool cli_NetServerEnum(struct cli_state *cli, char *workgroup, uint32 stype,
+                      void (*fn)(const char *, uint32, const char *, void *),
+                      void *state);
+bool cli_oem_change_password(struct cli_state *cli, const char *user, const 
char *new_password,
+                             const char *old_password);
+struct tevent_req *cli_qpathinfo1_send(TALLOC_CTX *mem_ctx,
+                                      struct event_context *ev,
+                                      struct cli_state *cli,
+                                      const char *fname);
+NTSTATUS cli_qpathinfo1_recv(struct tevent_req *req,
+                            time_t *change_time,
+                            time_t *access_time,
+                            time_t *write_time,
+                            SMB_OFF_T *size,
+                            uint16 *mode);
+NTSTATUS cli_qpathinfo1(struct cli_state *cli,
+                       const char *fname,
+                       time_t *change_time,
+                       time_t *access_time,
+                       time_t *write_time,
+                       SMB_OFF_T *size,
+                       uint16 *mode);
+NTSTATUS cli_setpathinfo_basic(struct cli_state *cli, const char *fname,
+                              time_t create_time,
+                              time_t access_time,
+                              time_t write_time,
+                              time_t change_time,
+                              uint16 mode);
+struct tevent_req *cli_qpathinfo2_send(TALLOC_CTX *mem_ctx,
+                                      struct event_context *ev,
+                                      struct cli_state *cli,
+                                      const char *fname);
+NTSTATUS cli_qpathinfo2_recv(struct tevent_req *req,
+                            struct timespec *create_time,
+                            struct timespec *access_time,
+                            struct timespec *write_time,
+                            struct timespec *change_time,
+                            SMB_OFF_T *size, uint16 *mode,
+                            SMB_INO_T *ino);
+NTSTATUS cli_qpathinfo2(struct cli_state *cli, const char *fname,
+                       struct timespec *create_time,
+                       struct timespec *access_time,
+                       struct timespec *write_time,
+                       struct timespec *change_time,
+                       SMB_OFF_T *size, uint16 *mode,
+                       SMB_INO_T *ino);
+struct tevent_req *cli_qpathinfo_streams_send(TALLOC_CTX *mem_ctx,
+                                             struct tevent_context *ev,
+                                             struct cli_state *cli,
+                                             const char *fname);
+NTSTATUS cli_qpathinfo_streams_recv(struct tevent_req *req,
+                                   TALLOC_CTX *mem_ctx,
+                                   unsigned int *pnum_streams,
+                                   struct stream_struct **pstreams);
+NTSTATUS cli_qpathinfo_streams(struct cli_state *cli, const char *fname,
+                              TALLOC_CTX *mem_ctx,
+                              unsigned int *pnum_streams,
+                              struct stream_struct **pstreams);
+NTSTATUS cli_qfilename(struct cli_state *cli, uint16_t fnum, char *name,
+                      size_t namelen);
+NTSTATUS cli_qfileinfo_basic(struct cli_state *cli, uint16_t fnum,
+                            uint16 *mode, SMB_OFF_T *size,
+                            struct timespec *create_time,
+                            struct timespec *access_time,
+                            struct timespec *write_time,
+                            struct timespec *change_time,
+                            SMB_INO_T *ino);
+struct tevent_req *cli_qpathinfo_basic_send(TALLOC_CTX *mem_ctx,
+                                           struct event_context *ev,
+                                           struct cli_state *cli,
+                                           const char *fname);
+NTSTATUS cli_qpathinfo_basic_recv(struct tevent_req *req,
+                                 SMB_STRUCT_STAT *sbuf, uint32 *attributes);
+NTSTATUS cli_qpathinfo_basic(struct cli_state *cli, const char *name,
+                            SMB_STRUCT_STAT *sbuf, uint32 *attributes);
+NTSTATUS cli_qpathinfo_alt_name(struct cli_state *cli, const char *fname, 
fstring alt_name);
+struct tevent_req *cli_qpathinfo_send(TALLOC_CTX *mem_ctx,
+                                     struct tevent_context *ev,
+                                     struct cli_state *cli, const char *fname,
+                                     uint16_t level, uint32_t min_rdata,
+                                     uint32_t max_rdata);
+NTSTATUS cli_qpathinfo_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx,
+                           uint8_t **rdata, uint32_t *num_rdata);
+NTSTATUS cli_qpathinfo(TALLOC_CTX *mem_ctx, struct cli_state *cli,
+                      const char *fname, uint16_t level, uint32_t min_rdata,
+                      uint32_t max_rdata,
+                      uint8_t **rdata, uint32_t *num_rdata);
+
+struct tevent_req *cli_qfileinfo_send(TALLOC_CTX *mem_ctx,
+                                     struct tevent_context *ev,
+                                     struct cli_state *cli, uint16_t fnum,
+                                     uint16_t level, uint32_t min_rdata,
+                                     uint32_t max_rdata);
+NTSTATUS cli_qfileinfo_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx,
+                           uint8_t **rdata, uint32_t *num_rdata);
+NTSTATUS cli_qfileinfo(TALLOC_CTX *mem_ctx, struct cli_state *cli,
+                      uint16_t fnum, uint16_t level, uint32_t min_rdata,
+                      uint32_t max_rdata,
+                      uint8_t **rdata, uint32_t *num_rdata);
+
+struct tevent_req *cli_flush_send(TALLOC_CTX *mem_ctx,
+                                 struct event_context *ev,
+                                 struct cli_state *cli,
+                                 uint16_t fnum);
+NTSTATUS cli_flush_recv(struct tevent_req *req);
+NTSTATUS cli_flush(TALLOC_CTX *mem_ctx, struct cli_state *cli, uint16_t fnum);
+
+struct tevent_req *cli_shadow_copy_data_send(TALLOC_CTX *mem_ctx,
+                                            struct tevent_context *ev,
+                                            struct cli_state *cli,
+                                            uint16_t fnum,
+                                            bool get_names);
+NTSTATUS cli_shadow_copy_data_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx,
+                                  char ***pnames, int *pnum_names);
+NTSTATUS cli_shadow_copy_data(TALLOC_CTX *mem_ctx, struct cli_state *cli,
+                             uint16_t fnum, bool get_names,
+                             char ***pnames, int *pnum_names);
+
+/* The following definitions come from libsmb/clirap2.c  */
+struct rap_group_info_1;
+struct rap_user_info_1;
+struct rap_share_info_2;
+
+int cli_NetGroupDelete(struct cli_state *cli, const char *group_name);
+int cli_NetGroupAdd(struct cli_state *cli, struct rap_group_info_1 *grinfo);
+int cli_RNetGroupEnum(struct cli_state *cli, void (*fn)(const char *, const 
char *, void *), void *state);
+int cli_RNetGroupEnum0(struct cli_state *cli,
+                      void (*fn)(const char *, void *),
+                      void *state);
+int cli_NetGroupDelUser(struct cli_state * cli, const char *group_name, const 
char *user_name);
+int cli_NetGroupAddUser(struct cli_state * cli, const char *group_name, const 
char *user_name);
+int cli_NetGroupGetUsers(struct cli_state * cli, const char *group_name, void 
(*fn)(const char *, void *), void *state );
+int cli_NetUserGetGroups(struct cli_state * cli, const char *user_name, void 
(*fn)(const char *, void *), void *state );
+int cli_NetUserDelete(struct cli_state *cli, const char * user_name );
+int cli_NetUserAdd(struct cli_state *cli, struct rap_user_info_1 * userinfo );
+int cli_RNetUserEnum(struct cli_state *cli, void (*fn)(const char *, const 
char *, const char *, const char *, void *), void *state);
+int cli_RNetUserEnum0(struct cli_state *cli,
+                     void (*fn)(const char *, void *),
+                     void *state);
+int cli_NetFileClose(struct cli_state *cli, uint32 file_id );
+int cli_NetFileGetInfo(struct cli_state *cli, uint32 file_id, void (*fn)(const 
char *, const char *, uint16, uint16, uint32));
+int cli_NetFileEnum(struct cli_state *cli, const char * user,
+                   const char * base_path,
+                   void (*fn)(const char *, const char *, uint16, uint16,
+                              uint32));
+int cli_NetShareAdd(struct cli_state *cli, struct rap_share_info_2 * sinfo );
+int cli_NetShareDelete(struct cli_state *cli, const char * share_name );
+bool cli_get_pdc_name(struct cli_state *cli, const char *workgroup, char 
**pdc_name);
+bool cli_get_server_domain(struct cli_state *cli);
+bool cli_get_server_type(struct cli_state *cli, uint32 *pstype);
+bool cli_get_server_name(TALLOC_CTX *mem_ctx, struct cli_state *cli,
+                        char **servername);
+bool cli_ns_check_server_type(struct cli_state *cli, char *workgroup, uint32 
stype);
+bool cli_NetWkstaUserLogoff(struct cli_state *cli, const char *user, const 
char *workstation);
+int cli_NetPrintQEnum(struct cli_state *cli,
+               void (*qfn)(const char*,uint16,uint16,uint16,const char*,const 
char*,const char*,const char*,const char*,uint16,uint16),
+               void (*jfn)(uint16,const char*,const char*,const char*,const 
char*,uint16,uint16,const char*,unsigned int,unsigned int,const char*));
+int cli_NetPrintQGetInfo(struct cli_state *cli, const char *printer,
+       void (*qfn)(const char*,uint16,uint16,uint16,const char*,const 
char*,const char*,const char*,const char*,uint16,uint16),
+       void (*jfn)(uint16,const char*,const char*,const char*,const 
char*,uint16,uint16,const char*,unsigned int,unsigned int,const char*));
+int cli_RNetServiceEnum(struct cli_state *cli, void (*fn)(const char *, const 
char *, void *), void *state);
+int cli_NetSessionEnum(struct cli_state *cli, void (*fn)(char *, char *, 
uint16, uint16, uint16, unsigned int, unsigned int, unsigned int, char *));
+int cli_NetSessionGetInfo(struct cli_state *cli, const char *workstation,
+               void (*fn)(const char *, const char *, uint16, uint16, uint16, 
unsigned int, unsigned int, unsigned int, const char *));
+int cli_NetSessionDel(struct cli_state *cli, const char *workstation);
+int cli_NetConnectionEnum(struct cli_state *cli, const char *qualifier,
+                       void (*fn)(uint16_t conid, uint16_t contype,
+                               uint16_t numopens, uint16_t numusers,
+                               uint32_t contime, const char *username,
+                               const char *netname));
+
+#endif /* _LIBSMB_CLIRAP_H */
diff --git a/source3/libsmb/clirap2.c b/source3/libsmb/clirap2.c
index 20efca3..44a9d7c 100644
--- a/source3/libsmb/clirap2.c
+++ b/source3/libsmb/clirap2.c
@@ -78,6 +78,7 @@
 #include "includes.h"
 #include "../librpc/gen_ndr/rap.h"
 #include "../librpc/gen_ndr/svcctl.h"
+#include "libsmb/clirap.h"
 
 #define WORDSIZE 2
 #define DWORDSIZE 4
diff --git a/source3/libsmb/passchange.c b/source3/libsmb/passchange.c
index 989406f..289bf4b 100644
--- a/source3/libsmb/passchange.c
+++ b/source3/libsmb/passchange.c
@@ -21,6 +21,7 @@
 #include "../librpc/gen_ndr/ndr_samr.h"
 #include "rpc_client/cli_pipe.h"
 #include "rpc_client/cli_samr.h"
+#include "libsmb/clirap.h"
 
 /*************************************************************


-- 
Samba Shared Repository

Reply via email to