-lttvinclude_HEADERS = hook.h module.h traceWindow.h
+lttvinclude_HEADERS = hook.h module.h option.h lttv.h iattribute.h \
+ attribute.h processTrace.h state.h traceset.h traceWindow.h
/* A list of hooks allows registering hooks to be called later. */
-typedef struct _LttvHooks LttvHooks;
+typedef GArray LttvHooks;
/* Create and destroy a list of hooks */
unsigned long *v_ulong;
float *v_float;
double *v_double;
- timespec *v_timespec;
+ LttvTime *v_time;
gpointer *v_pointer;
char **v_string;
- gobject **v_gobject;
+ GObject **v_gobject;
} LttvAttributeValue;
#ifndef LTTV_H
#define LTTV_H
-#include "attribute.h"
+#include <lttv/attribute.h>
/* The modules in the visualizer communicate with the main module and
with each other through attributes. There is a global set of attributes */
-LttvAttributes *lttv_global_attributes();
+LttvAttribute *lttv_global_attributes();
/* A number of global attributes are initialized before modules are
typedef struct _LttvModule LttvModule;
-typedef void (*LttvModuleInit)(int argc, char **argv);
+typedef void (*LttvModuleInit)(LttvModule *self, int argc, char **argv);
typedef void (*LttvModuleDestroy)();
like enumerations. */
-gboolean lttv_state_add_event_hooks(void *hook_data, void *call_data);
+gboolean lttv_state_add_event_hooks(LttvTracesetState *self);
-gboolean lttv_state_remove_event_hooks(void *hook_data, void *call_data);
+gboolean lttv_state_remove_event_hooks(LttvTracesetState *self);
/* The interrupt type is one of "user mode", "kernel thread", "system call",
thread, which are the normal mode (interrupt stack bottom), it is set to
"none". For interrupt requests, faults and system calls, it is set
respectively to the interrupt name (e.g. "timer"), fault name
- (e.g. "page fault"), and system call name (e.g. "select").
+ (e.g. "page fault"), and system call name (e.g. "select"). */
typedef GQuark LttvInterruptNumber;
AM_CFLAGS = $(GLIB_CFLAGS)
LIBS += $(GLIB_LIBS)
-bin_PROGRAMS = tracevisualizer
+bin_PROGRAMS = lttv
#AM_CPPFLAGS = \
# -I$(top_srcdir)/include
#INCLUDES=$(top_srcdir)/include
tracevisualizer_SOURCES = main.c module.c option.c hook.c attribute.c \
- attribute.h lttv.h option.h trace.h
+ iattribute.c processTrace.c state.c traceset.c
+# lttv.h module.h option.h hook.h attribute.h \
+# iattribute.h processTrace.h state.h traceset.h
-#libdir = ${lttvplugindir}
+libdir = ${lttvplugindir}
-#lib_LTLIBRARIES = libtextDump.la
-#libtextDump_la_LDFLAGS = -module
-#libtextDump_la_SOURCES = textDump.c
+lib_LTLIBRARIES = libtextDump.la libbatchAnalysis.la
+libtextDump_la_LDFLAGS = -module
+libtextDump_la_SOURCES = textDump.c
+libbatchAnalysis_la_LDFLAGS = -module
+libbatchAnalysis_la_SOURCES = batchAnalysis.c
#include <lttv/lttv.h>
#include <lttv/attribute.h>
#include <lttv/hook.h>
+#include <lttv/module.h>
#include <lttv/processTrace.h>
#include <lttv/state.h>
}
-void init(int argc, char **argv)
+void init(LttvModule *self, int argc, char **argv)
{
LttvAttribute_value *value;
if(!g_module_symbol(gm, "init", (gpointer)&init_function)) {
g_warning("module %s (%s) has no init function", name, pathname);
}
- else init_Function(argc,argv);
+ else init_Function(m, argc, argv);
}
else {
before each trace, to print each event, and to print statistics
after each trace. */
+#include <lttv/lttv.h>
+#include <lttv/option.h>
+#include <lttv/module.h>
+#include <lttv/hook.h>
+#include <lttv/attribute.h>
+#include <lttv/iattribute.h>
+#include <lttv/state.h>
+
static gboolean
a_field_names,
a_state;
void init(int argc, char **argv)
{
- LttvAttribute_value *value;
+ LttvAttributeValue *value;
- LttvIAttributes *attributes = LTTV_IATTRIBUTES(lttv_global_attributes());
+ LttvIAttribute *attributes = LTTV_IATTRIBUTE(lttv_global_attributes());
a_file_name = NULL;
lttv_option_add("output", 'o',