|
libyasm
|
00001 00030 #ifndef YASM_LINEMAP_H 00031 #define YASM_LINEMAP_H 00032 00033 #ifndef YASM_LIB_DECL 00034 #define YASM_LIB_DECL 00035 #endif 00036 00040 YASM_LIB_DECL 00041 yasm_linemap *yasm_linemap_create(void); 00042 00046 YASM_LIB_DECL 00047 void yasm_linemap_destroy(yasm_linemap *linemap); 00048 00053 YASM_LIB_DECL 00054 unsigned long yasm_linemap_get_current(yasm_linemap *linemap); 00055 00065 YASM_LIB_DECL 00066 int yasm_linemap_get_source(yasm_linemap *linemap, unsigned long line, 00067 /*@null@*/ yasm_bytecode **bcp, 00068 const char **sourcep); 00069 00078 YASM_LIB_DECL 00079 void yasm_linemap_add_source(yasm_linemap *linemap, 00080 /*@null@*/ yasm_bytecode *bc, 00081 const char *source); 00082 00087 YASM_LIB_DECL 00088 unsigned long yasm_linemap_goto_next(yasm_linemap *linemap); 00089 00099 YASM_LIB_DECL 00100 void yasm_linemap_set(yasm_linemap *linemap, /*@null@*/ const char *filename, 00101 unsigned long virtual_line, unsigned long file_line, 00102 unsigned long line_inc); 00103 00112 YASM_LIB_DECL 00113 unsigned long yasm_linemap_poke(yasm_linemap *linemap, 00114 /*@null@*/ const char *filename, 00115 unsigned long file_line); 00116 00123 YASM_LIB_DECL 00124 void yasm_linemap_lookup(yasm_linemap *linemap, unsigned long line, 00125 /*@out@*/ const char **filename, 00126 /*@out@*/ unsigned long *file_line); 00127 00136 YASM_LIB_DECL 00137 int yasm_linemap_traverse_filenames 00138 (yasm_linemap *linemap, /*@null@*/ void *d, 00139 int (*func) (const char *filename, void *d)); 00140 00141 #endif
1.7.3