mirror of
https://github.com/samba-team/samba.git
synced 2024-12-23 17:34:34 +03:00
c67468d43b
Change-Id: Ia507b5f627464ab78a145e54b276fc8d64ee3c14 Signed-off-by: Matthieu Patou <mat@matws.net> Reviewed-by: Stefan Metzmacher <metze@samba.org>
459 lines
16 KiB
Plaintext
459 lines
16 KiB
Plaintext
#include "idl_types.h"
|
|
|
|
import "misc.idl";
|
|
import "fscc.idl";
|
|
import "bkupblobs.idl";
|
|
|
|
[
|
|
uuid("f5cc59b4-4264-101a-8c59-08002b2f8426"),
|
|
version(1.1),
|
|
endpoint("ncacn_ip_tcp:", "ncalrpc:"),
|
|
helpstring("File Replication Service"),
|
|
helper("../librpc/ndr/ndr_frsrpc.h"),
|
|
pointer_default(unique)
|
|
]
|
|
interface frsrpc
|
|
{
|
|
|
|
/*****************/
|
|
/* Function 0x00 */
|
|
|
|
typedef struct {
|
|
[subcontext(4)] GUID guid;
|
|
[subcontext(4)] nstring name;
|
|
} frsrpc_CommPktChunkGuidName;
|
|
|
|
typedef struct {
|
|
hyper vsn;
|
|
GUID guid;
|
|
} frsrpc_CommPktGSVN;
|
|
|
|
typedef [bitmap32bit,flag(NDR_PAHEX)] bitmap {
|
|
FRSRPC_CO_FLAG_ABORT_CO = 0x00000001,
|
|
FRSRPC_CO_FLAG_VV_ACTIVATED = 0x00000002,
|
|
FRSRPC_CO_FLAG_CONTENT_CMD = 0x00000004,
|
|
FRSRPC_CO_FLAG_LOCATION_CMD = 0x00000008,
|
|
FRSRPC_CO_FLAG_ONLIST = 0x00000010,
|
|
FRSRPC_CO_FLAG_LOCALCO = 0x00000020,
|
|
FRSRPC_CO_FLAG_RETRY = 0x00000040,
|
|
FRSRPC_CO_FLAG_INST_INCOMPLETE = 0x00000080,
|
|
FRSRPC_CO_FLAG_OUT_OF_ORDER = 0x00000200,
|
|
FRSRPC_CO_FLAG_NEW_FILE = 0x00000400,
|
|
FRSRPC_CO_FLAG_CONTROL = 0x00001000,
|
|
FRSRPC_CO_FLAG_DIRECTED_CO = 0x00002000,
|
|
FRSRPC_CO_FLAG_VVJOIN_TO_ORIG = 0x00040000,
|
|
FRSRPC_CO_FLAG_SKIP_ORIG_REC_C = 0x00100000,
|
|
FRSRPC_CO_FLAG_MOVEIN_GEN = 0x00200000,
|
|
FRSRPC_CO_FLAG_MORPH_GEN_HEAD = 0x00400000,
|
|
FRSRPC_CO_FLAG_JUST_OID_RESET = 0x00800000,
|
|
FRSRPC_CO_FLAG_COMPRESSED_STAGE = 0x01000000,
|
|
FRSRPC_CO_FLAG_SKIP_VV_UPDATE = 0x02000000
|
|
} frsrpc_CommPktCoCmdFlags;
|
|
|
|
const uint32 FRSRPC_CO_IFLAG_NONE = 0x0000000;
|
|
|
|
const string FRSRPC_COMPRESSION_GUID = "64d2f7d2-2695-436d-8830-8d3c58701e15";
|
|
|
|
|
|
typedef [bitmap32bit,flag(NDR_PAHEX)] bitmap {
|
|
FRSRPC_CO_IFLAG_VVRETIRE_EXEC = 0x00000001,
|
|
FRSRPC_CO_IFLAG_CO_ABORT = 0x00000002,
|
|
FRSRPC_CO_IFLAG_DIR_ENUM_PENDING= 0x00000004
|
|
} frsrpc_CommPktCoCmdIFlags;
|
|
|
|
typedef [v1_enum,flag(NDR_PAHEX)] enum {
|
|
FRSRPC_CO_STATUS_CO_ENTERED_LOG = 0x00000000,
|
|
FRSRPC_CO_STATUS_ALLOC_STAGING_LOCAL_CO = 0x00000001,
|
|
FRSRPC_CO_STATUS_LOCAL_CO_STAGING_STARTED = 0x00000002,
|
|
FRSRPC_CO_STATUS_LOCAL_CO_STAGING_COMPLETED = 0x00000003,
|
|
FRSRPC_CO_STATUS_WAIT_RETRY_LOCAL_CO_STAGING = 0x00000004,
|
|
FRSRPC_CO_STATUS_ALLOC_STAGING_REMOTE_CO = 0x00000005,
|
|
FRSRPC_CO_STATUS_REMOTE_CO_STAGING_STARTED = 0x00000006,
|
|
FRSRPC_CO_STATUS_REMOTE_CO_STAGING_COMPLETED = 0x00000007,
|
|
FRSRPC_CO_STATUS_WAIT_RETRY_REMOTE_CO_STAGING = 0x00000008,
|
|
FRSRPC_CO_STATUS_FILE_INSTALL_REQUESTED = 0x00000009,
|
|
FRSRPC_CO_STATUS_FILE_INSTALL_STARTED = 0x0000000A,
|
|
FRSRPC_CO_STATUS_FILE_INSTALL_COMPLETED = 0x0000000B,
|
|
FRSRPC_CO_STATUS_FILE_INSTALL_WAIT_RETRY = 0x0000000C,
|
|
FRSRPC_CO_STATUS_FILE_INSTALL_RETRYING = 0x0000000D,
|
|
FRSRPC_CO_STATUS_FILE_INSTALL_RENAME_RETRYING = 0x0000000E,
|
|
FRSRPC_CO_STATUS_FILE_INSTALL_DELETE_RETRYING = 0x0000000F,
|
|
FRSRPC_CO_STATUS_CO_RECYCLED_FOR_ENUM = 0x00000013,
|
|
FRSRPC_CO_STATUS_REQUEST_OUTBOUND_PROPAGATION = 0x00000014,
|
|
FRSRPC_CO_STATUS_REQUEST_ACCEPTED_OUTBOUND_LOG = 0x00000015,
|
|
FRSRPC_CO_STATUS_DB_STATE_UPDATE_STARTED = 0x00000016,
|
|
FRSRPC_CO_STATUS_DB_STATE_UPDATE_COMPLETED = 0x00000017,
|
|
FRSRPC_CO_STATUS_CO_ABORTED = 0x00000018
|
|
} frsrpc_CommPktCoCmdStatus;
|
|
|
|
typedef [bitmap32bit,flag(NDR_PAHEX)] bitmap {
|
|
FRSRPC_CONTENT_REASON_DATA_OVERWRITE = 0x00000001,
|
|
FRSRPC_CONTENT_REASON_DATA_EXTEND = 0x00000002,
|
|
FRSRPC_CONTENT_REASON_DATA_TRUNCATION = 0x00000004,
|
|
FRSRPC_CONTENT_REASON_NAMED_DATA_OVERWRITE = 0x00000010,
|
|
FRSRPC_CONTENT_REASON_NAMED_DATA_EXTEND = 0x00000020,
|
|
FRSRPC_CONTENT_REASON_NAMED_DATA_TRUNCATION = 0x00000040,
|
|
FRSRPC_CONTENT_REASON_FILE_CREATE = 0x00000100,
|
|
FRSRPC_CONTENT_REASON_FILE_DELETE = 0x00000200,
|
|
FRSRPC_CONTENT_REASON_EA_CHANGE = 0x00000400,
|
|
FRSRPC_CONTENT_REASON_SECURITY_CHANGE = 0x00000800,
|
|
FRSRPC_CONTENT_REASON_OLD_NAME = 0x00001000,
|
|
FRSRPC_CONTENT_REASON_NEW_NAME = 0x00002000,
|
|
FRSRPC_CONTENT_REASON_BASIC_INFO_CHANGE = 0x00004000,
|
|
FRSRPC_CONTENT_REASON_COMPRESSION_CHANGE = 0x00020000
|
|
} frsrpc_CommPktCoCmdContentCmd;
|
|
|
|
typedef [v1_enum,flag(NDR_PAHEX)] enum {
|
|
FRSRPC_CO_LOCATION_FILE_CREATE = 0x00000000,
|
|
FRSRPC_CO_LOCATION_DIR_CREATE = 0x00000000 | 0x00000001,
|
|
FRSRPC_CO_LOCATION_FILE_DELETE = 0x00000002,
|
|
FRSRPC_CO_LOCATION_DIR_DELETE = 0x00000002 | 0x00000001,
|
|
FRSRPC_CO_LOCATION_FILE_MOVEIN = 0x00000004,
|
|
FRSRPC_CO_LOCATION_DIR_MOVEIN = 0x00000004 | 0x00000001,
|
|
FRSRPC_CO_LOCATION_FILE_MOVEIN2 = 0x00000006,
|
|
FRSRPC_CO_LOCATION_DIR_MOVEIN2 = 0x00000006 | 0x00000001,
|
|
FRSRPC_CO_LOCATION_FILE_MOVEOUT = 0x00000008,
|
|
FRSRPC_CO_LOCATION_DIR_MOVEOUT = 0x00000008 | 0x00000001,
|
|
FRSRPC_CO_LOCATION_FILE_MOVERS = 0x0000000a,
|
|
FRSRPC_CO_LOCATION_DIR_MOVERS = 0x0000000a | 0x00000001,
|
|
FRSRPC_CO_LOCATION_FILE_MOVEDIR = 0x0000000c,
|
|
FRSRPC_CO_LOCATION_DIR_MOVEDIR = 0x0000000c | 0x00000001,
|
|
FRSRPC_CO_LOCATION_FILE_NO_CMD = 0x0000000e,
|
|
FRSRPC_CO_LOCATION_DIR_NO_CMD = 0x0000000e | 0x00000001
|
|
} frsrpc_CommPktCoCmdLocationCmd;
|
|
|
|
[public] typedef struct {
|
|
uint32 sequence_number;
|
|
frsrpc_CommPktCoCmdFlags flags;
|
|
frsrpc_CommPktCoCmdIFlags iflags;
|
|
frsrpc_CommPktCoCmdStatus status;
|
|
frsrpc_CommPktCoCmdContentCmd content_cmd;
|
|
frsrpc_CommPktCoCmdLocationCmd location_cmd;
|
|
uint32 file_attributes;
|
|
uint32 file_version_number;
|
|
uint32 partern_ack_sequence_number;
|
|
[value(0)] uint32 not_used;
|
|
hyper file_size;
|
|
hyper file_offset;
|
|
hyper frs_vsn;
|
|
hyper file_usn;
|
|
hyper jrnl_usn;
|
|
hyper jrnl_first_usn;
|
|
uint32 original_replica_num;
|
|
uint32 new_replica_num;
|
|
GUID change_order_guid;
|
|
GUID originator_guid;
|
|
GUID file_guid;
|
|
GUID old_parent_guid;
|
|
GUID new_parent_guid;
|
|
GUID connection_guid;
|
|
hyper ack_version;
|
|
[value(0)] hyper spare2ul1;
|
|
[value(0)] hyper spare1guid_p1;
|
|
[value(0)] hyper spare1guid_p2;
|
|
[value(0)] hyper spare2guid_p1;
|
|
[value(0)] hyper spare3guid_p2;
|
|
[value(0)] uint32 spare1wcs;
|
|
[value(0)] uint32 spare2wcs;
|
|
[value(0)] uint32 extension;
|
|
[value(0)] uint32 spare2bin;
|
|
NTTIME event_time;
|
|
[value(2*strlen_m(file_name))] uint16 file_name_length;
|
|
#define FRSRPC_MAX_PATH 260
|
|
[charset(UTF16)] uint16 file_name[FRSRPC_MAX_PATH+1];
|
|
[value(0)] uint8 padding1;
|
|
[value(0)] uint8 padding2;
|
|
[value(0)] uint8 padding3;
|
|
[value(0)] uint8 padding4;
|
|
} frsrpc_CommPktChangeOrderCommand;
|
|
|
|
typedef [v1_enum,flag(NDR_PAHEX)] enum {
|
|
FRSRPC_DATA_EXTENSION_TERMINATOR = 0x00000000,
|
|
FRSRPC_DATA_EXTENSION_MD5_CHECKSUM = 0x00000001,
|
|
FRSRPC_DATA_EXTENSION_RETRY_TIMEOUT = 0x00000002
|
|
} frsrpc_CommPktDataExtensionType;
|
|
|
|
typedef [flag(NDR_PAHEX)] struct {
|
|
[value(0x00000018)] uint32 prefix_size;
|
|
[value(FRSRPC_DATA_EXTENSION_MD5_CHECKSUM)]
|
|
frsrpc_CommPktDataExtensionType prefix_type;
|
|
uint8 data[16];
|
|
} frsrpc_CommPktDataExtensionChecksum;
|
|
|
|
typedef struct {
|
|
[value(0x00000018)] uint32 prefix_size;
|
|
[value(FRSRPC_DATA_EXTENSION_RETRY_TIMEOUT)]
|
|
frsrpc_CommPktDataExtensionType prefix_type;
|
|
uint32 count;
|
|
[value(0)] uint32 not_used;
|
|
NTTIME first_try_time;
|
|
} frsrpc_CommPktDataExtensionRetryTimeout;
|
|
|
|
typedef [flag(NDR_PAHEX)] enum {
|
|
FRSRPC_CO_RECORD_EXTENSION_VERSION_WIN2K = 0x0000,
|
|
FRSRPC_CO_RECORD_EXTENSION_VERSION_1 = 0x0001
|
|
} frsrpc_CommPktCoRecordExtensionMajor;
|
|
|
|
typedef struct {
|
|
[value(0x00000028)] uint32 field_size;
|
|
[value(FRSRPC_CO_RECORD_EXTENSION_VERSION_WIN2K)]
|
|
frsrpc_CommPktCoRecordExtensionMajor major;
|
|
[value(0x0001)] uint16 offset_count;
|
|
[value(0x00000010)] uint32 offset;
|
|
[value(0)] uint32 offset_last;
|
|
frsrpc_CommPktDataExtensionChecksum data_checksum;
|
|
} frsrpc_CommPktCoRecordExtensionWin2k;
|
|
|
|
typedef struct {
|
|
[value(0x00000048)] uint32 field_size;
|
|
frsrpc_CommPktCoRecordExtensionMajor major;
|
|
[value(0x0002)] uint16 offset_count;
|
|
[value(0x00000018)] uint32 offset0;
|
|
[value(0x00000030)] uint32 offset1;
|
|
[value(0)] uint32 offset_last;
|
|
[value(0)] uint32 not_used;
|
|
frsrpc_CommPktDataExtensionChecksum data_checksum;
|
|
frsrpc_CommPktDataExtensionRetryTimeout data_retry_timeout;
|
|
} frsrpc_CommPktChangeOrderRecordExtension;
|
|
|
|
typedef [v1_enum,flag(NDR_PAHEX)] enum {
|
|
FRSRPC_COMMAND_REMOTE_CO = 0x00000218,
|
|
FRSRPC_COMMAND_RECEIVING_STATE = 0x00000238,
|
|
FRSRPC_COMMAND_REMOTE_CO_DONE = 0x00000250,
|
|
FRSRPC_COMMAND_ABORT_FETCH = 0x00000246,
|
|
FRSRPC_COMMAND_RETRY_FETCH = 0x00000244,
|
|
FRSRPC_COMMAND_NEED_JOIN = 0x00000121,
|
|
FRSRPC_COMMAND_START_JOIN = 0x00000122,
|
|
FRSRPC_COMMAND_JOINING = 0x00000130,
|
|
FRSRPC_COMMAND_JOINED = 0x00000128,
|
|
FRSRPC_COMMAND_UNJOIN_REMOTE = 0x00000148,
|
|
FRSRPC_COMMAND_VVJOIN_DONE = 0x00000136,
|
|
FRSRPC_COMMAND_SEND_STAGE = 0x00000228
|
|
} frsrpc_CommPktCommand;
|
|
|
|
typedef [flag(NDR_PAHEX)] enum {
|
|
FRSRPC_COMM_PKT_CHUNK_BOP = 0x0001,
|
|
FRSRPC_COMM_PKT_CHUNK_COMMAND = 0x0002,
|
|
FRSRPC_COMM_PKT_CHUNK_TO = 0x0003,
|
|
FRSRPC_COMM_PKT_CHUNK_FROM = 0x0004,
|
|
FRSRPC_COMM_PKT_CHUNK_REPLICA = 0x0005,
|
|
FRSRPC_COMM_PKT_CHUNK_CONNECTION = 0x0008,
|
|
FRSRPC_COMM_PKT_CHUNK_JOIN_GUID = 0x0006,
|
|
FRSRPC_COMM_PKT_CHUNK_LAST_JOIN_TIME = 0x0012,
|
|
|
|
FRSRPC_COMM_PKT_CHUNK_VVECTOR = 0x0007,
|
|
FRSRPC_COMM_PKT_CHUNK_JOIN_TIME = 0x0011,
|
|
FRSRPC_COMM_PKT_CHUNK_REPLICA_VERSION_GUID = 0x0014,
|
|
FRSRPC_COMM_PKT_CHUNK_COMPRESSION_GUID = 0x0018,
|
|
|
|
FRSRPC_COMM_PKT_CHUNK_BLOCK = 0x0009,
|
|
FRSRPC_COMM_PKT_CHUNK_BLOCK_SIZE = 0x000A,
|
|
FRSRPC_COMM_PKT_CHUNK_FILE_SIZE = 0x000B,
|
|
FRSRPC_COMM_PKT_CHUNK_FILE_OFFSET = 0x000C,
|
|
FRSRPC_COMM_PKT_CHUNK_GVSN = 0x000E,
|
|
FRSRPC_COMM_PKT_CHUNK_CO_GUID = 0x000F,
|
|
FRSRPC_COMM_PKT_CHUNK_CO_SEQUENCE_NUMBER = 0x0010,
|
|
|
|
FRSRPC_COMM_PKT_CHUNK_REMOTE_CO = 0x000D,
|
|
FRSRPC_COMM_PKT_CHUNK_CO_EXT_WIN2K = 0x0016,
|
|
FRSRPC_COMM_PKT_CHUNK_CO_EXTENTION_2 = 0x0017,
|
|
|
|
FRSRPC_COMM_PKT_CHUNK_EOP = 0x0013
|
|
} frsrpc_CommPktChunkType;
|
|
|
|
typedef [nodiscriminant] union {
|
|
[default,flag(NDR_REMAINING)] DATA_BLOB blob;
|
|
[case(FRSRPC_COMM_PKT_CHUNK_BOP)]
|
|
[value(0)] uint32 bop;
|
|
[case(FRSRPC_COMM_PKT_CHUNK_COMMAND)]
|
|
frsrpc_CommPktCommand command;
|
|
[case(FRSRPC_COMM_PKT_CHUNK_TO)]
|
|
frsrpc_CommPktChunkGuidName to;
|
|
[case(FRSRPC_COMM_PKT_CHUNK_FROM)]
|
|
frsrpc_CommPktChunkGuidName from;
|
|
[case(FRSRPC_COMM_PKT_CHUNK_REPLICA)]
|
|
frsrpc_CommPktChunkGuidName replica;
|
|
[case(FRSRPC_COMM_PKT_CHUNK_CONNECTION)]
|
|
frsrpc_CommPktChunkGuidName connection;
|
|
[case(FRSRPC_COMM_PKT_CHUNK_JOIN_GUID)][subcontext(4)]
|
|
GUID join_guid;
|
|
[case(FRSRPC_COMM_PKT_CHUNK_LAST_JOIN_TIME)]
|
|
NTTIME last_join_time;
|
|
[case(FRSRPC_COMM_PKT_CHUNK_VVECTOR)][subcontext(4)]
|
|
frsrpc_CommPktGSVN vvector;
|
|
[case(FRSRPC_COMM_PKT_CHUNK_JOIN_TIME)][subcontext(4)]
|
|
NTTIME join_time;
|
|
[case(FRSRPC_COMM_PKT_CHUNK_REPLICA_VERSION_GUID)][subcontext(4)]
|
|
GUID replica_version_guid;
|
|
[case(FRSRPC_COMM_PKT_CHUNK_COMPRESSION_GUID)]
|
|
GUID compression_guid;
|
|
[case(FRSRPC_COMM_PKT_CHUNK_BLOCK)]
|
|
DATA_BLOB block;
|
|
[case(FRSRPC_COMM_PKT_CHUNK_BLOCK_SIZE)]
|
|
hyper block_size;
|
|
[case(FRSRPC_COMM_PKT_CHUNK_FILE_SIZE)]
|
|
hyper file_size;
|
|
[case(FRSRPC_COMM_PKT_CHUNK_FILE_OFFSET)]
|
|
hyper file_offset;
|
|
[case(FRSRPC_COMM_PKT_CHUNK_GVSN)][subcontext(4)]
|
|
frsrpc_CommPktGSVN gvsn;
|
|
[case(FRSRPC_COMM_PKT_CHUNK_CO_GUID)][subcontext(4)]
|
|
GUID co_guid;
|
|
[case(FRSRPC_COMM_PKT_CHUNK_CO_SEQUENCE_NUMBER)]
|
|
uint32 co_sequence_number;
|
|
[case(FRSRPC_COMM_PKT_CHUNK_REMOTE_CO)][subcontext(4)]
|
|
frsrpc_CommPktChangeOrderCommand remote_co;
|
|
[case(FRSRPC_COMM_PKT_CHUNK_CO_EXT_WIN2K)][subcontext(4)]
|
|
frsrpc_CommPktCoRecordExtensionWin2k co_ext_win2k;
|
|
[case(FRSRPC_COMM_PKT_CHUNK_CO_EXTENTION_2)]
|
|
frsrpc_CommPktChangeOrderRecordExtension co_extension2;
|
|
[case(FRSRPC_COMM_PKT_CHUNK_EOP)]
|
|
[value(0xFFFFFFFF)] uint32 bopend;
|
|
} frsrpc_CommPktChunkData;
|
|
|
|
typedef [public,flag(NDR_NOALIGN)] struct {
|
|
frsrpc_CommPktChunkType type;
|
|
[subcontext(4),switch_is(type)] frsrpc_CommPktChunkData data;
|
|
} frsrpc_CommPktChunk;
|
|
|
|
typedef [nopull,nopush,flag(NDR_NOALIGN)] struct {
|
|
uint32 num_chunks; /* this doesn't appear on the wire */
|
|
frsrpc_CommPktChunk chunks[num_chunks];
|
|
} frsrpc_CommPktChunkCtr;
|
|
|
|
typedef [v1_enum] enum {
|
|
FRSRPC_COMM_PKT_MAJOR_0 = 0x00000000
|
|
} frsrpc_CommPktMajor;
|
|
|
|
typedef [v1_enum] enum {
|
|
FRSRPC_COMM_PKT_MINOR_0 = 0x00000000,
|
|
FRSRPC_COMM_PKT_MINOR_1 = 0x00000001,
|
|
FRSRPC_COMM_PKT_MINOR_2 = 0x00000002,
|
|
FRSRPC_COMM_PKT_MINOR_3 = 0x00000003,
|
|
FRSRPC_COMM_PKT_MINOR_4 = 0x00000004,
|
|
FRSRPC_COMM_PKT_MINOR_5 = 0x00000005,
|
|
FRSRPC_COMM_PKT_MINOR_6 = 0x00000006,
|
|
FRSRPC_COMM_PKT_MINOR_7 = 0x00000007,
|
|
FRSRPC_COMM_PKT_MINOR_8 = 0x00000008,
|
|
FRSRPC_COMM_PKT_MINOR_9 = 0x00000009
|
|
} frsrpc_CommPktMinor;
|
|
|
|
[public] typedef struct {
|
|
frsrpc_CommPktMajor major;
|
|
frsrpc_CommPktMinor minor;
|
|
[value(1)] uint32 cs_id;
|
|
[value(pkt_len+12)] uint32 memory_len;
|
|
[value(ndr_size_frsrpc_CommPktChunkCtr(r->ctr,
|
|
ndr->flags))]
|
|
[range(0, 262144)]
|
|
uint32 pkt_len;
|
|
[value(0)] uint32 upk_len;
|
|
[subcontext(4),subcontext_size(pkt_len)]
|
|
frsrpc_CommPktChunkCtr *ctr;
|
|
[value(0)] uint3264 data_name;
|
|
[value(0)] uint3264 data_handle;
|
|
} frsrpc_FrsSendCommPktReq;
|
|
|
|
WERROR frsrpc_FrsSendCommPkt(
|
|
[in] frsrpc_FrsSendCommPktReq req
|
|
);
|
|
|
|
/*****************/
|
|
/* Function 0x01 */
|
|
/* this function always return WERR_CALL_NOT_IMPLEMENTED */
|
|
WERROR frsrpc_FrsVerifyPromotionParent(
|
|
[in,unique,string,charset(UTF16)] uint16 *parent_account,
|
|
[in,unique,string,charset(UTF16)] uint16 *parent_password,
|
|
[in,unique,string,charset(UTF16)] uint16 *replica_set_name,
|
|
[in,unique,string,charset(UTF16)] uint16 *replica_set_type,
|
|
[in] frsrpc_PartnerAuthLevel partner_auth_level,
|
|
[in] uint32 __ndr_guid_size
|
|
);
|
|
|
|
/*****************/
|
|
/* Function 0x02 */
|
|
typedef [v1_enum,flag(NDR_PAHEX)] enum {
|
|
FRSRPC_PARENT_AUTH_LEVEL_ENCRYPTED_KERBEROS = 0x00000000,
|
|
FRSRPC_PARENT_AUTH_LEVEL_NO_AUTHENTICATION = 0x00000001
|
|
} frsrpc_PartnerAuthLevel;
|
|
|
|
WERROR frsrpc_FrsStartPromotionParent(
|
|
[in,unique,string,charset(UTF16)] uint16 *parent_account,
|
|
[in,unique,string,charset(UTF16)] uint16 *parent_password,
|
|
[in,unique,string,charset(UTF16)] uint16 *replica_set_name,
|
|
[in,unique,string,charset(UTF16)] uint16 *replica_set_type,
|
|
[in,unique,string,charset(UTF16)] uint16 *connection_name,
|
|
[in,unique,string,charset(UTF16)] uint16 *partner_name,
|
|
[in,unique,string,charset(UTF16)] uint16 *partner_princ_name,
|
|
[in] frsrpc_PartnerAuthLevel partner_auth_level,
|
|
[in,value(16),range(16,16)] uint32 __ndr_guid_size,
|
|
[in,unique,subcontext(4),subcontext_size(16)]
|
|
GUID *connection_guid,
|
|
[in,unique,subcontext(4),subcontext_size(16)]
|
|
GUID *partner_guid,
|
|
[in,out,unique,subcontext(4),subcontext_size(16)]
|
|
GUID *parent_guid
|
|
);
|
|
|
|
typedef [public,flag(NDR_NOALIGN)] struct {
|
|
uint32 major;
|
|
uint32 minor;
|
|
uint32 dataHigh;
|
|
uint32 dataLow;
|
|
uint16 compression;
|
|
uint8 unused[6];
|
|
fscc_FileNetworkOpenInformation attributes;
|
|
frsrpc_CommPktChangeOrderCommand command;
|
|
fscc_FileObjectIdBuffer_2 fileObjId;
|
|
frsrpc_CommPktCoRecordExtensionWin2k cocExt;
|
|
GUID compressionGuid;
|
|
uint32 encDataHigh;
|
|
uint32 encDataLow;
|
|
hyper dataSize;
|
|
uint32 reparseDataPresent;
|
|
uint32 reparseDataHigh;
|
|
uint32 reparseDataLow;
|
|
uint32 padding2;
|
|
} frsrpc_StageHeader;
|
|
|
|
/*****************/
|
|
/* Function 0x03 */
|
|
WERROR frsrpc_FrsNOP();
|
|
|
|
/*
|
|
*For Op from 4 to 10 Microsoft use
|
|
*the notation OpnumxxNotUsedOnWire
|
|
*where xx is the number of the OP.
|
|
*They are only declared in the IDL of MS-FRS1.pdf.
|
|
*Not in the core of the document.
|
|
*/
|
|
|
|
/*****************/
|
|
/* Function 0x04 */
|
|
/*[todo] void FRSRPC_BACKUP_COMPLETE();*/
|
|
|
|
/*****************/
|
|
/* Function 0x05 */
|
|
/*[todo] void FRSRPC_BACKUP_COMPLETE_5();*/
|
|
|
|
/*****************/
|
|
/* Function 0x06 */
|
|
/*[todo] void FRSRPC_BACKUP_COMPLETE_6();*/
|
|
|
|
/*****************/
|
|
/* Function 0x07 */
|
|
/*[todo] void FRSRPC_BACKUP_COMPLETE_7();*/
|
|
|
|
/*****************/
|
|
/* Function 0x08 */
|
|
/*[todo] void FRSRPC_BACKUP_COMPLETE_8();*/
|
|
|
|
/*****************/
|
|
/* Function 0x09 */
|
|
/*[todo] void FRSRPC_BACKUP_COMPLETE_9();*/
|
|
|
|
/*****************/
|
|
/* Function 0x0a */
|
|
/*[todo] void FRSRPC_VERIFY_PROMOTION_PARENT_EX();*/
|
|
}
|