Wireshark  2.9.0-477-g68ec514b
The Wireshark network protocol analyzer
frsrpc.idl
1 #include "idl_types.h"
2 
3 import "misc/misc.idl";
4 
5 [
6  uuid("f5cc59b4-4264-101a-8c59-08002b2f8426"),
7  version(1.1),
8  endpoint("ncacn_ip_tcp:", "ncalrpc:"),
9  helpstring("File Replication Service"),
10  helper("../librpc/ndr/ndr_frsrpc.h"),
11  pointer_default(unique)
12 ]
13 interface frsrpc
14 {
15  /*****************/
16  /* Function 0x00 */
17 
18  typedef struct {
19  [subcontext(4)] GUID guid;
20  [subcontext(4)] nstring name;
22 
23  typedef struct {
24  hyper vsn;
25  GUID guid;
27 
28  typedef [bitmap32bit,flag(NDR_PAHEX)] bitmap {
29  FRSRPC_CO_FLAG_ABORT_CO = 0x00000001,
30  FRSRPC_CO_FLAG_VV_ACTIVATED = 0x00000002,
31  FRSRPC_CO_FLAG_CONTENT_CMD = 0x00000004,
32  FRSRPC_CO_FLAG_LOCATION_CMD = 0x00000008,
33  FRSRPC_CO_FLAG_ONLIST = 0x00000010,
34  FRSRPC_CO_FLAG_LOCALCO = 0x00000020,
35  FRSRPC_CO_FLAG_RETRY = 0x00000040,
36  FRSRPC_CO_FLAG_OUT_OF_ORDER = 0x00000200,
37  FRSRPC_CO_FLAG_NEW_FILE = 0x00000400,
38  FRSRPC_CO_FLAG_CONTROL = 0x00001000,
39  FRSRPC_CO_FLAG_DIRECTED_CO = 0x00002000,
40  FRSRPC_CO_FLAG_VVJOIN_TO_ORIG = 0x00040000,
41  FRSRPC_CO_FLAG_SKIP_ORIG_REC_C = 0x00100000,
42  FRSRPC_CO_FLAG_MOVEIN_GEN = 0x00200000,
43  FRSRPC_CO_FLAG_MORPH_GEN_HEAD = 0x00400000,
44  FRSRPC_CO_FLAG_JUST_OID_RESET = 0x00800000,
45  FRSRPC_CO_FLAG_COMPRESSED_STAGE = 0x01000000,
46  FRSRPC_CO_FLAG_SKIP_VV_UPDATE = 0x02000000
47  } frsrpc_CommPktCoCmdFlags;
48 
49  const uint32 FRSRPC_CO_IFLAG_NONE = 0x0000000;
50 
51  typedef [bitmap32bit,flag(NDR_PAHEX)] bitmap {
52  FRSRPC_CO_IFLAG_VVRETIRE_EXEC = 0x00000001,
53  FRSRPC_CO_IFLAG_CO_ABORT = 0x00000002,
54  FRSRPC_CO_IFLAG_DIR_ENUM_PENDING= 0x00000004
55  } frsrpc_CommPktCoCmdIFlags;
56 
57  typedef [v1_enum,flag(NDR_PAHEX)] enum {
58  FRSRPC_CO_STATUS_CO_ENTERED_LOG = 0x00000000,
59  FRSRPC_CO_STATUS_ALLOC_STAGING_LOCAL_CO = 0x00000001,
60  FRSRPC_CO_STATUS_LOCAL_CO_STAGING_STARTED = 0x00000002,
61  FRSRPC_CO_STATUS_LOCAL_CO_STAGING_COMPLETED = 0x00000003,
62  FRSRPC_CO_STATUS_WAIT_RETRY_LOCAL_CO_STAGING = 0x00000004,
63  FRSRPC_CO_STATUS_ALLOC_STAGING_REMOTE_CO = 0x00000005,
64  FRSRPC_CO_STATUS_REMOTE_CO_STAGING_STARTED = 0x00000006,
65  FRSRPC_CO_STATUS_REMOTE_CO_STAGING_COMPLETED = 0x00000007,
66  FRSRPC_CO_STATUS_WAIT_RETRY_REMOTE_CO_STAGING = 0x00000008,
67  FRSRPC_CO_STATUS_FILE_INSTALL_REQUESTED = 0x00000009,
68  FRSRPC_CO_STATUS_FILE_INSTALL_STARTED = 0x0000000A,
69  FRSRPC_CO_STATUS_FILE_INSTALL_COMPLETED = 0x0000000B,
70  FRSRPC_CO_STATUS_FILE_INSTALL_WAIT_RETRY = 0x0000000C,
71  FRSRPC_CO_STATUS_FILE_INSTALL_RETRYING = 0x0000000D,
72  FRSRPC_CO_STATUS_FILE_INSTALL_RENAME_RETRYING = 0x0000000E,
73  FRSRPC_CO_STATUS_FILE_INSTALL_DELETE_RETRYING = 0x0000000F,
74  FRSRPC_CO_STATUS_CO_RECYCLED_FOR_ENUM = 0x00000013,
75  FRSRPC_CO_STATUS_REQUEST_OUTBOUND_PROPAGATION = 0x00000014,
76  FRSRPC_CO_STATUS_REQUEST_ACCEPTED_OUTBOUND_LOG = 0x00000015,
77  FRSRPC_CO_STATUS_DB_STATE_UPDATE_STARTED = 0x00000016,
78  FRSRPC_CO_STATUS_DB_STATE_UPDATE_COMPLETED = 0x00000017,
79  FRSRPC_CO_STATUS_CO_ABORTED = 0x00000018
80  } frsrpc_CommPktCoCmdStatus;
81 
82  typedef [bitmap32bit,flag(NDR_PAHEX)] bitmap {
83  FRSRPC_CONTENT_REASON_DATA_OVERWRITE = 0x00000001,
84  FRSRPC_CONTENT_REASON_DATA_EXTEND = 0x00000002,
85  FRSRPC_CONTENT_REASON_DATA_TRUNCATION = 0x00000004,
86  FRSRPC_CONTENT_REASON_NAMED_DATA_OVERWRITE = 0x00000010,
87  FRSRPC_CONTENT_REASON_NAMED_DATA_EXTEND = 0x00000020,
88  FRSRPC_CONTENT_REASON_NAMED_DATA_TRUNCATION = 0x00000040,
89  FRSRPC_CONTENT_REASON_FILE_CREATE = 0x00000100,
90  FRSRPC_CONTENT_REASON_FILE_DELETE = 0x00000200,
91  FRSRPC_CONTENT_REASON_EA_CHANGE = 0x00000400,
92  FRSRPC_CONTENT_REASON_SECURITY_CHANGE = 0x00000800,
93  FRSRPC_CONTENT_REASON_OLD_NAME = 0x00001000,
94  FRSRPC_CONTENT_REASON_NEW_NAME = 0x00002000,
95  FRSRPC_CONTENT_REASON_BASIC_INFO_CHANGE = 0x00004000,
96  FRSRPC_CONTENT_REASON_COMPRESSION_CHANGE = 0x00020000
97  } frsrpc_CommPktCoCmdContentCmd;
98 
99  typedef [v1_enum,flag(NDR_PAHEX)] enum {
100  FRSRPC_CO_LOCATION_FILE_CREATE = 0x00000000,
101  FRSRPC_CO_LOCATION_DIR_CREATE = 0x00000000 | 0x00000001,
102  FRSRPC_CO_LOCATION_FILE_DELETE = 0x00000002,
103  FRSRPC_CO_LOCATION_DIR_DELETE = 0x00000002 | 0x00000001,
104  FRSRPC_CO_LOCATION_FILE_MOVEIN = 0x00000004,
105  FRSRPC_CO_LOCATION_DIR_MOVEIN = 0x00000004 | 0x00000001,
106  FRSRPC_CO_LOCATION_FILE_MOVEIN2 = 0x00000006,
107  FRSRPC_CO_LOCATION_DIR_MOVEIN2 = 0x00000006 | 0x00000001,
108  FRSRPC_CO_LOCATION_FILE_MOVEOUT = 0x00000008,
109  FRSRPC_CO_LOCATION_DIR_MOVEOUT = 0x00000008 | 0x00000001,
110  FRSRPC_CO_LOCATION_FILE_MOVERS = 0x0000000a,
111  FRSRPC_CO_LOCATION_DIR_MOVERS = 0x0000000a | 0x00000001,
112  FRSRPC_CO_LOCATION_FILE_MOVEDIR = 0x0000000c,
113  FRSRPC_CO_LOCATION_DIR_MOVEDIR = 0x0000000c | 0x00000001,
114  FRSRPC_CO_LOCATION_FILE_NO_CMD = 0x0000000e,
115  FRSRPC_CO_LOCATION_DIR_NO_CMD = 0x0000000e | 0x00000001
116  } frsrpc_CommPktCoCmdLocationCmd;
117 
118  typedef struct {
119  uint32 sequence_number;
120  frsrpc_CommPktCoCmdFlags flags;
121  frsrpc_CommPktCoCmdIFlags iflags;
122  frsrpc_CommPktCoCmdStatus status;
123  frsrpc_CommPktCoCmdContentCmd content_cmd;
124  frsrpc_CommPktCoCmdLocationCmd location_cmd;
125  uint32 file_attributes;
126  uint32 file_version_number;
127  uint32 partern_ack_sequence_number;
128  [value(0)] uint32 not_used;
129  hyper file_size;
130  hyper file_offset;
131  hyper frs_vsn;
132  hyper file_usn;
133  hyper jrnl_usn;
134  hyper jrnl_first_usn;
135  uint32 original_replica_num;
136  uint32 new_replica_num;
137  GUID change_order_guid;
138  GUID originator_guid;
139  GUID file_guid;
140  GUID old_parent_guid;
141  GUID new_parent_guid;
142  GUID connection_guid;
143  hyper ack_version;
144  [value(0)] hyper spare2ul1;
145  [value(0)] hyper spare1guid_p1;
146  [value(0)] hyper spare1guid_p2;
147  [value(0)] hyper spare2guid_p1;
148  [value(0)] hyper spare3guid_p2;
149  [value(0)] uint32 spare1wcs;
150  [value(0)] uint32 spare2wcs;
151  [value(0)] uint32 extension;
152  [value(0)] uint32 spare2bin;
153  NTTIME event_time;
154  [value(2*strlen_m(file_name))] uint16 file_name_length;
155 #define FRSRPC_MAX_PATH 260
156  [charset(UTF16)] uint16 file_name[FRSRPC_MAX_PATH+1];
157  [value(0)] uint8 padding1;
158  [value(0)] uint8 padding2;
159  [value(0)] uint8 padding3;
160  [value(0)] uint8 padding4;
162 
163  typedef [v1_enum,flag(NDR_PAHEX)] enum {
164  FRSRPC_DATA_EXTENSION_TERMINATOR = 0x00000000,
165  FRSRPC_DATA_EXTENSION_MD5_CHECKSUM = 0x00000001,
166  FRSRPC_DATA_EXTENSION_RETRY_TIMEOUT = 0x00000002
167  } frsrpc_CommPktDataExtensionType;
168 
169  typedef [flag(NDR_PAHEX)] struct {
170  [value(0x00000018)] uint32 prefix_size;
171  [value(FRSRPC_DATA_EXTENSION_MD5_CHECKSUM)]
172  frsrpc_CommPktDataExtensionType prefix_type;
173  uint8 data[16];
174  } frsrpc_CommPktDataExtensionChecksum;
175 
176  typedef struct {
177  [value(0x00000018)] uint32 prefix_size;
178  [value(FRSRPC_DATA_EXTENSION_RETRY_TIMEOUT)]
179  frsrpc_CommPktDataExtensionType prefix_type;
180  uint32 count;
181  [value(0)] uint32 not_used;
182  NTTIME first_try_time;
184 
185  typedef [flag(NDR_PAHEX)] enum {
186  FRSRPC_CO_RECORD_EXTENSION_VERSION_WIN2K = 0x0000,
187  FRSRPC_CO_RECORD_EXTENSION_VERSION_1 = 0x0001
188  } frsrpc_CommPktCoRecordExtensionMajor;
189 
190  typedef struct {
191  [value(0x00000028)] uint32 field_size;
192  [value(FRSRPC_CO_RECORD_EXTENSION_VERSION_WIN2K)]
193  frsrpc_CommPktCoRecordExtensionMajor major;
194  [value(0x0001)] uint16 offset_count;
195  [value(0x00000010)] uint32 offset;
196  [value(0)] uint32 offset_last;
197  frsrpc_CommPktDataExtensionChecksum data_checksum;
199 
200  typedef struct {
201  [value(0x00000048)] uint32 field_size;
202  frsrpc_CommPktCoRecordExtensionMajor major;
203  [value(0x0002)] uint16 offset_count;
204  [value(0x00000018)] uint32 offset0;
205  [value(0x00000030)] uint32 offset1;/*TODO: is this correct??? */
206  [value(0)] uint32 offset_last;
207  [value(0)] uint32 not_used;
208  frsrpc_CommPktDataExtensionChecksum data_checksum;
209  frsrpc_CommPktDataExtensionRetryTimeout data_retry_timeout;
211 
212  typedef [v1_enum,flag(NDR_PAHEX)] enum {
213  FRSRPC_COMMAND_REMOTE_CO = 0x00000218,
214  FRSRPC_COMMAND_RECEIVING_STATE = 0x00000238,
215  FRSRPC_COMMAND_REMOTE_CO_DONE = 0x00000250,
216  FRSRPC_COMMAND_ABORT_FETCH = 0x00000246,
217  FRSRPC_COMMAND_RETRY_FETCH = 0x00000244,
218  FRSRPC_COMMAND_NEED_JOIN = 0x00000121,
219  FRSRPC_COMMAND_START_JOIN = 0x00000122,
220  FRSRPC_COMMAND_JOINING = 0x00000130,
221  FRSRPC_COMMAND_JOINED = 0x00000128,
222  FRSRPC_COMMAND_UNJOIN_REMOTE = 0x00000148,
223  FRSRPC_COMMAND_WJOIN_DONE = 0x00000136,
224  FRSRPC_COMMAND_SEND_STAGE = 0x00000228
225  } frsrpc_CommPktCommand;
226 
227  typedef [flag(NDR_PAHEX)] enum {
228  FRSRPC_COMM_PKT_CHUNK_BOP = 0x0001,
229  FRSRPC_COMM_PKT_CHUNK_COMMAND = 0x0002,
230  FRSRPC_COMM_PKT_CHUNK_TO = 0x0003,
231  FRSRPC_COMM_PKT_CHUNK_FROM = 0x0004,
232  FRSRPC_COMM_PKT_CHUNK_REPLICA = 0x0005,
233  FRSRPC_COMM_PKT_CHUNK_CONNECTION = 0x0008,
234  FRSRPC_COMM_PKT_CHUNK_JOIN_GUID = 0x0006,
235  FRSRPC_COMM_PKT_CHUNK_LAST_JOIN_TIME = 0x0012,
236 
237  FRSRPC_COMM_PKT_CHUNK_VVECTOR = 0x0007,
238  FRSRPC_COMM_PKT_CHUNK_JOIN_TIME = 0x0011,
239  FRSRPC_COMM_PKT_CHUNK_REPLICA_VERSION_GUID = 0x0014,
240  FRSRPC_COMM_PKT_CHUNK_COMPRESSION_GUID = 0x0018,
241 
242  FRSRPC_COMM_PKT_CHUNK_BLOCK = 0x0009,
243  FRSRPC_COMM_PKT_CHUNK_BLOCK_SIZE = 0x000A,
244  FRSRPC_COMM_PKT_CHUNK_FILE_SIZE = 0x000B,
245  FRSRPC_COMM_PKT_CHUNK_FILE_OFFSET = 0x000C,
246  FRSRPC_COMM_PKT_CHUNK_GVSN = 0x000E,
247  FRSRPC_COMM_PKT_CHUNK_CO_GUID = 0x000F,
248  FRSRPC_COMM_PKT_CHUNK_CO_SEQUENCE_NUMBER = 0x0010,
249 
250  FRSRPC_COMM_PKT_CHUNK_REMOTE_CO = 0x000D,
251  FRSRPC_COMM_PKT_CHUNK_CO_EXT_WIN2K = 0x0016,
252  FRSRPC_COMM_PKT_CHUNK_CO_EXTENTION_2 = 0x0017,
253 
254  FRSRPC_COMM_PKT_CHUNK_EOP = 0x0013
255  } frsrpc_CommPktChunkType;
256 
257  typedef [nodiscriminant] union {
258  [default,flag(NDR_REMAINING)] DATA_BLOB blob;
259  [case(FRSRPC_COMM_PKT_CHUNK_BOP)]
260  [value(0)] uint32 bop;
261  [case(FRSRPC_COMM_PKT_CHUNK_COMMAND)]
262  frsrpc_CommPktCommand command;
263  [case(FRSRPC_COMM_PKT_CHUNK_TO)]
265  [case(FRSRPC_COMM_PKT_CHUNK_FROM)]
267  [case(FRSRPC_COMM_PKT_CHUNK_REPLICA)]
269  [case(FRSRPC_COMM_PKT_CHUNK_CONNECTION)]
270  frsrpc_CommPktChunkGuidName connection;
271  [case(FRSRPC_COMM_PKT_CHUNK_JOIN_GUID)][subcontext(4)]
272  GUID join_guid;
273  [case(FRSRPC_COMM_PKT_CHUNK_LAST_JOIN_TIME)]
274  NTTIME last_join_time;
275  [case(FRSRPC_COMM_PKT_CHUNK_VVECTOR)][subcontext(4)]
276  frsrpc_CommPktGSVN vvector;
277  [case(FRSRPC_COMM_PKT_CHUNK_JOIN_TIME)][subcontext(4)]
278  NTTIME join_time;
279  [case(FRSRPC_COMM_PKT_CHUNK_REPLICA_VERSION_GUID)][subcontext(4)]
280  GUID replica_version_guid;
281  [case(FRSRPC_COMM_PKT_CHUNK_COMPRESSION_GUID)]
282  GUID compression_guid;
283  [case(FRSRPC_COMM_PKT_CHUNK_BLOCK)]
284  [flag(NDR_REMAINING)] DATA_BLOB block;
285  [case(FRSRPC_COMM_PKT_CHUNK_BLOCK_SIZE)]
286  hyper block_size;
287  [case(FRSRPC_COMM_PKT_CHUNK_FILE_SIZE)]
288  hyper file_size;
289  [case(FRSRPC_COMM_PKT_CHUNK_FILE_OFFSET)]
290  hyper file_offset;
291  [case(FRSRPC_COMM_PKT_CHUNK_GVSN)][subcontext(4)]
292  frsrpc_CommPktGSVN gvsn;
293  [case(FRSRPC_COMM_PKT_CHUNK_CO_GUID)][subcontext(4)]
294  GUID co_guid;
295  [case(FRSRPC_COMM_PKT_CHUNK_CO_SEQUENCE_NUMBER)]
296  uint32 co_sequnence_number;
297  [case(FRSRPC_COMM_PKT_CHUNK_REMOTE_CO)][subcontext(4)]
299  [case(FRSRPC_COMM_PKT_CHUNK_CO_EXT_WIN2K)][subcontext(4)]
301  [case(FRSRPC_COMM_PKT_CHUNK_CO_EXTENTION_2)]
303  [case(FRSRPC_COMM_PKT_CHUNK_EOP)]
304  [value(0xFFFFFFFF)] uint32 bopend;
305  } frsrpc_CommPktChunkData;
306 
307  typedef [public,flag(NDR_NOALIGN)] struct {
308  frsrpc_CommPktChunkType type;
309  [subcontext(4),switch_is(type)] frsrpc_CommPktChunkData data;
310  } frsrpc_CommPktChunk;
311 
312  typedef [nopull,nopush,flag(NDR_NOALIGN)] struct {
313  uint32 num_chunks; /* this doesn't appear on the wire */
314  frsrpc_CommPktChunk chunks[num_chunks];
315  } frsrpc_CommPktChunkCtr;
316 
317  typedef [v1_enum] enum {
318  FRSRPC_COMM_PKT_MAJOR_0 = 0x00000000
319  } frsrpc_CommPktMajor;
320 
321  typedef [v1_enum] enum {
322  FRSRPC_COMM_PKT_MINOR_0 = 0x00000000,
323  FRSRPC_COMM_PKT_MINOR_1 = 0x00000001,
324  FRSRPC_COMM_PKT_MINOR_2 = 0x00000002,
325  FRSRPC_COMM_PKT_MINOR_3 = 0x00000003,
326  FRSRPC_COMM_PKT_MINOR_4 = 0x00000004,
327  FRSRPC_COMM_PKT_MINOR_5 = 0x00000005,
328  FRSRPC_COMM_PKT_MINOR_6 = 0x00000006,
329  FRSRPC_COMM_PKT_MINOR_7 = 0x00000007,
330  FRSRPC_COMM_PKT_MINOR_8 = 0x00000008,
331  FRSRPC_COMM_PKT_MINOR_9 = 0x00000009
332  } frsrpc_CommPktMinor;
333 
334  typedef struct {
335  frsrpc_CommPktMajor major;
336  frsrpc_CommPktMinor minor;
337  [value(1)] uint32 cs_id;
338  [value(pkt_len+12)] uint32 memory_len;
339  [value(ndr_size_frsrpc_CommPktChunkCtr(r->ctr,
340  ndr->flags))]
341  [range(0, 262144)]
342  uint32 pkt_len;
343  [value(0)] uint32 upk_len;
344  [subcontext(4),subcontext_size(pkt_len)]
345  frsrpc_CommPktChunkCtr *ctr;
346  [value(0)] uint3264 data_name;
347  [value(0)] uint3264 data_handle;
349 
350  WERROR frsrpc_FrsSendCommPkt(
351  [in] frsrpc_FrsSendCommPktReq req
352  );
353 
354  /*****************/
355  /* Function 0x01 */
356  /* this function always return WERR_CALL_NOT_IMPLEMENTED */
357  WERROR frsrpc_FrsVerifyPromotionParent(
358  [in,unique,string,charset(UTF16)] uint16 *parent_account,
359  [in,unique,string,charset(UTF16)] uint16 *parent_password,
360  [in,unique,string,charset(UTF16)] uint16 *replica_set_name,
361  [in,unique,string,charset(UTF16)] uint16 *replica_set_type,
362  [in] frsrpc_PartnerAuthLevel partner_auth_level,
363  [in] uint32 __ndr_guid_size
364  );
365 
366  /*****************/
367  /* Function 0x02 */
368  typedef [v1_enum,flag(NDR_PAHEX)] enum {
369  FRSRPC_PARENT_AUTH_LEVEL_ENCRYPTED_KERBEROS = 0x00000000,
370  FRSRPC_PARENT_AUTH_LEVEL_NO_AUTHENTICATION = 0x00000001
371  } frsrpc_PartnerAuthLevel;
372 
373  WERROR frsrpc_FrsStartPromotionParent(
374  [in,unique,string,charset(UTF16)] uint16 *parent_account,
375  [in,unique,string,charset(UTF16)] uint16 *parent_password,
376  [in,unique,string,charset(UTF16)] uint16 *replica_set_name,
377  [in,unique,string,charset(UTF16)] uint16 *replica_set_type,
378  [in,unique,string,charset(UTF16)] uint16 *connection_name,
379  [in,unique,string,charset(UTF16)] uint16 *partner_name,
380  [in,unique,string,charset(UTF16)] uint16 *partner_princ_name,
381  [in] frsrpc_PartnerAuthLevel partner_auth_level,
382  [in,value(16),range(16,16)] uint32 __ndr_guid_size,
383  [in,unique,subcontext(4),subcontext_size(16)]
384  GUID *connection_guid,
385  [in,unique,subcontext(4),subcontext_size(16)]
386  GUID *partner_guid,
387  [in,out,unique,subcontext(4),subcontext_size(16)]
388  GUID *parent_guid
389  );
390 
391  /*****************/
392  /* Function 0x03 */
393  WERROR frsrpc_FrsNOP();
394 
395  /*****************/
396  /* Function 0x04 */
397  [todo] void FRSRPC_BACKUP_COMPLETE();
398 
399  /*****************/
400  /* Function 0x05 */
401  [todo] void FRSRPC_BACKUP_COMPLETE_5();
402 
403  /*****************/
404  /* Function 0x06 */
405  [todo] void FRSRPC_BACKUP_COMPLETE_6();
406 
407  /*****************/
408  /* Function 0x07 */
409  [todo] void FRSRPC_BACKUP_COMPLETE_7();
410 
411  /*****************/
412  /* Function 0x08 */
413  [todo] void FRSRPC_BACKUP_COMPLETE_8();
414 
415  /*****************/
416  /* Function 0x09 */
417  [todo] void FRSRPC_BACKUP_COMPLETE_9();
418 
419  /*****************/
420  /* Function 0x0a */
421  [todo] void FRSRPC_VERIFY_PROMOTION_PARENT_EX();
422 }
Definition: frsrpc.idl:18
Definition: frsrpc.idl:334
Definition: frsrpc.idl:13
Definition: conversation.c:27
Definition: frsrpc.idl:23