244 lines
7.9 KiB
Protocol Buffer
244 lines
7.9 KiB
Protocol Buffer
// Copyright 2017 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
syntax = "proto2";
|
|
|
|
option optimize_for = LITE_RUNTIME;
|
|
|
|
package smbprovider;
|
|
|
|
// ErrorType matches 1:1 to FileSystemProvider#ProviderError in Chromium up
|
|
// until ERROR_PROVIDER_ERROR_COUNT. The ErrorTypes past that are specific to
|
|
// SmbProvider.
|
|
enum ErrorType {
|
|
ERROR_NONE = 0;
|
|
ERROR_OK = 1;
|
|
ERROR_FAILED = 2;
|
|
ERROR_IN_USE = 3;
|
|
ERROR_EXISTS = 4;
|
|
ERROR_NOT_FOUND = 5;
|
|
ERROR_ACCESS_DENIED = 6;
|
|
ERROR_TOO_MANY_OPENED = 7;
|
|
ERROR_NO_MEMORY = 8;
|
|
ERROR_NO_SPACE = 9;
|
|
ERROR_NOT_A_DIRECTORY = 10;
|
|
ERROR_INVALID_OPERATION = 11;
|
|
ERROR_SECURITY = 12;
|
|
ERROR_ABORT = 13;
|
|
ERROR_NOT_A_FILE = 14;
|
|
ERROR_NOT_EMPTY = 15;
|
|
ERROR_INVALID_URL = 16;
|
|
ERROR_IO = 17;
|
|
// Count of ProviderError.
|
|
ERROR_PROVIDER_ERROR_COUNT = 18;
|
|
// The following errors are not ProviderErrors, instead they are specific to
|
|
// SmbProvider. The jump in int value is to account for possible future
|
|
// additions to ProviderError.
|
|
ERROR_DBUS_PARSE_FAILED = 50;
|
|
ERROR_COPY_PENDING = 51;
|
|
ERROR_COPY_FAILED = 52;
|
|
ERROR_SMB1_UNSUPPORTED = 53;
|
|
ERROR_OPERATION_PENDING = 54;
|
|
ERROR_OPERATION_FAILED = 55;
|
|
}
|
|
|
|
message DirectoryEntryProto {
|
|
optional bool is_directory = 1;
|
|
optional string name = 2;
|
|
// Size in bytes.
|
|
optional int64 size = 3;
|
|
// Seconds since unix epoch.
|
|
optional int64 last_modified_time = 4;
|
|
}
|
|
|
|
// DirectoryEntryListProto is included in responses to ReadDirectory D-Bus
|
|
// method calls.
|
|
message DirectoryEntryListProto { repeated DirectoryEntryProto entries = 1; }
|
|
|
|
// Used for passing inputs into SmbProvider.Mount().
|
|
message MountOptionsProto {
|
|
// Path of the share to be mounted. (e.g. "smb://qnap/testshare")
|
|
optional string path = 1;
|
|
|
|
// Authentication parameters.
|
|
optional string workgroup = 2;
|
|
optional string username = 3;
|
|
|
|
// Mount options set by the client.
|
|
optional MountConfigProto mount_config = 4;
|
|
}
|
|
|
|
message MountConfigProto {
|
|
// Boolean indication whether or not to enable NTLM protocol. False
|
|
// disables the NTLM protocol.
|
|
optional bool enable_ntlm = 1;
|
|
}
|
|
|
|
// Used for passing inputs into SmbProvider.Unmount().
|
|
message UnmountOptionsProto {
|
|
// ID of the mount returned from Mount().
|
|
optional int32 mount_id = 1;
|
|
}
|
|
|
|
// Used for passing inputs into SmbProvider.ReadDirectory().
|
|
message ReadDirectoryOptionsProto {
|
|
// ID of the mount returned from Mount().
|
|
optional int32 mount_id = 1;
|
|
// Path of the directory to be read. The paths are relative to the mount root.
|
|
// (e.g. "/testfolder")
|
|
optional string directory_path = 2;
|
|
}
|
|
|
|
// Used for passing inputs into SmbProvider.GetMetadataEntry().
|
|
message GetMetadataEntryOptionsProto {
|
|
// ID of the mount returned from Mount().
|
|
optional int32 mount_id = 1;
|
|
// Path of the entry to be read. This can be a file or directory path.
|
|
// The paths are relative to the mount root. (e.g. "/testfolder/dog.jpg")
|
|
optional string entry_path = 2;
|
|
}
|
|
|
|
// Used for passing inputs into SmbProvider.OpenFile().
|
|
message OpenFileOptionsProto {
|
|
// ID of the mount returned from Mount().
|
|
optional int32 mount_id = 1;
|
|
// Path of the file to be opened. This must be a file path.
|
|
// Paths are relative to the mount root, e.g. "/animals/dog.jpg".
|
|
optional string file_path = 2;
|
|
// Boolean indicating write status. False indicates read only.
|
|
optional bool writeable = 3;
|
|
}
|
|
|
|
// Used for passing inputs into SmbProvider.CloseFile().
|
|
message CloseFileOptionsProto {
|
|
// ID of the mount returned from Mount().
|
|
optional int32 mount_id = 1;
|
|
// ID of the file returned from OpenFile().
|
|
optional int32 file_id = 2;
|
|
}
|
|
|
|
// Used for passing inputs into SmbProvider.ReadFile().
|
|
message ReadFileOptionsProto {
|
|
// ID of the mount returned from Mount().
|
|
optional int32 mount_id = 1;
|
|
// ID of the file returned from OpenFile().
|
|
optional int32 file_id = 2;
|
|
// Offset of the file to be read.
|
|
optional int64 offset = 3;
|
|
// Length in bytes to be read.
|
|
optional int32 length = 4;
|
|
}
|
|
|
|
// Used for passing inputs into SmbProvider.DeleteEntry().
|
|
message DeleteEntryOptionsProto {
|
|
// ID of the mount returned from Mount().
|
|
optional int32 mount_id = 1;
|
|
// Path of the entry to be deleted. This can be a file or directory path.
|
|
// The paths are relative to the mount root. (e.g. "/testfolder/dog.jpg")
|
|
optional string entry_path = 2;
|
|
// Boolean indicating whether the delete should be recursive for directories.
|
|
optional bool recursive = 3;
|
|
}
|
|
|
|
// Used for passing inputs into SmbProvider.CreateFile().
|
|
message CreateFileOptionsProto {
|
|
// ID of the mount returned from Mount().
|
|
optional int32 mount_id = 1;
|
|
// Path of the file to be created. Paths are relative to the mount root,
|
|
// e.g. "/animals/dog.jpg".
|
|
optional string file_path = 2;
|
|
}
|
|
|
|
// Used for passing inputs into SmbProvider.Truncate().
|
|
message TruncateOptionsProto {
|
|
// ID of the mount returned from Mount().
|
|
optional int32 mount_id = 1;
|
|
// Path of the file to be truncated. Paths are relative to the mount root,
|
|
// e.g. "/animals/dog.jpg".
|
|
optional string file_path = 2;
|
|
// New desired length of the file.
|
|
optional int64 length = 3;
|
|
}
|
|
|
|
// Used for passing inputs into SmbProvider.WriteFile().
|
|
message WriteFileOptionsProto {
|
|
// ID of the mount returned from Mount().
|
|
optional int32 mount_id = 1;
|
|
// ID of the file returned from OpenFile().
|
|
optional int32 file_id = 2;
|
|
// Offset of the file for the write.
|
|
optional int64 offset = 3;
|
|
// Length of data being written.
|
|
optional int32 length = 4;
|
|
}
|
|
|
|
// Used for passing inputs into SmbProvider.CreateDirectory().
|
|
message CreateDirectoryOptionsProto {
|
|
// ID of the mount returned from Mount().
|
|
optional int32 mount_id = 1;
|
|
// Path of the directory to be created. Paths are relative to the mount root.
|
|
// (e.g. "/testfolder/dogs")
|
|
optional string directory_path = 2;
|
|
// Boolean indicating whether the create should be recursive, meaning the
|
|
// parent directories will also be created if they currently don't exist.
|
|
optional bool recursive = 3;
|
|
}
|
|
|
|
// Used for passing inputs into SmbProvider.MoveEntry().
|
|
message MoveEntryOptionsProto {
|
|
// ID of the mount returned from Mount().
|
|
optional int32 mount_id = 1;
|
|
// Source path of the entry to be moved. This can be a file or directory path.
|
|
// Paths are relative to the mount root. (e.g. "/testfolder/dog.jpg")
|
|
optional string source_path = 2;
|
|
// Destination path for the entry to be moved to. This must be a non-existent
|
|
// file or directory path. Paths are relative to the mount
|
|
// root. (e.g. "/testfolder/dog.jpg")
|
|
optional string target_path = 3;
|
|
}
|
|
|
|
// Used for passing inputs into SmbProvider.CopyEntry().
|
|
message CopyEntryOptionsProto {
|
|
// ID of the mount returned from Mount().
|
|
optional int32 mount_id = 1;
|
|
// Source path of the entry to be copied. This can be a file or directory
|
|
// path. Paths are relative to the mount root. (e.g. "/testfolder/dog.jpg")
|
|
optional string source_path = 2;
|
|
// Destination path for the entry to be copied to. This must be a non-existent
|
|
// file or directory path. Paths are relative to the mount root.
|
|
// (e.g. "/testfolder/dog.jpg")
|
|
optional string target_path = 3;
|
|
}
|
|
|
|
message GetDeleteListOptionsProto {
|
|
optional int32 mount_id = 1;
|
|
optional string entry_path = 2;
|
|
}
|
|
|
|
message DeleteListProto {
|
|
repeated string entries = 1;
|
|
}
|
|
|
|
// Used for passing inputs into SmbProvider.GetShares().
|
|
message GetSharesOptionsProto {
|
|
// Url of the server containing the shares. (e.g. "smb://192.168.0.1")
|
|
optional string server_url = 1;
|
|
}
|
|
|
|
// Used for passing inputs into SmbProvider.Remount().
|
|
message RemountOptionsProto {
|
|
// Path of the share to be remounted. (e.g. "smb://192.168.0.1/testshare")
|
|
optional string path = 1;
|
|
// ID to assign to the mount.
|
|
optional int32 mount_id = 2;
|
|
|
|
// Authentication parameters.
|
|
optional string workgroup = 3;
|
|
optional string username = 4;
|
|
}
|
|
|
|
// Used for returning a list of hostnames from a parsed NetBios response packet.
|
|
message HostnamesProto {
|
|
repeated string hostnames = 1;
|
|
} |