Unix/Linux Go Back    


NetBSD 6.1.5 - man page for callback_head_init (netbsd section 9)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


CALLBACK(9)			  BSD Kernel Developer's Manual 		      CALLBACK(9)

NAME
     callback -- generic callback interface

SYNOPSIS
     #include <sys/callback.h>

     void
     callback_head_init(struct callback_head *ch, int ipl);

     void
     callback_head_destroy(struct callback_head *ch);

     void
     callback_register(struct callback_head *ch, struct callback_entry *ce, void *obj,
	 int (*fn)(struct callback_entry *, void *, void *));

     void
     callback_unregister(struct callback_head *ch, struct callback_entry *ce);

     int
     callback_run_roundrobin(struct callback_head *ch, void *arg);

DESCRIPTION
     The generic callback interface allows lower-level layer code to execute a registered func-
     tion, or set of functions, from the higher-level layer.

     Registered functions must return one of these constants:

     CALLBACK_CHAIN_CONTINUE
		   Indicates that the function call was successful.  The following functions in
		   the chain will be called.

     CALLBACK_CHAIN_ABORT
		   Indicates a failure case in the function call.  Any following functions in the
		   chain will not be executed.

FUNCTIONS
     The callback structure callback_head should be initialized and destroyed using the functions
     described below.  This structure contains the list of callback entries and other internal
     data.

     The callback_entry structure is an entry, normally associated with the higher-level object.
     It contains the internal data of the callback interface.

     callback_head_init(ch, ipl)
	      Initialize the callback structure specified by ch.  The highest IPL at which this
	      callback can be used is specified by ipl.

     callback_head_destroy(ch)
	      Destroy the callback structure specified by ch.  The caller must unregister all
	      functions before destroying the callback structure.

     callback_register(ch, ce, obj, fn)
	      Register the callback function in the callback structure specified by ch.  ce
	      should point to the entry structure of the callback object.  The callback object
	      itself is specified by obj.  The function pointer is specified by fn.

     callback_unregister(ch, ce)
	      Unregister the callback function from the structure specified by ch.  The entry
	      should be passed as ce.  This function may block.

     callback_run_roundrobin(ch, arg)
	      Executes all functions registered in the callback structure, specified by ch.  The
	      functions are executed in round-robin fashion.  The value of arg will be passed to
	      the callback functions.

CODE REFERENCES
     The callback interface is implemented within the file sys/kern/subr_callback.c.

SEE ALSO
     intro(9)

BSD					 October 28, 2009				      BSD
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 02:15 AM.