X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Finclude%2Flttv%2Fhook.h;fp=ltt%2Fbranches%2Fpoly%2Finclude%2Flttv%2Fhook.h;h=b5e6ed8d97b42ee19e0574a91995456a76b89ec2;hb=1b82f325932b2d092d1e0ff33f58afd9ede44d72;hp=71a0a1391b871b82ccef259263734b3c4a5a03de;hpb=eebf2d0f80d02ff4958e7b52a90144658c9e2d19;p=lttv.git diff --git a/ltt/branches/poly/include/lttv/hook.h b/ltt/branches/poly/include/lttv/hook.h index 71a0a139..b5e6ed8d 100644 --- a/ltt/branches/poly/include/lttv/hook.h +++ b/ltt/branches/poly/include/lttv/hook.h @@ -7,7 +7,7 @@ call site specific data (e.g., hooks for events are called with a pointer to the current event). */ -typedef void (*lttv_hook)(void *hook_data, void *call_data); +typedef bool (*lttv_hook)(void *hook_data, void *call_data); /* A list of hooks allows registering hooks to be called later. */ @@ -21,7 +21,17 @@ void lttv_hooks_destroy(lttv_hooks *h); void lttv_hooks_add(lttv_hooks *h, lttv_hook f, void *hook_data); -void lttv_hooks_call(lttv_hooks *h, void *call_data); +void lttv_hooks_remove(lttv_hooks *h, lttv_hook f, void *hook_data); + +unsigned lttv_hooks_number(lttv_hooks *h); + +void lttv_hooks_get(lttv_hooks *h, unsigned i, lttv_hook *f, void **hook_data); + +void lttv_hooks_remove_by_position(lttv_hooks *h, unsigned i); + +bool lttv_hooks_call(lttv_hooks *h, void *call_data); + +bool lttv_hooks_call_check(lttv_hooks *h, void *call_data); /* Sometimes different hooks need to be called based on the case. The