Stackdb
Stackdb is a stackable, multi-target and -level source debugger and memory forensics library.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Functions
memory.c File Reference
#include "common.h"
#include "glib_wrapper.h"
#include "target.h"
#include "binfile.h"
#include <assert.h>
Include dependency graph for memory.c:

Go to the source code of this file.

Functions

struct addrspaceaddrspace_create (struct target *target, char *name, ADDR tag)
 
struct memregionaddrspace_find_region (struct addrspace *space, char *name)
 
int addrspace_attach_region (struct addrspace *space, struct memregion *region)
 
int addrspace_detach_region (struct addrspace *space, struct memregion *region)
 
struct memregionaddrspace_match_region_name (struct addrspace *space, region_type_t rtype, char *name)
 
struct memregionaddrspace_match_region_start (struct addrspace *space, region_type_t rtype, ADDR start)
 
int addrspace_find_range_real (struct addrspace *space, ADDR addr, struct memregion **region_saveptr, struct memrange **range_saveptr)
 
void addrspace_obj_flags_propagate (struct addrspace *space, obj_flags_t orf, obj_flags_t nandf)
 
REFCNT addrspace_free (struct addrspace *space, int force)
 
struct memregionmemregion_create (struct addrspace *space, region_type_t type, char *name)
 
int memregion_attach_range (struct memregion *region, struct memrange *range)
 
int memregion_detach_range (struct memregion *region, struct memrange *range)
 
struct memrangememregion_match_range (struct memregion *region, ADDR start)
 
int memregion_contains_real (struct memregion *region, ADDR addr)
 
struct memrangememregion_find_range_real (struct memregion *region, ADDR real_addr)
 
struct memrangememregion_find_range_obj (struct memregion *region, ADDR obj_addr)
 
ADDR memregion_relocate (struct memregion *region, ADDR obj_addr, struct memrange **range_saveptr)
 
ADDR memregion_unrelocate (struct memregion *region, ADDR real_addr, struct memrange **range_saveptr)
 
void memregion_dump (struct memregion *region, struct dump_info *ud)
 
void memregion_obj_flags_propagate (struct memregion *region, obj_flags_t orf, obj_flags_t nandf)
 
REFCNT memregion_free (struct memregion *region, int force)
 
struct memrangememrange_create (struct memregion *region, ADDR start, ADDR end, OFFSET offset, unsigned int prot_flags)
 
struct memregionmemrange_region (struct memrange *range)
 
struct addrspacememrange_space (struct memrange *range)
 
struct targetmemrange_target (struct memrange *range)
 
int memrange_contains_real (struct memrange *range, ADDR real_addr)
 
int memrange_contains_obj (struct memrange *range, ADDR obj_addr)
 
void memrange_dump (struct memrange *range, struct dump_info *ud)
 
ADDR memrange_unrelocate (struct memrange *range, ADDR real)
 
ADDR memrange_relocate (struct memrange *range, ADDR obj)
 
void memrange_obj_flags_propagate (struct memrange *range, obj_flags_t orf, obj_flags_t nandf)
 
REFCNT memrange_free (struct memrange *range, int force)
 

Function Documentation

int addrspace_attach_region ( struct addrspace space,
struct memregion region 
)

Definition at line 83 of file memory.c.

struct addrspace* addrspace_create ( struct target target,
char *  name,
ADDR  tag 
)

Address spaces.

Definition at line 41 of file memory.c.

int addrspace_detach_region ( struct addrspace space,
struct memregion region 
)

Definition at line 89 of file memory.c.

int addrspace_find_range_real ( struct addrspace space,
ADDR  addr,
struct memregion **  region_saveptr,
struct memrange **  range_saveptr 
)

Definition at line 141 of file memory.c.

struct memregion* addrspace_find_region ( struct addrspace space,
char *  name 
)

Definition at line 69 of file memory.c.

REFCNT addrspace_free ( struct addrspace space,
int  force 
)

Definition at line 175 of file memory.c.

struct memregion* addrspace_match_region_name ( struct addrspace space,
region_type_t  rtype,
char *  name 
)

Definition at line 111 of file memory.c.

struct memregion* addrspace_match_region_start ( struct addrspace space,
region_type_t  rtype,
ADDR  start 
)

Definition at line 126 of file memory.c.

void addrspace_obj_flags_propagate ( struct addrspace space,
obj_flags_t  orf,
obj_flags_t  nandf 
)

Definition at line 162 of file memory.c.

int memrange_contains_obj ( struct memrange range,
ADDR  obj_addr 
)

Definition at line 587 of file memory.c.

int memrange_contains_real ( struct memrange range,
ADDR  real_addr 
)

Definition at line 583 of file memory.c.

struct memrange* memrange_create ( struct memregion region,
ADDR  start,
ADDR  end,
OFFSET  offset,
unsigned int  prot_flags 
)

Definition at line 538 of file memory.c.

void memrange_dump ( struct memrange range,
struct dump_info ud 
)

Definition at line 591 of file memory.c.

REFCNT memrange_free ( struct memrange range,
int  force 
)

Definition at line 612 of file memory.c.

void memrange_obj_flags_propagate ( struct memrange range,
obj_flags_t  orf,
obj_flags_t  nandf 
)

Definition at line 606 of file memory.c.

struct memregion* memrange_region ( struct memrange range)

Definition at line 570 of file memory.c.

ADDR memrange_relocate ( struct memrange range,
ADDR  obj 
)

Definition at line 602 of file memory.c.

struct addrspace* memrange_space ( struct memrange range)

Definition at line 574 of file memory.c.

struct target* memrange_target ( struct memrange range)

Definition at line 578 of file memory.c.

ADDR memrange_unrelocate ( struct memrange range,
ADDR  real 
)

Definition at line 598 of file memory.c.

int memregion_attach_range ( struct memregion region,
struct memrange range 
)

Definition at line 287 of file memory.c.

int memregion_contains_real ( struct memregion region,
ADDR  addr 
)

Definition at line 327 of file memory.c.

struct memregion* memregion_create ( struct addrspace space,
region_type_t  type,
char *  name 
)

Memory region regions and ranges.

Definition at line 242 of file memory.c.

int memregion_detach_range ( struct memregion region,
struct memrange range 
)

Definition at line 293 of file memory.c.

void memregion_dump ( struct memregion region,
struct dump_info ud 
)

Definition at line 428 of file memory.c.

struct memrange* memregion_find_range_obj ( struct memregion region,
ADDR  obj_addr 
)

Definition at line 357 of file memory.c.

struct memrange* memregion_find_range_real ( struct memregion region,
ADDR  real_addr 
)

Definition at line 339 of file memory.c.

REFCNT memregion_free ( struct memregion region,
int  force 
)

Definition at line 445 of file memory.c.

struct memrange* memregion_match_range ( struct memregion region,
ADDR  start 
)

Definition at line 315 of file memory.c.

void memregion_obj_flags_propagate ( struct memregion region,
obj_flags_t  orf,
obj_flags_t  nandf 
)

Definition at line 433 of file memory.c.

ADDR memregion_relocate ( struct memregion region,
ADDR  obj_addr,
struct memrange **  range_saveptr 
)

Definition at line 375 of file memory.c.

ADDR memregion_unrelocate ( struct memregion region,
ADDR  real_addr,
struct memrange **  range_saveptr 
)

Definition at line 402 of file memory.c.