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:
parent
826e6a83a0
commit
b676e63a52
@ -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 */
|
||||
|
Loading…
x
Reference in New Issue
Block a user