#ifndef liblldb_PlatformFreeBSD_h_
#define liblldb_PlatformFreeBSD_h_
#include "lldb/Target/Platform.h"
namespace lldb_private {
class PlatformFreeBSD : public Platform
{
public:
static void
Initialize ();
static void
Terminate ();
PlatformFreeBSD ();
virtual
~PlatformFreeBSD();
static Platform *
CreateInstance ();
static const char *
GetPluginNameStatic();
static const char *
GetPluginDescriptionStatic();
virtual const char *
GetPluginName()
{
return GetPluginNameStatic();
}
virtual const char *
GetShortPluginName()
{
return "PlatformFreeBSD";
}
virtual uint32_t
GetPluginVersion()
{
return 1;
}
virtual Error
ResolveExecutable (const FileSpec &exe_file,
const ArchSpec &arch,
lldb::ModuleSP &module_sp);
virtual const char *
GetDescription ()
{
return GetPluginDescriptionStatic();
}
virtual void
GetStatus (Stream &strm);
virtual Error
GetFile (const FileSpec &platform_file,
const UUID* uuid, FileSpec &local_file);
virtual bool
GetProcessInfo (lldb::pid_t pid, ProcessInstanceInfo &proc_info);
virtual bool
GetSupportedArchitectureAtIndex (uint32_t idx, ArchSpec &arch);
virtual size_t
GetSoftwareBreakpointTrapOpcode (Target &target,
BreakpointSite *bp_site);
virtual lldb::ProcessSP
Attach(lldb::pid_t pid, Debugger &debugger, Target *target,
Listener &listener, Error &error);
protected:
private:
DISALLOW_COPY_AND_ASSIGN (PlatformFreeBSD);
};
}
#endif // liblldb_PlatformFreeBSD_h_