Lines Matching refs:hhook_head

61 static MALLOC_DEFINE(M_HHOOK, "hhook", "Helper hooks are linked off hhook_head lists");
63 LIST_HEAD(hhookheadhead, hhook_head);
69 MTX_SYSINIT(hhookheadlistlock, &hhook_head_list_lock, "hhook_head list lock",
76 static void hhook_head_destroy(struct hhook_head *hhh);
77 void khelp_new_hhook_registered(struct hhook_head *hhh, uint32_t flags);
83 #define HHH_LOCK_INIT(hhh) rm_init(&(hhh)->hhh_lock, "hhook_head rm lock")
94 hhook_run_hooks(struct hhook_head *hhh, void *ctx_data, struct osd *hosd)
100 KASSERT(hhh->hhh_refcount > 0, ("hhook_head %p refcount is 0", hhh));
130 hhook_add_hook(struct hhook_head *hhh, struct hookinfo *hki, uint32_t flags)
180 * The logic assembles an array of hhook_head structs that correspond to the
183 * hhook_add_hook() is called and the refcount dropped for each hhook_head
189 struct hhook_head **heads_to_hook, *hhh;
200 heads_to_hook = malloc(n_heads_to_hook * sizeof(struct hhook_head *),
216 * inserted a hhook_head that we need to hook
245 hhook_remove_hook(struct hhook_head *hhh, struct hookinfo *hki)
274 struct hhook_head *hhh;
291 hhook_head_register(int32_t hhook_type, int32_t hhook_id, struct hhook_head **hhh,
294 struct hhook_head *tmphhh;
304 tmphhh = malloc(sizeof(struct hhook_head), M_HHOOK,
341 hhook_head_destroy(struct hhook_head *hhh)
366 hhook_head_deregister(struct hhook_head *hhh)
385 * Remove a helper hook point via a hhook_head lookup.
390 struct hhook_head *hhh;
403 * Lookup and return the hhook_head struct associated with the specified type
404 * and id, or NULL if not found. If found, the hhook_head's refcount is bumped.
406 struct hhook_head *
409 struct hhook_head *hhh;
432 hhook_head_release(struct hhook_head *hhh)
439 * Check the hhook_head private flags and return the appropriate public
445 hhook_head_is_virtualised(struct hhook_head *hhh)
462 struct hhook_head *hhh;
492 struct hhook_head *hhh, *tmphhh;
501 printf("%s: hhook_head type=%d, id=%d cleanup required\n",