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