int fpm_trace_close(pid_t pid) { fpm_mach_vm_deallocate(); target = 0; return 0; }
int fpm_trace_get_long(long addr, long *data) /* {{{ */ { size_t offset = ((uintptr_t) (addr) % fpm_pagesize); vm_offset_t base = (uintptr_t) (addr) - offset; if (base != target_page_base) { fpm_mach_vm_deallocate(); if (0 > fpm_mach_vm_read_page(base)) { return -1; } } *data = * (long *) (local_page + offset); return 0; }