callback_register man page on NetBSD

Man page or keyword search:  
man Server   9087 pages
apropos Keyword Search (all sections)
Output format
NetBSD logo
[printable version]

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 function, 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 fol‐
		   lowing functions in the chain will be called.

     CALLBACK_CHAIN_ABORT
		   Indicates a failure case in the function call.  Any follow‐
		   ing 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 struc‐
	      ture.

     callback_register(ch, ce, obj, fn)
	      Register the callback function in the callback structure speci‐
	      fied by ch.  ce should point to the entry structure of the call‐
	      back 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 func‐
	      tions.

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

SEE ALSO
     intro(9)

BSD			       October 28, 2009				   BSD
[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server NetBSD

List of man pages available for NetBSD

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net