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 17namespace lldb_private { 18 19class Process; 20 21enum MmapProt { 22 eMmapProtNone = 0, 23 eMmapProtExec = 1, 24 eMmapProtRead = 2, 25 eMmapProtWrite = 4 26}; 27 28enum MmapFlags { 29 eMmapFlagsPrivate = 1, 30 eMmapFlagsAnon = 2 31}; 32 33bool 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 37bool InferiorCallMunmap(Process *proc, lldb::addr_t addr, lldb::addr_t length); 38 39bool InferiorCall(Process *proc, const Address *address, lldb::addr_t &returned_func); 40 41} // namespace lldb_private 42 43#endif // lldb_InferiorCallPOSIX_h_ 44