1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00
samba-mirror/librpc/idl/bkupblobs.idl
Matthieu Patou f1d03e7837 idl: add nt backup blobs format
Change-Id: I4a43e1fe5fcebf2a4647ea2fbc9985663c0d7af2
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Matthieu Patou <mat@matws.net>
2014-10-02 12:02:01 +02:00

55 lines
1.3 KiB
Plaintext

#include "idl_types.h"
import "misc.idl";
import "security.idl";
import "fscc.idl";
/* bkup blobs interface definition */
[
pointer_default(unique),
helpstring("bkup blobs")
]
interface bkup
{
typedef [v1_enum] enum {
STREAM_ID_DATA = 1,
STREAM_ID_EX_DATA = 2,
STREAM_ID_SECURITY_DATA = 3,
STREAM_ID_ALTERNATE_DATA = 4,
STREAM_ID_LINK = 5,
STREAM_ID_OBJECTID = 7,
STREAM_ID_REPARSE_DATA = 8,
STREAM_ID_SPARSE_BLOCK = 9,
STREAM_ID_TXFS_DATA = 10
} bkup_StreamId;
typedef [v1_enum] enum {
STREAM_ATTRIBUTE_NORMAL = 0,
STREAM_ATTRIBUTE_SECURITY = 2,
STREAM_ATTRIBUTE_SPARSE = 8
} bkup_StreamAttribute;
typedef [nodiscriminant] union {
[default] DATA_BLOB blob;
[flag(NDR_ALIGN2),case(STREAM_ID_SECURITY_DATA)] security_descriptor sd;
[case(STREAM_ID_OBJECTID)] fscc_FileObjectIdBuffer_2 object;
} bkup_StreamData;
typedef [public] struct {
bkup_StreamId id;
bkup_StreamAttribute attribute;
hyper size;
uint32 stream_name_size;
[charset(UTF16),flag(STR_NOTERM)] uint16 stream_name[stream_name_size];
[subcontext(0), subcontext_size(size), switch_is(id)] [flag(NDR_REMAINING)] bkup_StreamData data;
} bkup_Win32StreamId;
typedef [nopush, nopull, flag(NDR_NOALIGN), public] struct {
uint32 num_stream;
bkup_Win32StreamId streams[num_stream];
} bkup_NTBackupFile;
}