[SCM] Samba Shared Repository - branch master updated

Jelmer Vernooij jelmer at samba.org
Wed Sep 28 06:20:03 MDT 2011


The branch, master has been updated
       via  f4fa725 libcli: Install libcli.h.
       via  3358239 smb_unix_ext.h: Protect against multiple inclusion.
       via  2660a46 Install headers included by smb_common.h.
      from  14c05cf s4:libcli/resolve: only try broadcast messages to ipv4 addresses

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


- Log -----------------------------------------------------------------
commit f4fa725b952a6010a0b585f3b303e2e4e4179406
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Sep 28 12:42:33 2011 +0200

    libcli: Install libcli.h.
    
    Autobuild-User: Jelmer Vernooij <jelmer at samba.org>
    Autobuild-Date: Wed Sep 28 14:19:20 CEST 2011 on sn-devel-104

commit 3358239a57573bc25850da4e2868df5efd05fb0d
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Sep 28 12:05:54 2011 +0200

    smb_unix_ext.h: Protect against multiple inclusion.

commit 2660a465c3e595000e9a297cd6db8572114968a2
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Sep 28 11:32:36 2011 +0200

    Install headers included by smb_common.h.

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

Summary of changes:
 libcli/smb/smb_unix_ext.h    |    4 +
 libcli/smb/wscript_build     |    4 +-
 source4/libcli/libcli.h      |  291 +++++++++++++++++++++++++++++++++++++++++-
 source4/libcli/wscript_build |    2 +-
 4 files changed, 295 insertions(+), 6 deletions(-)


Changeset truncated at 500 lines:

diff --git a/libcli/smb/smb_unix_ext.h b/libcli/smb/smb_unix_ext.h
index 9516d31..ff705aa 100644
--- a/libcli/smb/smb_unix_ext.h
+++ b/libcli/smb/smb_unix_ext.h
@@ -21,6 +21,9 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+#ifndef __SMB_UNIX_EXT_H__
+#define __SMB_UNIX_EXT_H__
+
 /* UNIX CIFS Extensions - created by HP */
 /*
  * UNIX CIFS Extensions have the range 0x200 - 0x2FF reserved.
@@ -450,3 +453,4 @@ enum smb_whoami_flags {
 #define SMB_POSIX_UNLINK_FILE_TARGET 0
 #define SMB_POSIX_UNLINK_DIRECTORY_TARGET 1
 
+#endif /* __SMB_UNIX_EXT_H__ */
diff --git a/libcli/smb/wscript_build b/libcli/smb/wscript_build
index 66319e9..8043c80 100644
--- a/libcli/smb/wscript_build
+++ b/libcli/smb/wscript_build
@@ -7,7 +7,7 @@ bld.SAMBA_LIBRARY('cli_smb_common',
 	deps='LIBCRYPTO',
 	public_deps='talloc samba-util',
 	private_library=True,
-	public_headers='''smb_common.h smb2_constants.h
-			smb2_create_blob.h smb2_signing.h
+	public_headers='''smb_common.h smb2_constants.h smb_constants.h
+			smb2_create_blob.h smb2_signing.h smb_util.h smb_unix_ext.h
 	''',
 	)
diff --git a/source4/libcli/libcli.h b/source4/libcli/libcli.h
index e729e12..81a31d1 100644
--- a/source4/libcli/libcli.h
+++ b/source4/libcli/libcli.h
@@ -61,10 +61,295 @@ enum brl_type {
 	PENDING_WRITE_LOCK
 };
 
-
-
 #include "libcli/raw/libcliraw.h"
 struct gensec_settings;
-#include "libcli/libcli_proto.h"
+
+ssize_t smbcli_read(struct smbcli_tree *tree, int fnum, void *_buf, off_t offset, size_t size);
+
+/****************************************************************************
+  write to a file
+  write_mode: 0x0001 disallow write cacheing
+              0x0002 return bytes remaining
+              0x0004 use raw named pipe protocol
+              0x0008 start of message mode named pipe protocol
+****************************************************************************/
+ssize_t smbcli_write(struct smbcli_tree *tree,
+		     int fnum, uint16_t write_mode,
+		     const void *_buf, off_t offset, size_t size);
+
+/****************************************************************************
+  write to a file using a SMBwrite and not bypassing 0 byte writes
+****************************************************************************/
+ssize_t smbcli_smbwrite(struct smbcli_tree *tree,
+		     int fnum, const void *_buf, off_t offset, size_t size1);
+
+bool smbcli_socket_connect(struct smbcli_state *cli, const char *server, 
+			   const char **ports, 
+			   struct tevent_context *ev_ctx,
+			   struct resolve_context *resolve_ctx,
+			   struct smbcli_options *options,
+               const char *socket_options);
+bool smbcli_transport_establish(struct smbcli_state *cli, 
+				struct nbt_name *calling,
+				struct nbt_name *called);
+NTSTATUS smbcli_negprot(struct smbcli_state *cli, bool unicode, int maxprotocol);
+NTSTATUS smbcli_session_setup(struct smbcli_state *cli, 
+			      struct cli_credentials *credentials,
+			      const char *workgroup,
+			      struct smbcli_session_options options,
+			      struct gensec_settings *gensec_settings);
+NTSTATUS smbcli_tconX(struct smbcli_state *cli, const char *sharename, 
+		      const char *devtype, const char *password);
+NTSTATUS smbcli_full_connection(TALLOC_CTX *parent_ctx,
+				struct smbcli_state **ret_cli, 
+				const char *host,
+				const char **ports,
+				const char *sharename,
+				const char *devtype,
+				const char *socket_options,
+				struct cli_credentials *credentials,
+				struct resolve_context *resolve_ctx,
+				struct tevent_context *ev,
+				struct smbcli_options *options,
+				struct smbcli_session_options *session_options,
+				struct gensec_settings *gensec_settings);
+NTSTATUS smbcli_tdis(struct smbcli_state *cli);
+
+/****************************************************************************
+ Initialise a client state structure.
+****************************************************************************/
+struct smbcli_state *smbcli_state_init(TALLOC_CTX *mem_ctx);
+bool smbcli_parse_unc(const char *unc_name, TALLOC_CTX *mem_ctx,
+		      char **hostname, char **sharename);
+
+/****************************************************************************
+ Symlink a file (UNIX extensions).
+****************************************************************************/
+NTSTATUS smbcli_unix_symlink(struct smbcli_tree *tree, const char *fname_src, 
+			  const char *fname_dst);
+
+/****************************************************************************
+ Hard a file (UNIX extensions).
+****************************************************************************/
+NTSTATUS smbcli_unix_hardlink(struct smbcli_tree *tree, const char *fname_src, 
+			   const char *fname_dst);
+
+/****************************************************************************
+ chmod a file (UNIX extensions).
+****************************************************************************/
+NTSTATUS smbcli_unix_chmod(struct smbcli_tree *tree, const char *fname, mode_t mode);
+
+/****************************************************************************
+ chown a file (UNIX extensions).
+****************************************************************************/
+NTSTATUS smbcli_unix_chown(struct smbcli_tree *tree, const char *fname, uid_t uid, 
+			gid_t gid);
+
+/****************************************************************************
+ Rename a file.
+****************************************************************************/
+NTSTATUS smbcli_rename(struct smbcli_tree *tree, const char *fname_src, 
+		    const char *fname_dst);
+
+/****************************************************************************
+ Delete a file.
+****************************************************************************/
+NTSTATUS smbcli_unlink(struct smbcli_tree *tree, const char *fname);
+
+/****************************************************************************
+ Create a directory.
+****************************************************************************/
+NTSTATUS smbcli_mkdir(struct smbcli_tree *tree, const char *dname);
+
+/****************************************************************************
+ Remove a directory.
+****************************************************************************/
+NTSTATUS smbcli_rmdir(struct smbcli_tree *tree, const char *dname);
+
+/****************************************************************************
+ Set or clear the delete on close flag.
+****************************************************************************/
+NTSTATUS smbcli_nt_delete_on_close(struct smbcli_tree *tree, int fnum, 
+				   bool flag);
+
+/****************************************************************************
+ Create/open a file - exposing the full horror of the NT API :-).
+ Used in CIFS-on-CIFS NTVFS.
+****************************************************************************/
+int smbcli_nt_create_full(struct smbcli_tree *tree, const char *fname,
+		       uint32_t CreatFlags, uint32_t DesiredAccess,
+		       uint32_t FileAttributes, uint32_t ShareAccess,
+		       uint32_t CreateDisposition, uint32_t CreateOptions,
+		       uint8_t SecurityFlags);
+
+/****************************************************************************
+ Open a file (using SMBopenx)
+ WARNING: if you open with O_WRONLY then getattrE won't work!
+****************************************************************************/
+int smbcli_open(struct smbcli_tree *tree, const char *fname, int flags, 
+	     int share_mode);
+
+/****************************************************************************
+ Close a file.
+****************************************************************************/
+NTSTATUS smbcli_close(struct smbcli_tree *tree, int fnum);
+
+/****************************************************************************
+ send a lock with a specified locktype 
+ this is used for testing LOCKING_ANDX_CANCEL_LOCK
+****************************************************************************/
+NTSTATUS smbcli_locktype(struct smbcli_tree *tree, int fnum, 
+		      uint32_t offset, uint32_t len, int timeout, 
+		      uint8_t locktype);
+
+/****************************************************************************
+ Lock a file.
+****************************************************************************/
+NTSTATUS smbcli_lock(struct smbcli_tree *tree, int fnum, 
+		  uint32_t offset, uint32_t len, int timeout, 
+		  enum brl_type lock_type);
+
+/****************************************************************************
+ Unlock a file.
+****************************************************************************/
+NTSTATUS smbcli_unlock(struct smbcli_tree *tree, int fnum, uint32_t offset, uint32_t len);
+
+/****************************************************************************
+ Lock a file with 64 bit offsets.
+****************************************************************************/
+NTSTATUS smbcli_lock64(struct smbcli_tree *tree, int fnum, 
+		    off_t offset, off_t len, int timeout, 
+		    enum brl_type lock_type);
+
+/****************************************************************************
+ Unlock a file with 64 bit offsets.
+****************************************************************************/
+NTSTATUS smbcli_unlock64(struct smbcli_tree *tree, int fnum, off_t offset, 
+			 off_t len);
+
+/****************************************************************************
+ Do a SMBgetattrE call.
+****************************************************************************/
+NTSTATUS smbcli_getattrE(struct smbcli_tree *tree, int fnum,
+		      uint16_t *attr, size_t *size,
+		      time_t *c_time, time_t *a_time, time_t *m_time);
+
+/****************************************************************************
+ Do a SMBgetatr call
+****************************************************************************/
+NTSTATUS smbcli_getatr(struct smbcli_tree *tree, const char *fname, 
+		    uint16_t *attr, size_t *size, time_t *t);
+
+/****************************************************************************
+ Do a SMBsetatr call.
+****************************************************************************/
+NTSTATUS smbcli_setatr(struct smbcli_tree *tree, const char *fname, uint16_t mode, 
+		    time_t t);
+
+/****************************************************************************
+ Do a setfileinfo basic_info call.
+****************************************************************************/
+NTSTATUS smbcli_fsetatr(struct smbcli_tree *tree, int fnum, uint16_t mode, 
+			NTTIME create_time, NTTIME access_time, 
+			NTTIME write_time, NTTIME change_time);
+
+/****************************************************************************
+ truncate a file to a given size
+****************************************************************************/
+NTSTATUS smbcli_ftruncate(struct smbcli_tree *tree, int fnum, uint64_t size);
+
+/****************************************************************************
+ Check for existence of a dir.
+****************************************************************************/
+NTSTATUS smbcli_chkpath(struct smbcli_tree *tree, const char *path);
+
+/****************************************************************************
+ Query disk space.
+****************************************************************************/
+NTSTATUS smbcli_dskattr(struct smbcli_tree *tree, uint32_t *bsize, 
+			uint64_t *total, uint64_t *avail);
+
+/****************************************************************************
+ Create and open a temporary file.
+****************************************************************************/
+int smbcli_ctemp(struct smbcli_tree *tree, const char *path, char **tmp_path);
+
+/****************************************************************************
+ Interpret a long filename structure.
+****************************************************************************/
+int smbcli_list_new(struct smbcli_tree *tree, const char *Mask, uint16_t attribute, 
+		    enum smb_search_data_level level,
+		    void (*fn)(struct clilist_file_info *, const char *, void *), 
+		    void *caller_state);
+
+/****************************************************************************
+ Interpret a short filename structure.
+ The length of the structure is returned.
+****************************************************************************/
+int smbcli_list_old(struct smbcli_tree *tree, const char *Mask, uint16_t attribute, 
+		 void (*fn)(struct clilist_file_info *, const char *, void *), 
+		 void *caller_state);
+
+/****************************************************************************
+ Do a directory listing, calling fn on each file found.
+ This auto-switches between old and new style.
+****************************************************************************/
+int smbcli_list(struct smbcli_tree *tree, const char *Mask,uint16_t attribute, 
+		void (*fn)(struct clilist_file_info *, const char *, void *), void *state);
+
+/****************************************************************************
+send a qpathinfo call
+****************************************************************************/
+NTSTATUS smbcli_qpathinfo(struct smbcli_tree *tree, const char *fname, 
+		       time_t *c_time, time_t *a_time, time_t *m_time, 
+		       size_t *size, uint16_t *mode);
+
+/****************************************************************************
+send a qpathinfo call with the SMB_QUERY_FILE_ALL_INFO info level
+****************************************************************************/
+NTSTATUS smbcli_qpathinfo2(struct smbcli_tree *tree, const char *fname, 
+			time_t *c_time, time_t *a_time, time_t *m_time, 
+			time_t *w_time, size_t *size, uint16_t *mode,
+			ino_t *ino);
+
+/****************************************************************************
+send a qfileinfo QUERY_FILE_NAME_INFO call
+****************************************************************************/
+NTSTATUS smbcli_qfilename(struct smbcli_tree *tree, int fnum, const char **name);
+
+/****************************************************************************
+send a qfileinfo call
+****************************************************************************/
+NTSTATUS smbcli_qfileinfo(struct smbcli_tree *tree, int fnum, 
+		       uint16_t *mode, size_t *size,
+		       time_t *c_time, time_t *a_time, time_t *m_time, 
+		       time_t *w_time, ino_t *ino);
+
+/****************************************************************************
+send a qpathinfo SMB_QUERY_FILE_ALT_NAME_INFO call
+****************************************************************************/
+NTSTATUS smbcli_qpathinfo_alt_name(struct smbcli_tree *tree, const char *fname, 
+				const char **alt_name);
+
+/* The following definitions come from ../source4/libcli/climessage.c  */
+
+
+/****************************************************************************
+start a message sequence
+****************************************************************************/
+bool smbcli_message_start(struct smbcli_tree *tree, const char *host, const char *username, 
+		       int *grp);
+
+/****************************************************************************
+send a message 
+****************************************************************************/
+bool smbcli_message_text(struct smbcli_tree *tree, char *msg, int len, int grp);
+
+/****************************************************************************
+end a message 
+****************************************************************************/
+bool smbcli_message_end(struct smbcli_tree *tree, int grp);
+
+int smbcli_deltree(struct smbcli_tree *tree, const char *dname);
 
 #endif /* __LIBCLI_H__ */
diff --git a/source4/libcli/wscript_build b/source4/libcli/wscript_build
index cef6e32..7718e52 100644
--- a/source4/libcli/wscript_build
+++ b/source4/libcli/wscript_build
@@ -74,7 +74,7 @@ bld.SAMBA_SUBSYSTEM('LIBCLI_FINDDCS',
 
 bld.SAMBA_SUBSYSTEM('LIBCLI_SMB',
 	source='clireadwrite.c cliconnect.c clifile.c clilist.c clitrans2.c climessage.c clideltree.c',
-	autoproto='libcli_proto.h',
+	public_headers='libcli.h:smb_cli.h',
 	public_deps='smbclient-raw errors LIBCLI_AUTH LIBCLI_SMB_COMPOSITE cli-nbt security LIBCLI_RESOLVE LIBCLI_DGRAM LIBCLI_SMB2 LIBCLI_FINDDCS samba_socket'
 	)
 


-- 
Samba Shared Repository


More information about the samba-cvs mailing list