diff options
author | Stefan Metzmacher <metze@samba.org> | 2009-07-27 16:03:03 +0200 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2009-07-27 17:51:36 +0200 |
commit | b676e63a520e644e2737b55a61244fa8df9a10dc (patch) | |
tree | 23ec0388797be293ac46888e0941902d83d4abce /librpc | |
parent | 826e6a83a000156cbdbacdd2fc1fdf4c4dceac5e (diff) | |
download | samba-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.idl | 80 |
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 */ |