Lines Matching full:hook
41 .Nd Helper Hook Framework
57 provides a framework for managing and running arbitrary hook functions at
58 defined hook points within the kernel.
68 Khelp is responsible for registering and deregistering Khelp module hook
75 to instantiate hook points.
79 by defining appropriate hook functions for insertion into hook points.
80 Hook functions must conform to the
90 arguments identify the hook point which has called into the hook function.
91 These are useful when a single hook function is registered for multiple hook
92 points and wants to know which hook point has called into it.
96 defines and subsystems which export hook points are responsible for defining
103 argument will be passed to the hook function if it was specified in the
105 at hook registration time.
109 argument contains context specific data from the hook point call site.
127 Khelp modules instruct the Khelp framework to register their hook functions with
131 per hook point, which contains the following members:
145 .Ss Creating and Managing Hook Points
156 Register each hook point with the
160 Select or create a standardised data type to pass to hook functions as
167 at the point in the subsystem's code where the hook point should be executed.
169 If the subsystem can be dynamically added/removed at runtime, each hook
181 function registers a hook point with the
186 argument defines the high level type for the hook point.
192 argument specifies a unique, subsystem specific identifier for the hook point.
202 macro to instantiate hook points.
208 If the hook point is within a virtualised subsystem (e.g. the network stack),
217 function deregisters a previously registered hook point from the
226 when the hook point was registered.
234 and wants to deregister a hook point using the appropriate
252 point to call all registered hook functions for.
255 argument specifies a pointer to the contextual hook point data to pass into the
256 hook functions.
267 macro is the preferred way to implement hook points.
270 function if at least one hook function is registered for the hook point.
271 By checking for registered hook functions, the macro minimises the cost
272 associated with adding hook points to frequently used code paths by reducing to
273 a simple if test in the common case where no hook functions are registered.
294 protects its internal list of hook functions with a
303 all registered hook functions.
307 It returns EEXIST if a hook point with the same
314 because the implementation does not yet support hook points in non-virtualised