mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-11-28 08:16:09 +03:00
91 lines
3.3 KiB
Plaintext
91 lines
3.3 KiB
Plaintext
// Copyright 2018 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.
|
|
module chrome_cleaner.mojom;
|
|
|
|
import "chrome/chrome_cleaner/interfaces/string16_embedded_nulls.mojom";
|
|
import "chrome/chrome_cleaner/interfaces/windows_handle.mojom";
|
|
import "components/chrome_cleaner/public/interfaces/chrome_prompt.mojom";
|
|
import "mojo/public/mojom/base/process_id.mojom";
|
|
import "mojo/public/mojom/base/string16.mojom";
|
|
|
|
enum KnownFolder {
|
|
kWindows = 0,
|
|
kProgramFiles = 1,
|
|
kProgramFilesX86 = 2,
|
|
kAppData = 3,
|
|
};
|
|
|
|
struct StringSid {
|
|
mojo_base.mojom.String16 value;
|
|
};
|
|
|
|
struct ScheduledTaskAction {
|
|
FilePath path;
|
|
FilePath working_dir;
|
|
mojo_base.mojom.String16 arguments;
|
|
};
|
|
|
|
struct ScheduledTask {
|
|
mojo_base.mojom.String16 name;
|
|
mojo_base.mojom.String16 description;
|
|
array<ScheduledTaskAction> actions;
|
|
};
|
|
|
|
struct UserInformation {
|
|
mojo_base.mojom.String16 name;
|
|
mojo_base.mojom.String16 domain;
|
|
// User account type (SID_NAME_USE). See
|
|
// https://msdn.microsoft.com/en-us/library/windows/desktop/aa379601(v=vs.85).aspx
|
|
uint32 account_type;
|
|
};
|
|
|
|
// Passes requests that do not mutate the system from the low-privilege sandbox
|
|
// target process to the high-privilege broker process. It is implemented in
|
|
// EngineRequestsImpl in engines/broker.
|
|
//
|
|
// This interface is used in scanning and cleaning mode.
|
|
interface EngineRequests {
|
|
// Converts the given KnownFolder Id to its folder path.
|
|
SandboxGetKnownFolderPath(KnownFolder folder_id) =>
|
|
(bool result, FilePath folder_path);
|
|
|
|
// Gets all of the processes currently running on the machine.
|
|
SandboxGetProcesses() =>
|
|
(bool result, array<mojo_base.mojom.ProcessId> processes);
|
|
|
|
// Gets all the tasks on the system.
|
|
SandboxGetTasks() => (bool result, array<ScheduledTask> tasks);
|
|
|
|
// Returns the path to the executable of the given process.
|
|
SandboxGetProcessImagePath(mojo_base.mojom.ProcessId pid) =>
|
|
(bool result, FilePath image_path);
|
|
|
|
// Gets all of the modules loaded into memory for the given process.
|
|
SandboxGetLoadedModules(mojo_base.mojom.ProcessId pid) =>
|
|
(bool result, array<mojo_base.mojom.String16> modules);
|
|
|
|
// Gets the command line for the given process.
|
|
SandboxGetProcessCommandLine(mojo_base.mojom.ProcessId pid) =>
|
|
(bool result, mojo_base.mojom.String16 command_line);
|
|
|
|
// Gets the given UserInformation values for |sid|.
|
|
SandboxGetUserInfoFromSID(StringSid sid) => (bool result,
|
|
UserInformation user_info);
|
|
|
|
// Gets a read-only registry key handle to the given key.
|
|
// |dw_access| may specify KEY_WOW64_32KEY or KEY_WOW64_64KEY. |root_key| must
|
|
// be non-null, and |sub_key| can't have any null characters.
|
|
SandboxOpenReadOnlyRegistry(WindowsHandle root_key,
|
|
mojo_base.mojom.String16 sub_key, uint32 dw_access) =>
|
|
(uint32 result, WindowsHandle reg_handle);
|
|
|
|
// Gets a read-only registry key handle to the given key.
|
|
// |dw_access| may not specify KEY_WOW64_32KEY or KEY_WOW64_64KEY.
|
|
// ||root_key| may be null, and |sub_key| may have null characters.
|
|
SandboxNtOpenReadOnlyRegistry(WindowsHandle root_key,
|
|
String16EmbeddedNulls sub_key,
|
|
uint32 dw_access) =>
|
|
(uint32 result, WindowsHandle reg_handle);
|
|
};
|