|
|
1.1 ! root 1: /* -*- Mode: C -*- Begin dump_tree.H */ ! 2: ! 3: #ifndef _DUMP_TREE ! 4: #define _DUMP_TREE ! 5: #ifdef __cplusplus ! 6: ! 7: #include "tree_walk.H" ! 8: #include <iostream.h> ! 9: #include <hash.H> ! 10: ! 11: enum dump_tree_verbosity { ! 12: dt_brief = 1, /* minimal identification */ ! 13: dt_normal = 2, /* all data, outpointers Brief (one level) */ ! 14: dt_recursive_0 = 3, /* minimal, but recurse down. ! 15: (outpointers Recursive_0) */ ! 16: dt_recursive_1 = 4, /* all data, outpointers Recursive_2. */ ! 17: }; ! 18: ! 19: class dcn_arg { ! 20: public: ! 21: int version; ! 22: dump_tree_verbosity verbose; ! 23: tree_fetch_proc fetcher; ! 24: void * fetcher_info; ! 25: ostream* output_stream; ! 26: ostream* error_stream; ! 27: int max_depth; ! 28: Hash * nodes_seen_hash; ! 29: /* end of version 1 */ ! 30: int walk_tables; ! 31: /* end of version 2 */ ! 32: int stop_at_top; ! 33: dcn_arg () { version = 2; ! 34: nodes_seen_hash = 0; ! 35: fetcher = null_tfp; ! 36: output_stream = &cout; ! 37: error_stream = &cerr; ! 38: max_depth = -1; ! 39: walk_tables = 1; ! 40: stop_at_top = 0; ! 41: }; ! 42: }; ! 43: ! 44: ! 45: extern "C" { ! 46: void display_cfront_node (dcn_arg&, Pnode); ! 47: } ! 48: #else ! 49: ! 50: typedef enum dump_tree_verbosity { ! 51: dt_brief = 1, /* minimal identification */ ! 52: dt_normal = 2, /* all data, outpointers Brief (one level) */ ! 53: dt_recursive_0 = 3, /* minimal, but recurse down. ! 54: (outpointers Recursive_0) */ ! 55: dt_recursive_1 = 4, /* all data, outpointers Recursive_2. */ ! 56: } dump_tree_verbosity; ! 57: ! 58: struct dcn_arg { ! 59: int version; /* must be 1 for now. */ ! 60: dump_tree_verbosity verbose; ! 61: int (*fetcher) (); ! 62: void * fetcher_info; ! 63: void * output_stream; /* these are c++ streams */ ! 64: void * error_stream; ! 65: int max_depth; ! 66: void * nodes_seen_hash; ! 67: int walk_tables; ! 68: int stop_at_top; ! 69: }; ! 70: ! 71: void display_cfront_node (); ! 72: #endif ! 73: #endif ! 74: ! 75: /* End dump_tree.H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.