-/** Read data from a process memory
- *
- * @param process the process
- * @param local local memory address (destination)
- * @param remote target process memory address (source)
- * @param len data size
- */
-const void* MC_process_read(mc_process_t process,
- adress_space_read_flags_t flags,
- void* local, const void* remote, size_t len,
- int process_index);
-
-// Simplified versions/wrappers (whould be moved in mc_address_space):
-const void* MC_process_read_simple(mc_process_t process,
- void* local, const void* remote, size_t len);
-const void* MC_process_read_dynar_element(mc_process_t process,
- void* local, const void* remote_dynar, size_t i, size_t len);
-unsigned long MC_process_read_dynar_length(mc_process_t process, const void* remote_dynar);
-
-/** Write data to a process memory
- *
- * @param process the process
- * @param local local memory address (source)
- * @param remote target process memory address (target)
- * @param len data size
- */
-void MC_process_write(mc_process_t process, const void* local, void* remote, size_t len);
-
-void MC_process_clear_memory(mc_process_t process, void* remote, size_t len);
-
-/* Functions, variables of the process: */
-
-mc_object_info_t MC_process_find_object_info(mc_process_t process, const void* addr);
-mc_object_info_t MC_process_find_object_info_exec(mc_process_t process, const void* addr);
-mc_object_info_t MC_process_find_object_info_rw(mc_process_t process, const void* addr);
-
-dw_frame_t MC_process_find_function(mc_process_t process, const void* ip);
-
-void MC_process_read_variable(mc_process_t process, const char* name, void* target, size_t size);
-char* MC_process_read_string(mc_process_t, void* address);
-
-static inline xbt_mheap_t MC_process_get_heap(mc_process_t process)
-{
- if (MC_process_is_self(process))
- return std_heap;
- if (!(process->cache_flags & MC_PROCESS_CACHE_FLAG_HEAP))
- MC_process_refresh_heap(process);
- return process->heap;