1 /* Copyright (c) 2007-2014. The SimGrid Team.
2 * All rights reserved. */
4 /* This program is free software; you can redistribute it and/or modify it
5 * under the terms of the license (GNU LGPL) which comes with this package. */
7 #ifndef MC_MEMORY_MAP_H
8 #define MC_MEMORY_MAP_H
15 #include <sys/types.h>
17 #include <simgrid_config.h>
18 #include "mc_forward.h"
23 /** An virtual memory map entry from /proc/$pid/maps */
25 std::uint64_t start_addr, end_addr;
26 int prot; /* Memory protection */
27 int flags; /* Additional memory flags */
28 std::uint64_t offset; /* Offset in the file/whatever */
29 char dev_major; /* Major of the device */
30 char dev_minor; /* Minor of the device */
31 unsigned long inode; /* Inode in the device */
32 std::string pathname; /* Path name of the mapped file */
35 std::vector<VmMap> get_memory_map(pid_t pid);
42 XBT_INTERNAL void MC_find_object_address(
43 std::vector<simgrid::mc::VmMap> const& maps, mc_object_info_t result);