1*18a9135dSAdrian McCarthy //===-- ProcessWindows.cpp --------------------------------------*- C++ -*-===//
2*18a9135dSAdrian McCarthy //
3*18a9135dSAdrian McCarthy //                     The LLVM Compiler Infrastructure
4*18a9135dSAdrian McCarthy //
5*18a9135dSAdrian McCarthy // This file is distributed under the University of Illinois Open Source
6*18a9135dSAdrian McCarthy // License. See LICENSE.TXT for details.
7*18a9135dSAdrian McCarthy //
8*18a9135dSAdrian McCarthy //===----------------------------------------------------------------------===//
9*18a9135dSAdrian McCarthy 
10*18a9135dSAdrian McCarthy #include "ProcessWindows.h"
11*18a9135dSAdrian McCarthy 
12*18a9135dSAdrian McCarthy // Other libraries and framework includes
13*18a9135dSAdrian McCarthy #include "lldb/Core/Module.h"
14*18a9135dSAdrian McCarthy #include "lldb/Core/ModuleSpec.h"
15*18a9135dSAdrian McCarthy #include "lldb/Core/PluginManager.h"
16*18a9135dSAdrian McCarthy #include "lldb/Core/Section.h"
17*18a9135dSAdrian McCarthy #include "lldb/Core/State.h"
18*18a9135dSAdrian McCarthy #include "lldb/Target/DynamicLoader.h"
19*18a9135dSAdrian McCarthy #include "lldb/Target/MemoryRegionInfo.h"
20*18a9135dSAdrian McCarthy #include "lldb/Target/Target.h"
21*18a9135dSAdrian McCarthy 
22*18a9135dSAdrian McCarthy using namespace lldb;
23*18a9135dSAdrian McCarthy using namespace lldb_private;
24*18a9135dSAdrian McCarthy 
25*18a9135dSAdrian McCarthy namespace lldb_private
26*18a9135dSAdrian McCarthy {
27*18a9135dSAdrian McCarthy 
28*18a9135dSAdrian McCarthy //------------------------------------------------------------------------------
29*18a9135dSAdrian McCarthy // Constructors and destructors.
30*18a9135dSAdrian McCarthy 
31*18a9135dSAdrian McCarthy ProcessWindows::ProcessWindows(lldb::TargetSP target_sp, Listener &listener)
32*18a9135dSAdrian McCarthy     : lldb_private::Process(target_sp, listener)
33*18a9135dSAdrian McCarthy {
34*18a9135dSAdrian McCarthy }
35*18a9135dSAdrian McCarthy 
36*18a9135dSAdrian McCarthy ProcessWindows::~ProcessWindows()
37*18a9135dSAdrian McCarthy {
38*18a9135dSAdrian McCarthy }
39*18a9135dSAdrian McCarthy 
40*18a9135dSAdrian McCarthy size_t
41*18a9135dSAdrian McCarthy ProcessWindows::GetSTDOUT(char *buf, size_t buf_size, Error &error)
42*18a9135dSAdrian McCarthy {
43*18a9135dSAdrian McCarthy     error.SetErrorString("GetSTDOUT unsupported on Windows");
44*18a9135dSAdrian McCarthy     return 0;
45*18a9135dSAdrian McCarthy }
46*18a9135dSAdrian McCarthy 
47*18a9135dSAdrian McCarthy size_t
48*18a9135dSAdrian McCarthy ProcessWindows::GetSTDERR(char *buf, size_t buf_size, Error &error)
49*18a9135dSAdrian McCarthy {
50*18a9135dSAdrian McCarthy     error.SetErrorString("GetSTDERR unsupported on Windows");
51*18a9135dSAdrian McCarthy     return 0;
52*18a9135dSAdrian McCarthy }
53*18a9135dSAdrian McCarthy 
54*18a9135dSAdrian McCarthy size_t
55*18a9135dSAdrian McCarthy ProcessWindows::PutSTDIN(const char *buf, size_t buf_size, Error &error)
56*18a9135dSAdrian McCarthy {
57*18a9135dSAdrian McCarthy     error.SetErrorString("PutSTDIN unsupported on Windows");
58*18a9135dSAdrian McCarthy     return 0;
59*18a9135dSAdrian McCarthy }
60*18a9135dSAdrian McCarthy 
61*18a9135dSAdrian McCarthy //------------------------------------------------------------------------------
62*18a9135dSAdrian McCarthy // ProcessInterface protocol.
63*18a9135dSAdrian McCarthy 
64*18a9135dSAdrian McCarthy 
65*18a9135dSAdrian McCarthy lldb::addr_t
66*18a9135dSAdrian McCarthy ProcessWindows::GetImageInfoAddress()
67*18a9135dSAdrian McCarthy {
68*18a9135dSAdrian McCarthy     Target &target = GetTarget();
69*18a9135dSAdrian McCarthy     ObjectFile *obj_file = target.GetExecutableModule()->GetObjectFile();
70*18a9135dSAdrian McCarthy     Address addr = obj_file->GetImageInfoAddress(&target);
71*18a9135dSAdrian McCarthy     if (addr.IsValid())
72*18a9135dSAdrian McCarthy         return addr.GetLoadAddress(&target);
73*18a9135dSAdrian McCarthy     else
74*18a9135dSAdrian McCarthy         return LLDB_INVALID_ADDRESS;
75*18a9135dSAdrian McCarthy }
76*18a9135dSAdrian McCarthy 
77*18a9135dSAdrian McCarthy }
78