| //===-- PlatformLinux.h -----------------------------------------*- C++ -*-===// |
| // |
| // The LLVM Compiler Infrastructure |
| // |
| // This file is distributed under the University of Illinois Open Source |
| // License. See LICENSE.TXT for details. |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #ifndef liblldb_PlatformLinux_h_ |
| #define liblldb_PlatformLinux_h_ |
| |
| // C Includes |
| // C++ Includes |
| // Other libraries and framework includes |
| // Project includes |
| #include "Plugins/Platform/POSIX/PlatformPOSIX.h" |
| |
| namespace lldb_private { |
| namespace platform_linux { |
| |
| class PlatformLinux : public PlatformPOSIX |
| { |
| public: |
| |
| static void |
| DebuggerInitialize (Debugger &debugger); |
| |
| static void |
| Initialize (); |
| |
| static void |
| Terminate (); |
| |
| PlatformLinux (bool is_host); |
| |
| virtual |
| ~PlatformLinux(); |
| |
| //------------------------------------------------------------ |
| // lldb_private::PluginInterface functions |
| //------------------------------------------------------------ |
| static lldb::PlatformSP |
| CreateInstance (bool force, const ArchSpec *arch); |
| |
| static ConstString |
| GetPluginNameStatic (bool is_host); |
| |
| static const char * |
| GetPluginDescriptionStatic (bool is_host); |
| |
| ConstString |
| GetPluginName() override; |
| |
| uint32_t |
| GetPluginVersion() override |
| { |
| return 1; |
| } |
| |
| //------------------------------------------------------------ |
| // lldb_private::Platform functions |
| //------------------------------------------------------------ |
| Error |
| ResolveExecutable (const ModuleSpec &module_spec, |
| lldb::ModuleSP &module_sp, |
| const FileSpecList *module_search_paths_ptr) override; |
| |
| const char * |
| GetDescription () override |
| { |
| return GetPluginDescriptionStatic(IsHost()); |
| } |
| |
| void |
| GetStatus (Stream &strm) override; |
| |
| Error |
| GetFileWithUUID (const FileSpec &platform_file, |
| const UUID* uuid, FileSpec &local_file) override; |
| |
| bool |
| GetProcessInfo (lldb::pid_t pid, ProcessInstanceInfo &proc_info) override; |
| |
| uint32_t |
| FindProcesses (const ProcessInstanceInfoMatch &match_info, |
| ProcessInstanceInfoList &process_infos) override; |
| |
| bool |
| GetSupportedArchitectureAtIndex (uint32_t idx, ArchSpec &arch) override; |
| |
| size_t |
| GetSoftwareBreakpointTrapOpcode (Target &target, |
| BreakpointSite *bp_site) override; |
| |
| int32_t |
| GetResumeCountForLaunchInfo (ProcessLaunchInfo &launch_info) override; |
| |
| bool |
| CanDebugProcess () override; |
| |
| lldb::ProcessSP |
| DebugProcess (ProcessLaunchInfo &launch_info, |
| Debugger &debugger, |
| Target *target, |
| Error &error) override; |
| |
| void |
| CalculateTrapHandlerSymbolNames () override; |
| |
| uint64_t |
| ConvertMmapFlagsToPlatform(const ArchSpec &arch, unsigned flags) override; |
| |
| private: |
| DISALLOW_COPY_AND_ASSIGN (PlatformLinux); |
| }; |
| |
| } // namespace platform_linux |
| } // namespace lldb_private |
| |
| #endif // liblldb_PlatformLinux_h_ |