1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-27 22:50:26 +03:00

frstrans.idl: add definition of frstrans_InitializeFileTransferAsync()

metze
This commit is contained in:
Stefan Metzmacher 2009-07-27 16:03:03 +02:00
parent 826e6a83a0
commit b676e63a52

View File

@ -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 */