1 #ifndef _RVMRELOCMAP_H_
2 #define _RVMRELOCMAP_H_
9 #include "rvmcodemap.h"
16 RVM_RELOC_DEFAULT = 0,
30 typedef struct rvm_relocrecord_s {
31 rvm_reloctarget_t target;
38 typedef struct rvm_relocmap_s {
43 rvm_relocmap_t *rvm_relocmap_create();
44 void rvm_relocmap_destroy(rvm_relocmap_t *relocmap);
45 void rvm_relocmap_clear(rvm_relocmap_t *relocmap);
46 rlong rvm_relocmap_add(rvm_relocmap_t *relocmap, rvm_reloctarget_t target, rvm_reloctype_t type, rulong offset, rulong label);
47 rvm_relocrecord_t *rvm_relocmap_get(rvm_relocmap_t *relocmap, rulong index);
48 rulong rvm_relocmap_length(rvm_relocmap_t *relocmap);
49 rint rvm_relocmap_relocate(rvm_relocmap_t *relocmap, rvm_codemap_t *codemap, rvm_asmins_t *code, rvm_codelabel_t **err);