Add replacement addCleanup.
[Samba.git] / librpc / idl / fsrvp.idl
blobb73392f21e6e03af892d47e4bbc54f97766cb8ee
1 #include "idl_types.h"
3 /*
4 * File Server Remote VSS Protocol Definitions
5 */
7 import "misc.idl";
9 [ uuid("a8e0653c-2744-4389-a61d-7373df8b2292"),
10 version(1.0),
11 endpoint("ncacn_np:[\\pipe\\FssagentRpc]"),
12 helpstring("File Server Remote VSS Protocol"),
13 pointer_default(unique)
14 ] interface FileServerVssAgent
16 const uint32 FSRVP_E_BAD_STATE = 0x80042301;
17 const uint32 FSRVP_E_SHADOW_COPY_SET_IN_PROGRESS = 0x80042316;
18 const uint32 FSRVP_E_NOT_SUPPORTED = 0x8004230C;
19 const uint32 FSRVP_E_WAIT_TIMEOUT = 0x00000102;
20 const uint32 FSRVP_E_WAIT_FAILED = 0xFFFFFFFF;
21 const uint32 FSRVP_E_OBJECT_ALREADY_EXISTS = 0x8004230D;
22 const uint32 FSRVP_E_OBJECT_NOT_FOUND = 0x80042308;
23 const uint32 FSRVP_E_UNSUPPORTED_CONTEXT = 0x8004231B;
24 const uint32 FSRVP_E_BAD_ID = 0x80042302; /* wire, not documented */
25 const uint32 FSRVP_E_SHADOWCOPYSET_ID_MISMATCH = 0x80042501;
26 typedef struct {
27 GUID ShadowCopySetId;
28 GUID ShadowCopyId;
29 [string,charset(UTF16)] uint16 *ShareNameUNC;
30 [string,charset(UTF16)] uint16 *ShadowCopyShareName;
31 NTTIME tstamp;
32 } fssagent_share_mapping_1;
34 typedef union {
35 [case(1)] fssagent_share_mapping_1 *ShareMapping1;
36 [default];
37 } fssagent_share_mapping;
39 const uint32 FSRVP_RPC_VERSION_1 = 0x000000001;
40 DWORD fss_GetSupportedVersion(
41 [in] uint8 magic[52], /* wire */
42 [out] uint32 *MinVersion,
43 [out] uint32 *MaxVersion);
45 const uint32 ATTR_PERSISTENT = 0x00000001;
46 const uint32 ATTR_NO_AUTO_RECOVERY = 0x00000002;
47 const uint32 ATTR_NO_AUTO_RELEASE = 0x00000008;
48 const uint32 ATTR_NO_WRITERS = 0x00000010;
49 const uint32 ATTR_FILE_SHARE = 0x04000000;
50 const uint32 ATTR_AUTO_RECOVERY = 0x00400000;
52 const uint32 FSRVP_CTX_BACKUP = 0x00000000;
53 const uint32 FSRVP_CTX_FILE_SHARE_BACKUP = 0x00000010;
54 const uint32 FSRVP_CTX_NAS_ROLLBACK = 0x00000019;
55 const uint32 FSRVP_CTX_APP_ROLLBACK = 0x00000009;
56 DWORD fss_SetContext(
57 [in] uint32 Context);
59 DWORD fss_StartShadowCopySet(
60 [in] GUID ClientShadowCopySetId,
61 [out] GUID *pShadowCopySetId);
63 DWORD fss_AddToShadowCopySet(
64 [in] GUID ClientShadowCopyId,
65 [in] GUID ShadowCopySetId,
66 [in] [string,charset(UTF16)] uint16 *ShareName,
67 [out] GUID *pShadowCopyId);
69 DWORD fss_CommitShadowCopySet(
70 [in] GUID ShadowCopySetId,
71 [in] uint32 TimeOutInMilliseconds);
73 DWORD fss_ExposeShadowCopySet(
74 [in] GUID ShadowCopySetId,
75 [in] uint32 TimeOutInMilliseconds);
77 DWORD fss_RecoveryCompleteShadowCopySet(
78 [in] GUID ShadowCopySetId);
80 DWORD fss_AbortShadowCopySet(
81 [in] GUID ShadowCopySetId);
83 DWORD fss_IsPathSupported(
84 [in] [string,charset(UTF16)] uint16 *ShareName,
85 [in] uint8 magic[52], /* wire */
86 [out] boolean32 *SupportedByThisProvider,
87 [out] [string,charset(UTF16)] uint16 **OwnerMachineName);
89 DWORD fss_IsPathShadowCopied(
90 [in] [string,charset(UTF16)] uint16 *ShareName,
91 [out] boolean32 *ShadowCopyPresent,
92 [out] int32 *ShadowCopyCompatibility);
94 DWORD fss_GetShareMapping(
95 [in] GUID ShadowCopyId,
96 [in] GUID ShadowCopySetId,
97 [in] [string,charset(UTF16)] uint16 *ShareName,
98 [in] uint32 Level,
99 [out,switch_is(Level)] fssagent_share_mapping *ShareMapping);
101 DWORD fss_DeleteShareMapping(
102 [in] GUID ShadowCopySetId,
103 [in] GUID ShadowCopyId,
104 [in] [string,charset(UTF16)] uint16 *ShareName);
106 DWORD fss_PrepareShadowCopySet(
107 [in] GUID ShadowCopySetId,
108 [in] uint32 TimeOutInMilliseconds);