signal: reserve signal subsystems >= INT_MAX/2 for libraries

The first range (from 0 to INT_MAX/2) of signal subsystems can be
used by client applications while the second range (from INT_MAX)
is reserved for libraries.

This is useful to support signals defined in libraries that
may be used by different client applications.
This commit is contained in:
Pablo Neira Ayuso 2011-07-07 19:46:34 +02:00 committed by Harald Welte
parent ec4f160e2d
commit 39c0243d9b
1 changed files with 23 additions and 0 deletions

View File

@ -1,6 +1,29 @@
#ifndef OSMO_SIGNAL_H
#define OSMO_SIGNAL_H
#include <stdint.h>
/* 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_APPS 0
#define OSMO_SIGNAL_SS_RESERVED 2147483648
/* signal subsystems. */
enum {
SS_GLOBAL = OSMO_SIGNAL_SS_RESERVED,
SS_INPUT,
};
/* application-defined signal types. */
#define OSMO_SIGNAL_T_APPS 0
#define OSMO_SIGNAL_T_RESERVED 2147483648
/* signal types. */
enum {
S_GLOBAL_SHUTDOWN = OSMO_SIGNAL_T_RESERVED,
};
typedef int osmo_signal_cbfn(unsigned int subsys, unsigned int signal, void *handler_data, void *signal_data);