1 #ifndef _FUNCTIONAL_H
\r
2 #define _FUNCTIONAL_H
\r
6 typedef struct EVENT_ENTRY
\r
20 char _process_name[NAME_LENGTH];
\r
25 Process_Trace(const char *process_name);
\r
28 const char *get_name();
\r
29 int add_entry(TRACE_EVENT *trace_event_ptr);
\r
30 EVENT_ENTRY *get_head_entry();
\r
33 class functional_trace
\r
36 char trace_file_name[NAME_LENGTH];
\r
37 unsigned long event_num;
\r
40 list<Process_Trace *> _list_process_trace;
\r
41 list<Process_Trace *>::iterator _iter_process_trace;
\r
44 ~functional_trace();
\r
46 void add_event_node(TRACE_EVENT &trace_event);
\r
47 void create_computation_event(const char *process_name, int start_line, int end_line);
\r
48 void create_read_event(const char *process_name, int data_num, const char *channel_name);
\r
49 void create_write_event(const char *process_name, int data_num, const char *channel_name);
\r
50 int write_to_file(const char *trace_file_name);
\r
51 Process_Trace *get_process_trace(const char *process_name);
\r
55 extern functional_trace dol_functional_trace;
\r