summaryrefslogtreecommitdiff
path: root/librpc
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2009-07-27 16:03:03 +0200
committerStefan Metzmacher <metze@samba.org>2009-07-27 17:51:36 +0200
commitb676e63a520e644e2737b55a61244fa8df9a10dc (patch)
tree23ec0388797be293ac46888e0941902d83d4abce /librpc
parent826e6a83a000156cbdbacdd2fc1fdf4c4dceac5e (diff)
downloadsamba-b676e63a520e644e2737b55a61244fa8df9a10dc.tar.gz
samba-b676e63a520e644e2737b55a61244fa8df9a10dc.tar.bz2
samba-b676e63a520e644e2737b55a61244fa8df9a10dc.zip
frstrans.idl: add definition of frstrans_InitializeFileTransferAsync()
metze
Diffstat (limited to 'librpc')
-rw-r--r--librpc/idl/frstrans.idl80
1 files changed, 79 insertions, 1 deletions
diff --git a/librpc/idl/frstrans.idl b/librpc/idl/frstrans.idl
index 8c3dde09df..74f3c645a4 100644
--- a/librpc/idl/frstrans.idl
+++ b/librpc/idl/frstrans.idl
@@ -189,7 +189,85 @@ interface frstrans
/*****************/
/* Function 0x0d */
- [todo] void FRSTRANS_INITIALIZE_FILE_TRANSFER_ASYNC();
+ typedef enum {
+ FRSTRANS_STAGING_POLICY_SERVER_DEFAULTY = 0x0000,
+ FRSTRANS_STAGING_POLICY_STATGING_REQUIRED = 0x0001,
+ FRSTRANS_STAGING_POLICY_RESTATGING_REQUIRED = 0x0002
+ } frstrans_RequestedStagingPolicy;
+
+ typedef enum {
+ FRSTRANS_RDC_FILTER_GENERIC = 0x0000,
+ FRSTRANS_RDC_FILTER_MAX = 0x0001,
+ FRSTRANS_RDC_FILTER_POINT = 0x0002,
+ FRSTRANS_RDC_MAX_ALGORITHM = 0x0003
+ } frstrans_RdcChunckerAlgorithm;
+
+ typedef struct {
+ frstrans_RdcChunckerAlgorithm chunker_type;
+ uint8 chunker_parameters[64];
+ } frstrans_RdcParameterGeneric;
+
+ typedef struct {
+ [range(128,1024*16)] uint16 min_horizon_size;
+ [range(2,96)] uint16 max_window_size;
+ } frstrans_RdcParameterFilterMax;
+
+ typedef struct {
+ uint16 min_chunk_size;
+ uint16 max_chunk_size;
+ } frstrans_RdcParameterFilterPoint;
+
+ typedef [switch_type(frstrans_RdcChunckerAlgorithm)] union {
+ [case(FRSTRANS_RDC_FILTER_GENERIC)]
+ frstrans_RdcParameterGeneric filter_generic;
+ [case(FRSTRANS_RDC_FILTER_MAX)]
+ frstrans_RdcParameterFilterMax filter_max;
+ [case(FRSTRANS_RDC_FILTER_POINT)]
+ frstrans_RdcParameterFilterPoint filter_point;
+ } frstrans_RdcParameterUnion;
+
+ typedef struct {
+ frstrans_RdcChunckerAlgorithm rdc_chunker_algorithm;
+ [switch_is(rdc_chunker_algorithm)] frstrans_RdcParameterUnion u;
+ } frstrans_RdcParameters;
+
+ typedef enum {
+ FRSTRANS_RDC_VERSION = 0x0001
+ } frstrans_RdcVersion;
+
+ typedef enum {
+ FRSTRANS_RDC_VERSION_COMPATIBLE = 0x0001
+ } frstrans_RdcVersionCompatible;
+
+ typedef enum {
+ FRSTRANS_RDC_UNCOMPRESSED = 0x0000,
+ FRSTRANS_RDC_XPRESS = 0x0001
+ } frstrans_RdcCompressionAlgorithm;
+
+ typedef struct {
+ hyper on_disk_file_size;
+ hyper file_size_estimate;
+ frstrans_RdcVersion rdc_version;
+ frstrans_RdcVersionCompatible rdc_minimum_compatible_version;
+ [range(0,8)] uint8 rdc_signature_levels;
+ frstrans_RdcCompressionAlgorithm compression_algorithm;
+ [size_is(rdc_signature_levels)]
+ frstrans_RdcParameters rdc_filter_parameters[*];
+ } frstrans_RdcFileInfo;
+
+ WERROR frstrans_InitializeFileTransferAsync(
+ [in] GUID connection_guid,
+ [in,out,ref] frstrans_Update *frs_update,
+ [in,range(0,1)] boolean32 rdc_desired,
+ [in,out,ref] frstrans_RequestedStagingPolicy *staging_policy,
+ [out,ref] policy_handle *server_context,
+ [out,ref] frstrans_RdcFileInfo **rdc_file_info,
+ [out,ref,size_is(buffer_size),length_is(*size_read)]
+ uint8 *data_buffer,
+ [in,range(0,262144)] uint32 buffer_size,
+ [out,ref] uint32 *size_read,
+ [out,ref] boolean32 *is_end_of_file
+ );
/*****************/
/* Function 0x0e */