libosmocore 0.9.6-23.20170220git32ee5af8.fc42
Osmocom core library
Loading...
Searching...
No Matches
Intra-application signals

Files

file  signal.h
 
file  signal.c
 

Data Structures

struct  signal_handler
 

Macros

#define OSMO_SIGNAL_SS_APPS   0
 
#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)
 

Enumerations

enum  { SS_L_GLOBAL = OSMO_SIGNAL_SS_RESERVED , SS_L_INPUT , SS_L_NS , SS_L_VTY }
 signal subsystems
 
enum  { S_L_GLOBAL_SHUTDOWN = OSMO_SIGNAL_T_RESERVED }
 signal types.
 

Functions

int osmo_signal_register_handler (unsigned int subsys, osmo_signal_cbfn *cbfn, void *data)
 Register a new signal handler.
 
void osmo_signal_unregister_handler (unsigned int subsys, osmo_signal_cbfn *cbfn, void *data)
 Unregister signal handler.
 
void osmo_signal_dispatch (unsigned int subsys, unsigned int signal, void *signal_data)
 dispatch (deliver) a new signal to all registered handlers
 
static LLIST_HEAD (signal_handler_list)
 

Variables

void * tall_sigh_ctx
 

Detailed Description

Macro Definition Documentation

◆ OSMO_SIGNAL_SS_APPS

#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.

Typedef Documentation

◆ osmo_signal_cbfn

typedef int osmo_signal_cbfn(unsigned int subsys, unsigned int signal, void *handler_data, void *signal_data)

signal callback function type

Function Documentation

◆ osmo_signal_dispatch()

void osmo_signal_dispatch ( unsigned int subsys,
unsigned int signal,
void * signal_data )

dispatch (deliver) a new signal to all registered handlers

Parameters
[in]subsysSubsystem number
[in]signalSignal number,
[in]signal_dataData to be passed along to handlers

References llist_for_each_entry.

◆ osmo_signal_register_handler()

int osmo_signal_register_handler ( unsigned int subsys,
osmo_signal_cbfn * cbfn,
void * data )

Register a new signal handler.

Parameters
[in]subsysSubsystem number
[in]cbfnCallback function
[in]dataData passed through to callback
Returns
0 on success; negative in case of error

References llist_add_tail().

◆ osmo_signal_unregister_handler()

void osmo_signal_unregister_handler ( unsigned int subsys,
osmo_signal_cbfn * cbfn,
void * data )

Unregister signal handler.

Parameters
[in]subsysSubsystem number
[in]cbfnCallback function
[in]dataData passed through to callback

References llist_del(), and llist_for_each_entry.