X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Flttv%2Ftracecontext.h;h=8bee889086bd95755a4dbfca47f954e38f920999;hb=a970363f31999693ffbc0d7d6cf8a15d03677d64;hp=a99d3eb650932c0a6a32fcb47affacd6446fbda8;hpb=775c802cdfbe80d65674b78b00f0c8fcfb012dfb;p=lttv.git diff --git a/ltt/branches/poly/lttv/lttv/tracecontext.h b/ltt/branches/poly/lttv/lttv/tracecontext.h index a99d3eb6..8bee8890 100644 --- a/ltt/branches/poly/lttv/lttv/tracecontext.h +++ b/ltt/branches/poly/lttv/lttv/tracecontext.h @@ -19,11 +19,12 @@ #ifndef PROCESSTRACE_H #define PROCESSTRACE_H +#include #include #include #include #include -#include +#include /* This is the generic part of trace processing. All events within a certain time interval are accessed and processing hooks are called for @@ -209,7 +210,7 @@ void lttv_process_traceset_begin(LttvTracesetContext *self, guint lttv_process_traceset_middle(LttvTracesetContext *self, LttTime end, - guint nb_events, + gulong nb_events, const LttvTracesetContextPosition *end_position); void lttv_process_traceset_end(LttvTracesetContext *self, @@ -279,7 +280,7 @@ typedef struct _LttvTraceHook { gpointer hook_data; } LttvTraceHook; -/* Get the head of marker list correcponding to the given trace hook. +/* Get the head of marker list corresponding to the given trace hook. */ struct marker_info *lttv_trace_hook_get_marker(LttTrace *t, LttvTraceHook *th); @@ -298,7 +299,7 @@ void lttv_trace_hook_remove_all(GArray **th); Adds the hooks to the trace_hooks array. */ -int lttv_trace_find_hook(LttTrace *t, GQuark marker_name, +int lttv_trace_find_hook(LttTrace *t, GQuark facility_name, GQuark event_name, GQuark fields[], LttvHook h, gpointer hook_data, GArray **trace_hooks); static inline struct marker_field * @@ -307,6 +308,22 @@ lttv_trace_get_hook_field(LttvTraceHook *hook, unsigned int index) return g_ptr_array_index(hook->fields, index); } +static inline GQuark lttv_merge_facility_event_name(GQuark fac, GQuark ev) +{ + char *tmp; + const char *sfac, *sev; + GQuark ret; + + sfac = g_quark_to_string(fac); + sev = g_quark_to_string(ev); + tmp = g_new(char, strlen(sfac) + strlen(sev) + 3); /* 3: _ \0 \0 */ + strcpy(tmp, sfac); + strcat(tmp, "_"); + strcat(tmp, sev); + ret = g_quark_from_string(tmp); + g_free(tmp); + return ret; +} LttvTracefileContext *lttv_traceset_context_get_current_tfc( LttvTracesetContext *self);