1*1f5207b7SJohn Levon #ifndef DISSECT_H 2*1f5207b7SJohn Levon #define DISSECT_H 3*1f5207b7SJohn Levon 4*1f5207b7SJohn Levon #include <stdio.h> 5*1f5207b7SJohn Levon #include "parse.h" 6*1f5207b7SJohn Levon #include "expression.h" 7*1f5207b7SJohn Levon 8*1f5207b7SJohn Levon #define U_SHIFT 8 9*1f5207b7SJohn Levon 10*1f5207b7SJohn Levon #define U_R_AOF 0x01 11*1f5207b7SJohn Levon #define U_W_AOF 0x02 12*1f5207b7SJohn Levon 13*1f5207b7SJohn Levon #define U_R_VAL 0x04 14*1f5207b7SJohn Levon #define U_W_VAL 0x08 15*1f5207b7SJohn Levon 16*1f5207b7SJohn Levon #define U_R_PTR (U_R_VAL << U_SHIFT) 17*1f5207b7SJohn Levon #define U_W_PTR (U_W_VAL << U_SHIFT) 18*1f5207b7SJohn Levon 19*1f5207b7SJohn Levon struct reporter 20*1f5207b7SJohn Levon { 21*1f5207b7SJohn Levon void (*r_symdef)(struct symbol *); 22*1f5207b7SJohn Levon 23*1f5207b7SJohn Levon void (*r_symbol)(unsigned, struct position *, struct symbol *); 24*1f5207b7SJohn Levon void (*r_member)(unsigned, struct position *, struct symbol *, struct symbol *); 25*1f5207b7SJohn Levon }; 26*1f5207b7SJohn Levon 27*1f5207b7SJohn Levon extern void dissect(struct symbol_list *, struct reporter *); 28*1f5207b7SJohn Levon 29*1f5207b7SJohn Levon #endif 30