1 #ifndef _PATTERN_DMP_H_
2 #define _PATTERN_DMP_H_
6 typedef struct _pattern_dumper_t pattern_dumper_t;
7 typedef void (*DUMP_NEW_PATTERN_FUNC)(pattern_dumper_t *self, counter_t *cnt);
8 typedef void (*DUMP_FINISH_PATTERN_FUNC)(pattern_dumper_t *self);
9 typedef void (*DUMP_NODE_FUNC)(pattern_dumper_t *self, unsigned id, unsigned op_code, unsigned mode_code);
10 typedef void (*DUMP_REF_FUNC)(pattern_dumper_t *self, unsigned id);
11 typedef void (*DUMP_EDGE_FUNC)(pattern_dumper_t *self, unsigned id, unsigned parent, unsigned position);
12 typedef void (*DUMP_START_CHILDREN_FUNC)(pattern_dumper_t *self, unsigned id);
13 typedef void (*DUMP_FINISH_CHILDREN_FUNC)(pattern_dumper_t *self, unsigned id);
15 struct _pattern_dumper_t {
16 DUMP_NEW_PATTERN_FUNC dump_new_pattern;
17 DUMP_FINISH_PATTERN_FUNC dump_finish_pattern;
18 DUMP_NODE_FUNC dump_node;
19 DUMP_REF_FUNC dump_ref;
20 DUMP_EDGE_FUNC dump_edge;
21 DUMP_START_CHILDREN_FUNC dump_start_children;
22 DUMP_FINISH_CHILDREN_FUNC dump_finish_children;
25 extern pattern_dumper_t vcg_dump, stdout_dump;
28 * starts a new pattern
30 void pattern_dump_new_pattern(pattern_dumper_t *self, counter_t *cnt);
33 * Finishes current pattern
35 void pattern_dump_finish_pattern(pattern_dumper_t *self);
40 void pattern_dump_node(pattern_dumper_t *self, unsigned id, unsigned op_code, unsigned mode_code);
45 void pattern_dump_ref(pattern_dumper_t *self, unsigned id);
50 void pattern_dump_edge(pattern_dumper_t *self, unsigned id, unsigned parent, unsigned position);
53 * Start children dumper
55 void pattern_start_children(pattern_dumper_t *self, unsigned id);
58 * finishes childred dumper
60 void pattern_finish_children(pattern_dumper_t *self, unsigned id);
62 #endif /* _PATTERN_DMP_H_ */