libyasm
linemap.h
Go to the documentation of this file.
1 
30 #ifndef YASM_LINEMAP_H
31 #define YASM_LINEMAP_H
32 
33 #ifndef YASM_LIB_DECL
34 #define YASM_LIB_DECL
35 #endif
36 
40 YASM_LIB_DECL
42 
46 YASM_LIB_DECL
47 void yasm_linemap_destroy(yasm_linemap *linemap);
48 
53 YASM_LIB_DECL
54 unsigned long yasm_linemap_get_current(yasm_linemap *linemap);
55 
65 YASM_LIB_DECL
66 int yasm_linemap_get_source(yasm_linemap *linemap, unsigned long line,
67  /*@null@*/ yasm_bytecode **bcp,
68  const char **sourcep);
69 
78 YASM_LIB_DECL
80  /*@null@*/ yasm_bytecode *bc,
81  const char *source);
82 
87 YASM_LIB_DECL
88 unsigned long yasm_linemap_goto_next(yasm_linemap *linemap);
89 
99 YASM_LIB_DECL
100 void yasm_linemap_set(yasm_linemap *linemap, /*@null@*/ const char *filename,
101  unsigned long virtual_line, unsigned long file_line,
102  unsigned long line_inc);
103 
112 YASM_LIB_DECL
113 unsigned long yasm_linemap_poke(yasm_linemap *linemap,
114  /*@null@*/ const char *filename,
115  unsigned long file_line);
116 
123 YASM_LIB_DECL
124 void yasm_linemap_lookup(yasm_linemap *linemap, unsigned long line,
125  /*@out@*/ const char **filename,
126  /*@out@*/ unsigned long *file_line);
127 
136 YASM_LIB_DECL
138  (yasm_linemap *linemap, /*@null@*/ void *d,
139  int (*func) (const char *filename, void *d));
140 
141 #endif