mirror of
https://github.com/samba-team/samba.git
synced 2024-12-23 17:34:34 +03:00
2836787daa
MS-FSRVP preview documents used as reference. H_ERROR codes should be moved to a more generic file.
114 lines
3.3 KiB
Plaintext
114 lines
3.3 KiB
Plaintext
#include "idl_types.h"
|
|
|
|
/*
|
|
* File Server Remote VSS Protocol Definitions
|
|
*/
|
|
|
|
import "misc.idl";
|
|
|
|
[ uuid("a8e0653c-2744-4389-a61d-7373df8b2292"),
|
|
version(1.0),
|
|
endpoint("ncacn_np:[\\pipe\\FssagentRpc]"),
|
|
helpstring("File Server Remote VSS Protocol"),
|
|
pointer_default(unique)
|
|
] interface FileServerVssAgent
|
|
{
|
|
const uint32 FSRVP_E_BAD_STATE = 0x80042301;
|
|
const uint32 FSRVP_E_SHADOW_COPY_SET_IN_PROGRESS = 0x80042316;
|
|
const uint32 FSRVP_E_NOT_SUPPORTED = 0x8004230C;
|
|
const uint32 FSRVP_E_WAIT_TIMEOUT = 0x00000102;
|
|
const uint32 FSRVP_E_WAIT_FAILED = 0xFFFFFFFF;
|
|
const uint32 FSRVP_E_OBJECT_ALREADY_EXISTS = 0x8004230D;
|
|
const uint32 FSRVP_E_OBJECT_NOT_FOUND = 0x80042308;
|
|
const uint32 FSRVP_E_BAD_ID = 0x80042302; /* wire, not documented */
|
|
|
|
/* TODO move these to generic herror defines or COM in orpc.idl */
|
|
const uint32 E_ACCESSDENIED = 0x80070005;
|
|
const uint32 E_INVALIDARG = 0x80070057;
|
|
const uint32 E_OUTOFMEMORY = 0x80000002;
|
|
|
|
typedef struct {
|
|
GUID ShadowCopySetId;
|
|
GUID ShadowCopyId;
|
|
[string,charset(UTF16)] uint16 *ShareNameUNC;
|
|
[string,charset(UTF16)] uint16 *ShadowCopyShareName;
|
|
NTTIME tstamp;
|
|
} fssagent_share_mapping_1;
|
|
|
|
typedef union {
|
|
[case(1)] fssagent_share_mapping_1 *ShareMapping1;
|
|
[default];
|
|
} fssagent_share_mapping;
|
|
|
|
const uint32 FSRVP_RPC_VERSION_1 = 0x000000001;
|
|
DWORD fss_GetSupportedVersion(
|
|
[in] uint8 magic[52], /* wire */
|
|
[out] uint32 *MinVersion,
|
|
[out] uint32 *MaxVersion);
|
|
|
|
const uint32 ATTR_PERSISTENT = 0x00000001;
|
|
const uint32 ATTR_NO_AUTO_RECOVERY = 0x00000002;
|
|
const uint32 ATTR_NO_AUTO_RELEASE = 0x00000008;
|
|
const uint32 ATTR_NO_WRITERS = 0x00000010;
|
|
const uint32 ATTR_FILE_SHARE = 0x04000000;
|
|
const uint32 ATTR_AUTO_RECOVERY = 0x00400000;
|
|
|
|
const uint32 FSRVP_CTX_BACKUP = 0x00000000;
|
|
const uint32 FSRVP_CTX_FILE_SHARE_BACKUP = 0x00000010;
|
|
const uint32 FSRVP_CTX_NAS_ROLLBACK = 0x00000019;
|
|
const uint32 FSRVP_CTX_APP_ROLLBACK = 0x00000009;
|
|
DWORD fss_SetContext(
|
|
[in] uint32 Context);
|
|
|
|
DWORD fss_StartShadowCopySet(
|
|
[in] GUID ClientShadowCopySetId,
|
|
[out] GUID *pShadowCopySetId);
|
|
|
|
DWORD fss_AddToShadowCopySet(
|
|
[in] GUID ClientShadowCopyId,
|
|
[in] GUID ShadowCopySetId,
|
|
[in] [string,charset(UTF16)] uint16 *ShareName,
|
|
[out] GUID *pShadowCopyId);
|
|
|
|
DWORD fss_CommitShadowCopySet(
|
|
[in] GUID ShadowCopySetId,
|
|
[in] uint32 TimeOutInMilliseconds);
|
|
|
|
DWORD fss_ExposeShadowCopySet(
|
|
[in] GUID ShadowCopySetId,
|
|
[in] uint32 TimeOutInMilliseconds);
|
|
|
|
DWORD fss_RecoveryCompleteShadowCopySet(
|
|
[in] GUID ShadowCopySetId);
|
|
|
|
DWORD fss_AbortShadowCopySet(
|
|
[in] GUID ShadowCopySetId);
|
|
|
|
DWORD fss_IsPathSupported(
|
|
[in] [string,charset(UTF16)] uint16 *ShareName,
|
|
[in] uint8 magic[52], /* wire */
|
|
[out] boolean32 *SupportedByThisProvider,
|
|
[out] [string,charset(UTF16)] uint16 **OwnerMachineName);
|
|
|
|
DWORD fss_IsPathShadowCopied(
|
|
[in] [string,charset(UTF16)] uint16 *ShareName,
|
|
[out] boolean32 *ShadowCopyPresent,
|
|
[out] int32 *ShadowCopyCompatibility);
|
|
|
|
DWORD fss_GetShareMapping(
|
|
[in] GUID ShadowCopyId,
|
|
[in] GUID ShadowCopySetId,
|
|
[in] [string,charset(UTF16)] uint16 *ShareName,
|
|
[in] uint32 Level,
|
|
[out,switch_is(Level)] fssagent_share_mapping *ShareMapping);
|
|
|
|
DWORD fss_DeleteShareMapping(
|
|
[in] GUID ShadowCopySetId,
|
|
[in] GUID ShadowCopyId,
|
|
[in] [string,charset(UTF16)] uint16 *ShareName);
|
|
|
|
DWORD fss_PrepareShadowCopySet(
|
|
[in] GUID ShadowCopySetId,
|
|
[in] uint32 TimeOutInMilliseconds);
|
|
}
|