+gboolean process(void *hook_data, void *call_data)
+{
+ LttvTraceHook *trace_hook = (LttvTraceHook *)hook_data;
+ LttField *f = trace_hook->f1;
+
+ LttvTracefileState *s = (LttvTracefileState *)call_data;
+
+ guint sub_id = ltt_event_get_unsigned(s->parent.e, f);
+
+ /* CHECK : do not hardcode the sub_id values here ? */
+ if(sub_id == 2) {
+ return process_fork(trace_hook, s);
+ } else if(sub_id == 3) {
+ return process_exit(trace_hook, s);
+ }
+ return 0;
+}
+
+gint lttv_state_hook_add_event_hooks(void *hook_data, void *call_data)
+{
+ LttvTracesetState *tss = (LttvTracesetState*)(call_data);
+
+ lttv_state_add_event_hooks(tss);
+
+ return 0;
+}