|
libosmocore 1.11.0.52-28973f
Osmocom core library
|
Generic signalling/notification infrastructure. More...
Files | |
| file | signal.h |
| file | signal.c |
| Generic signalling/notification infrastructure. | |
Data Structures | |
| struct | signal_handler |
Macros | |
| #define | OSMO_SIGNAL_SS_APPS 0 |
| subsystem signaling numbers: we split the numberspace for applications and libraries: from 0 to UINT_MAX/2 for applications, from UINT_MAX/2 to UINT_MAX for libraries. More... | |
| #define | OSMO_SIGNAL_SS_RESERVED 2147483648u |
| #define | OSMO_SIGNAL_T_APPS 0 |
| #define | OSMO_SIGNAL_T_RESERVED 2147483648u |
Typedefs | |
| typedef int | osmo_signal_cbfn(unsigned int subsys, unsigned int signal, void *handler_data, void *signal_data) |
| signal callback function type More... | |
Enumerations | |
| enum | { SS_L_GLOBAL = OSMO_SIGNAL_SS_RESERVED , SS_L_INPUT , SS_L_NS , SS_L_VTY } |
| signal subsystems More... | |
| enum | { S_L_GLOBAL_SHUTDOWN = OSMO_SIGNAL_T_RESERVED } |
| signal types. More... | |
Functions | |
| void * | osmo_signal_talloc_ctx_init (void *root_ctx) |
| Initialize a signal_handler talloc context for osmo_signal_register_handler. More... | |
| int | osmo_signal_register_handler (unsigned int subsys, osmo_signal_cbfn *cbfn, void *data) |
| Register a new signal handler. More... | |
| void | osmo_signal_unregister_handler (unsigned int subsys, osmo_signal_cbfn *cbfn, void *data) |
| Unregister signal handler. More... | |
| void | osmo_signal_dispatch (unsigned int subsys, unsigned int signal, void *signal_data) |
| dispatch (deliver) a new signal to all registered handlers More... | |
| static | LLIST_HEAD (signal_handler_list) |
Variables | |
| void * | tall_sigh_ctx |
Generic signalling/notification infrastructure.
| #define OSMO_SIGNAL_SS_APPS 0 |
subsystem signaling numbers: we split the numberspace for applications and libraries: from 0 to UINT_MAX/2 for applications, from UINT_MAX/2 to UINT_MAX for libraries.
| #define OSMO_SIGNAL_SS_RESERVED 2147483648u |
| #define OSMO_SIGNAL_T_APPS 0 |
| #define OSMO_SIGNAL_T_RESERVED 2147483648u |
| typedef int osmo_signal_cbfn(unsigned int subsys, unsigned int signal, void *handler_data, void *signal_data) |
signal callback function type
|
static |
| void osmo_signal_dispatch | ( | unsigned int | subsys, |
| unsigned int | signal, | ||
| void * | signal_data | ||
| ) |
dispatch (deliver) a new signal to all registered handlers
| [in] | subsys | Subsystem number |
| [in] | signal | Signal number, |
| [in] | signal_data | Data to be passed along to handlers |
References signal_handler::cbfn, signal_handler::data, signal_handler::entry, llist_for_each_entry, subsys, and signal_handler::subsys.
| int osmo_signal_register_handler | ( | unsigned int | subsys, |
| osmo_signal_cbfn * | cbfn, | ||
| void * | data | ||
| ) |
Register a new signal handler.
| [in] | subsys | Subsystem number |
| [in] | cbfn | Callback function |
| [in] | data | Data passed through to callback |
References signal_handler::cbfn, data, signal_handler::data, signal_handler::entry, llist_add_tail(), subsys, signal_handler::subsys, and tall_sigh_ctx.
| void * osmo_signal_talloc_ctx_init | ( | void * | root_ctx | ) |
Initialize a signal_handler talloc context for osmo_signal_register_handler.
Create a talloc context called "osmo_signal".
| [in] | root_ctx | talloc context used as parent for the new "osmo_signal" ctx. |
References tall_sigh_ctx.
| void osmo_signal_unregister_handler | ( | unsigned int | subsys, |
| osmo_signal_cbfn * | cbfn, | ||
| void * | data | ||
| ) |
Unregister signal handler.
| [in] | subsys | Subsystem number |
| [in] | cbfn | Callback function |
| [in] | data | Data passed through to callback |
References signal_handler::cbfn, data, signal_handler::data, signal_handler::entry, llist_del(), llist_for_each_entry, subsys, and signal_handler::subsys.
| void* tall_sigh_ctx |
Referenced by osmo_signal_register_handler(), and osmo_signal_talloc_ctx_init().