9#ifndef LLDB_TARGET_PLATFORM_H
10#define LLDB_TARGET_PLATFORM_H
32#include "llvm/Support/VersionTuple.h"
36class ProcessInstanceInfo;
37class ProcessInstanceInfoMatch;
102 static lldb::PlatformSP
Create(llvm::StringRef name);
107 llvm::StringRef triple);
140 lldb::ModuleSP &module_sp,
141 const FileSpecList *module_search_paths_ptr);
293 lldb::ModuleSP &module_sp,
const FileSpecList *module_search_paths_ptr,
309 virtual std::vector<ArchSpec>
351 virtual lldb::ProcessSP
ConnectProcess(llvm::StringRef connect_url,
352 llvm::StringRef plugin_name,
356 virtual lldb::ProcessSP
358 llvm::StringRef plugin_name,
Debugger &debugger,
468 std::vector<std::string> &options);
480 const lldb::ModuleSP &module_sp) {
551 unsigned prot,
unsigned flags,
588 llvm::StringRef command,
599 llvm::StringRef shell, llvm::StringRef command,
707 virtual lldb::UnwindPlanSP
800 const std::vector<std::string> &paths,
806 const std::vector<std::string> *paths,
845 virtual llvm::Expected<StructuredData::DictionarySP>
885 static std::vector<ArchSpec>
887 llvm::Triple::OSType os);
892 llvm::StringRef plugin_name,
944 const FileSpecList *module_search_paths_ptr);
947 const uint64_t src_offset,
948 const uint64_t src_size,
958 lldb::ModuleSP &exe_module_sp,
959 const FileSpecList *module_search_paths_ptr);
965 lldb::ModuleSP &module_sp,
967 bool *did_create_ptr);
970 lldb::ModuleSP &module_sp,
bool *did_create_ptr);
981 void Append(
const lldb::PlatformSP &platform_sp,
bool set_selected) {
982 std::lock_guard<std::recursive_mutex> guard(
m_mutex);
989 std::lock_guard<std::recursive_mutex> guard(
m_mutex);
994 lldb::PlatformSP platform_sp;
996 std::lock_guard<std::recursive_mutex> guard(
m_mutex);
1010 std::lock_guard<std::recursive_mutex> guard(
m_mutex);
1019 std::lock_guard<std::recursive_mutex> guard(
m_mutex);
1021 for (
size_t idx = 0; idx < num_platforms; ++idx) {
1022 if (
m_platforms[idx].get() == platform_sp.get()) {
1032 lldb::PlatformSP
GetOrCreate(llvm::StringRef name);
1054 std::vector<lldb::PlatformSP> &candidates);
1056 lldb::PlatformSP
Create(llvm::StringRef name);
static llvm::raw_ostream & error(Stream &strm)
An architecture specification class.
bool IsValid() const
Tests if this ArchSpec is valid.
A command line argument class.
Class that manages the actual breakpoint that will be inserted into the running program.
Generic representation of a type in a programming language.
"lldb/Utility/ArgCompletionRequest.h"
A uniqued constant string class.
A class to manage flag bits.
"lldb/Target/ExecutionContext.h" A class that contains an execution context.
A class that describes an executable image and its associated object and symbol files.
virtual llvm::StringRef GetPluginName()=0
A plug-in interface definition class for debugging a process.
A stream class that can stream formatted output to a file.
An abstract interface for things that know how to map numeric user/group IDs into names.
#define LLDB_INVALID_QUEUE_ID
A class that represents a running process on the host machine.
llvm::SmallVector< lldb::addr_t, 6 > MmapArgList
std::vector< ProcessInstanceInfo > ProcessInstanceInfoList