libosmocore  0.9.6-9.20170220git32ee5af8.fc30
Osmocom core library
signal.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <stdint.h>
4 
13 #define OSMO_SIGNAL_SS_APPS 0
14 #define OSMO_SIGNAL_SS_RESERVED 2147483648u
15 
17 enum {
18  SS_L_GLOBAL = OSMO_SIGNAL_SS_RESERVED,
19  SS_L_INPUT,
20  SS_L_NS,
21  SS_L_VTY,
22 };
23 
24 /* application-defined signal types. */
25 #define OSMO_SIGNAL_T_APPS 0
26 #define OSMO_SIGNAL_T_RESERVED 2147483648u
27 
29 enum {
30  S_L_GLOBAL_SHUTDOWN = OSMO_SIGNAL_T_RESERVED,
31 };
32 
34 typedef int osmo_signal_cbfn(unsigned int subsys, unsigned int signal, void *handler_data, void *signal_data);
35 
36 
37 /* Management */
38 int osmo_signal_register_handler(unsigned int subsys, osmo_signal_cbfn *cbfn, void *data);
39 void osmo_signal_unregister_handler(unsigned int subsys, osmo_signal_cbfn *cbfn, void *data);
40 
41 /* Dispatch */
42 void osmo_signal_dispatch(unsigned int subsys, unsigned int signal, void *signal_data);
43 
void osmo_signal_unregister_handler(unsigned int subsys, osmo_signal_cbfn *cbfn, void *data)
Unregister signal handler.
Definition: signal.c:78
void * data
Definition: select.h:34
int osmo_signal_cbfn(unsigned int subsys, unsigned int signal, void *handler_data, void *signal_data)
Definition: signal.h:34
int osmo_signal_register_handler(unsigned int subsys, osmo_signal_cbfn *cbfn, void *data)
Register a new signal handler.
Definition: signal.c:51
void osmo_signal_dispatch(unsigned int subsys, unsigned int signal, void *signal_data)
dispatch (deliver) a new signal to all registered handlers
Definition: signal.c:98