Wireshark  2.9.0-477-g68ec514b
The Wireshark network protocol analyzer
frstrans.idl
1 #include "idl_types.h"
2 
3 /*import "misc.idl";*/
4 
5 [
6  uuid("897e2e5f-93f3-4376-9c9c-fd2277495c27"),
7  version(1.0),
8  endpoint("ncacn_ip_tcp:", "ncalrpc:"),
9  helpstring("File Replication Service DFS-R"),
10  pointer_default(unique)
11 ]
12 interface frstrans
13 {
14  /*****************/
15  /* Function 0x00 */
16  WERROR frstrans_CheckConnectivity(
17  [in] GUID replica_set_guid,
18  [in] GUID connection_guid
19  );
20 
21  /*****************/
22  /* Function 0x01 */
23  typedef [v1_enum,flag(NDR_PAHEX)] enum {
24  FRSTRANS_PROTOCOL_VERSION_W2K3R2 = 0x00050000,
25  FRSTRANS_PROTOCOL_VERSION_LONGHORN_SERVER = 0x00050002
26  } frstrans_ProtocolVersion;
27 
28  typedef [bitmap32bit] bitmap {
29  FRSTRANS_TRANSPORT_SUPPORTS_RDC_SIMILARITY = 0x00000001
30  } frstrans_TransportFlags;
31 
32  WERROR frstrans_EstablishConnection(
33  [in] GUID replica_set_guid,
34  [in] GUID connection_guid,
35  [in] frstrans_ProtocolVersion downstream_protocol_version,
36  [in] frstrans_TransportFlags downstream_flags,
37  [out,ref] frstrans_ProtocolVersion *upstream_protocol_version,
38  [out,ref] frstrans_TransportFlags *upstream_flags
39  );
40 
41  /*****************/
42  /* Function 0x02 */
43  WERROR frstrans_EstablishSession(
44  [in] GUID connection_guid,
45  [in] GUID content_set_guid
46  );
47 
48  /*****************/
49  /* Function 0x03 */
50  typedef enum {
51  FRSTRANS_UPDATE_REQUEST_ALL = 0x0000,
52  FRSTRANS_UPDATE_REQUEST_TOMBSTONES = 0x0001,
53  FRSTRANS_UPDATE_REQUEST_LIVE = 0x0002
54  } frstrans_UpdateRequestType;
55 
56  typedef enum {
57  FRSTRANS_UPDATE_STATUS_DONE = 0x0002,
58  FRSTRANS_UPDATE_STATUS_MORE = 0x0003
59  } frstrans_UpdateStatus;
60 
61  typedef struct {
62  GUID db_guid;
63  hyper low;
64  hyper high;
66 
67  typedef [flag(NDR_PAHEX)] struct {
68  boolean32 present;
69  boolean32 name_conflict;
70  uint32 attributes;
71  NTTIME fence;
72  NTTIME clock;
73  NTTIME create_time;
74  GUID content_set_guid;
75  uint8 sha1_hash[20];
76  uint8 rdc_similarity[16];
77  GUID uid_db_guid;
78  hyper uid_version;
79  GUID gsvn_db_guid;
80  hyper gsvn_version;
81  GUID parent_db_guid;
82  hyper parent_version;
83  [string,charset(UTF16)] uint16 name[261];
84  uint32 flags;
85  } frstrans_Update;
86 
87  WERROR frstrans_RequestUpdates(
88  [in] GUID connection_guid,
89  [in] GUID content_set_guid,
90  [in,range(0,256)] uint32 credits_available,
91  [in,range(0,1)] boolean32 hash_requested,
92  [in,range(0,2)]
93  frstrans_UpdateRequestType update_request_type,
94  [in] uint32 version_vector_diff_count,
95  [in,size_is(version_vector_diff_count)]
96  frstrans_VersionVector *version_vector_diff,
97  [out,ref,size_is(credits_available),length_is(*update_count)]
98  frstrans_Update *frs_update,
99  [out,ref] uint32 *update_count,
100  [out,ref] frstrans_UpdateStatus *update_status,
101  [out,ref] GUID *gvsn_db_guid,
102  [out,ref] hyper *gvsn_version
103  );
104 
105  /*****************/
106  /* Function 0x04 */
107  typedef enum {
108  FRSTRANS_VERSION_REQUEST_NORNAL_SYNC = 0x0000,
109  FRSTRANS_VERSION_REQUEST_SLOW_SYNC = 0x0001,
110  FRSTRANS_VERSION_REQUEST_SLAVE_SYNC = 0x0002
111  } frstrans_VersionRequestType;
112 
113  typedef enum {
114  FRSTRANS_VERSION_CHANGE_NOTIFY = 0x0000,
115  FRSTRANS_VERSION_CHANGE_ALL = 0x0002
116  } frstrans_VersionChangeType;
117 
118  WERROR frstrans_RequestVersionVector(
119  [in] uint32 sequence_number,
120  [in] GUID connection_guid,
121  [in] GUID content_set_guid,
122  [in,range(0,2)] frstrans_VersionRequestType request_type,
123  [in,range(0,2)] frstrans_VersionChangeType change_type,
124  [in] hyper vv_generation
125  );
126 
127  /*****************/
128  /* Function 0x05 */
129  typedef struct {
130  GUID machine_guid;
131  uint32 year;
132  uint32 month;
133  uint32 day_of_week;
134  uint32 day;
135  uint32 hour;
136  uint32 minute;
137  uint32 second;
138  uint32 milli_seconds;
140 
141  typedef struct {
142  hyper vv_generation;
143  uint32 version_vector_count;
144  [size_is(version_vector_count)]
145  frstrans_VersionVector *version_vector;
146  uint32 epoque_vector_count;
147  [size_is(epoque_vector_count)]
148  frstrans_EpoqueVector *epoque_vector;
150 
151  typedef struct {
152  uint32 sequence_number;
153  WERROR status;
156 
157  WERROR frstrans_AsyncPoll(
158  [in] GUID connection_guid,
159  [out,ref] frstrans_AsyncResponseContext *response
160  );
161 
162  /*****************/
163  /* Function 0x06 */
164  void FRSTRANS_REQUEST_RECORDS();
165 
166  /*****************/
167  /* Function 0x07 */
168  void FRSTRANS_UPDATE_CANCEL();
169 
170  /*****************/
171  /* Function 0x08 */
172  void FRSTRANS_RAW_GET_FILE_DATA();
173 
174  /*****************/
175  /* Function 0x09 */
176  void FRSTRANS_RDC_GET_SIGNATURES();
177 
178  /*****************/
179  /* Function 0x0a */
180  void FRSTRANS_RDC_PUSH_SOURCE_NEEDS();
181 
182  /*****************/
183  /* Function 0x0b */
184  void FRSTRANS_RDC_GET_FILE_DATA();
185 
186  /*****************/
187  /* Function 0x0c */
188  void FRSTRANS_RDC_CLOSE();
189 
190  /*****************/
191  /* Function 0x0d */
192  typedef enum {
193  FRSTRANS_STAGING_POLICY_SERVER_DEFAULTY = 0x0000,
194  FRSTRANS_STAGING_POLICY_STATGING_REQUIRED = 0x0001,
195  FRSTRANS_STAGING_POLICY_RESTATGING_REQUIRED = 0x0002
196  } frstrans_RequestedStagingPolicy;
197 
198  typedef enum {
199  FRSTRANS_RDC_FILTER_GENERIC = 0x0000,
200  FRSTRANS_RDC_FILTER_MAX = 0x0001,
201  FRSTRANS_RDC_FILTER_POINT = 0x0002,
202  FRSTRANS_RDC_MAX_ALGORITHM = 0x0003
203  } frstrans_RdcChunckerAlgorithm;
204 
205  typedef struct {
206  frstrans_RdcChunckerAlgorithm chunker_type;
207  uint8 chunker_parameters[64];
209 
210  typedef struct {
211  [range(128,1024*16)] uint16 min_horizon_size;
212  [range(2,96)] uint16 max_window_size;
214 
215  typedef struct {
216  uint16 min_chunk_size;
217  uint16 max_chunk_size;
219 
220  typedef [switch_type(frstrans_RdcChunckerAlgorithm)] union {
221  [case(FRSTRANS_RDC_FILTER_GENERIC)]
222  frstrans_RdcParameterGeneric filter_generic;
223  [case(FRSTRANS_RDC_FILTER_MAX)]
225  [case(FRSTRANS_RDC_FILTER_POINT)]
227  } frstrans_RdcParameterUnion;
228 
229  typedef struct {
230  frstrans_RdcChunckerAlgorithm rdc_chunker_algorithm;
231  [switch_is(rdc_chunker_algorithm)] frstrans_RdcParameterUnion u;
233 
234  typedef enum {
235  FRSTRANS_RDC_VERSION = 0x0001
236  } frstrans_RdcVersion;
237 
238  typedef enum {
239  FRSTRANS_RDC_VERSION_COMPATIBLE = 0x0001
240  } frstrans_RdcVersionCompatible;
241 
242  typedef enum {
243  FRSTRANS_RDC_UNCOMPRESSED = 0x0000,
244  FRSTRANS_RDC_XPRESS = 0x0001
245  } frstrans_RdcCompressionAlgorithm;
246 
247  typedef struct {
248  hyper on_disk_file_size;
249  hyper file_size_estimate;
250  frstrans_RdcVersion rdc_version;
251  frstrans_RdcVersionCompatible rdc_minimum_compatible_version;
252  [range(0,8)] uint8 rdc_signature_levels;
253  frstrans_RdcCompressionAlgorithm compression_algorithm;
254  [size_is(rdc_signature_levels)]
255  frstrans_RdcParameters rdc_filter_parameters[*];
257 
258  WERROR frstrans_InitializeFileTransferAsync(
259  [in] GUID connection_guid,
260  [in,out,ref] frstrans_Update *frs_update,
261  [in,range(0,1)] boolean32 rdc_desired,
262  [in,out,ref] frstrans_RequestedStagingPolicy *staging_policy,
263  [out,ref] policy_handle *server_context,
264  [out,ref] frstrans_RdcFileInfo **rdc_file_info,
265  [out,ref,size_is(buffer_size),length_is(*size_read)]
266  uint8 *data_buffer,
267  [in,range(0,262144)] uint32 buffer_size,
268  [out,ref] uint32 *size_read,
269  [out,ref] boolean32 *is_end_of_file
270  );
271 
272  /*****************/
273  /* Function 0x0e */
274  void FRSTRANS_OPNUM_0E_NOT_USED_ON_THE_WIRE();
275 
276  /* The following functions are new in Windows 2008 */
277 
278  /*****************/
279  /* Function 0x0f */
280  void FRSTRANS_RAW_GET_FILE_DATA_ASYNC();
281 
282  /*****************/
283  /* Function 0x10 */
284  void FRSTRANS_RDC_GET_FILE_DATA_ASYNC();
285 }
Definition: frstrans.idl:205
Definition: frstrans.idl:215
Definition: frstrans.idl:151
Definition: frstrans.idl:129
Definition: frstrans.idl:247
Definition: frstrans.idl:61
Definition: frstrans.idl:229
Definition: conversation.c:27
Definition: frstrans.idl:12
Definition: frstrans.idl:210