s3: libsmbclient: Add server-side copy support
authorRoss Lagerwall <rosslagerwall@gmail.com>
Wed, 27 May 2015 22:13:15 +0000 (23:13 +0100)
committerJeremy Allison <jra@samba.org>
Fri, 29 May 2015 00:37:18 +0000 (02:37 +0200)
commitf73bcf4934be89f83e86459bc695b7d28348565c
treef5dcf383cb7aae7f642a8bbda44fcf8afe3e10e5
parent2ffa939bbe2c02509e1790c8b3f6f9b6910e3cf6
s3: libsmbclient: Add server-side copy support

Introduce a new operation, splice, which copies data from one SMBCFILE
to another. Implement this operation using FSCTL_SRV_COPYCHUNK_WRITE for
SMB2+ protocols and using read+write for older protocols. Since the
operation may be long running, it takes a callback which gets called
periodically to indicate progress to the application and given an
opportunity to stop it.

Signed-off-by: Ross Lagerwall <rosslagerwall@gmail.com>
Reviewed-by: David Disseldorp <ddiss@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
13 files changed:
libcli/smb/smb2cli_ioctl.c
libcli/smb/smbXcli_base.c
libcli/smb/smbXcli_base.h
source3/include/libsmb_internal.h
source3/include/libsmbclient.h
source3/libsmb/cli_smb2_fnum.c
source3/libsmb/cli_smb2_fnum.h
source3/libsmb/clireadwrite.c
source3/libsmb/libsmb_context.c
source3/libsmb/libsmb_file.c
source3/libsmb/libsmb_setget.c
source3/libsmb/proto.h
source3/wscript_build