1c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#ifndef MAPINFO_H 2c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define MAPINFO_H 3c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 4c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevtypedef struct mapinfo { 5c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev struct mapinfo *next; 6c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev unsigned start; 7c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev unsigned end; 8c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev char name[]; 9c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev} mapinfo; 10c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 11c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevmapinfo *init_mapinfo(int pid); 12c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevvoid deinit_mapinfo(mapinfo *mi); 13c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevconst char *map_to_name(mapinfo *mi, unsigned pc, const char* def); 14c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevconst mapinfo *pc_to_mapinfo(mapinfo *mi, unsigned pc, unsigned *rel_pc); 15c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev 16c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#endif 17