Home | History | Annotate | Download | only in Utility
      1 //===-- InferiorCallPOSIX.h -------------------------------------*- C++ -*-===//
      2 //
      3 //                     The LLVM Compiler Infrastructure
      4 //
      5 // This file is distributed under the University of Illinois Open Source
      6 // License. See LICENSE.TXT for details.
      7 //
      8 //===----------------------------------------------------------------------===//
      9 
     10 #ifndef lldb_InferiorCallPOSIX_h_
     11 #define lldb_InferiorCallPOSIX_h_
     12 
     13 // Inferior execution of POSIX functions.
     14 
     15 #include "lldb/lldb-types.h"
     16 
     17 namespace lldb_private {
     18 
     19 class Process;
     20 
     21 enum MmapProt {
     22   eMmapProtNone = 0,
     23   eMmapProtExec = 1,
     24   eMmapProtRead = 2,
     25   eMmapProtWrite = 4
     26 };
     27 
     28 enum MmapFlags {
     29   eMmapFlagsPrivate = 1,
     30   eMmapFlagsAnon = 2
     31 };
     32 
     33 bool InferiorCallMmap(Process *proc, lldb::addr_t &allocated_addr,
     34                       lldb::addr_t addr, lldb::addr_t length, unsigned prot,
     35                       unsigned flags, lldb::addr_t fd, lldb::addr_t offset);
     36 
     37 bool InferiorCallMunmap(Process *proc, lldb::addr_t addr, lldb::addr_t length);
     38 
     39 bool InferiorCall(Process *proc, const Address *address, lldb::addr_t &returned_func);
     40 
     41 }   // namespace lldb_private
     42 
     43 #endif  // lldb_InferiorCallPOSIX_h_
     44