diff options
Diffstat (limited to 'source/Plugins/Platform/OpenBSD/PlatformOpenBSD.h')
-rw-r--r-- | source/Plugins/Platform/OpenBSD/PlatformOpenBSD.h | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/source/Plugins/Platform/OpenBSD/PlatformOpenBSD.h b/source/Plugins/Platform/OpenBSD/PlatformOpenBSD.h new file mode 100644 index 000000000000..55f6451e236e --- /dev/null +++ b/source/Plugins/Platform/OpenBSD/PlatformOpenBSD.h @@ -0,0 +1,66 @@ +//===-- PlatformOpenBSD.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_PlatformOpenBSD_h_ +#define liblldb_PlatformOpenBSD_h_ + +#include "Plugins/Platform/POSIX/PlatformPOSIX.h" + +namespace lldb_private { +namespace platform_openbsd { + +class PlatformOpenBSD : public PlatformPOSIX { +public: + PlatformOpenBSD(bool is_host); + + ~PlatformOpenBSD() override; + + static void Initialize(); + + static void Terminate(); + + //------------------------------------------------------------ + // 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 + //------------------------------------------------------------ + const char *GetDescription() override { + return GetPluginDescriptionStatic(IsHost()); + } + + void GetStatus(Stream &strm) override; + + bool GetSupportedArchitectureAtIndex(uint32_t idx, ArchSpec &arch) override; + + bool CanDebugProcess() override; + + void CalculateTrapHandlerSymbolNames() override; + + uint64_t ConvertMmapFlagsToPlatform(const ArchSpec &arch, + unsigned flags) override; + +private: + DISALLOW_COPY_AND_ASSIGN(PlatformOpenBSD); +}; + +} // namespace platform_openbsd +} // namespace lldb_private + +#endif // liblldb_PlatformOpenBSD_h_ |