From: Pablo Neira Ayuso Date: Thu, 7 Jul 2011 17:46:34 +0000 (+0200) Subject: signal: reserve signal subsystems >= INT_MAX/2 for libraries X-Git-Url: http://git.rot13.org/?p=osmocom-bb.git;a=commitdiff_plain;h=39c0243d9b208a5d480be2e5cf538b3eac87860d 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. --- diff --git a/include/osmocom/core/signal.h b/include/osmocom/core/signal.h index 535fd18..7c32c77 100644 --- a/include/osmocom/core/signal.h +++ b/include/osmocom/core/signal.h @@ -1,6 +1,29 @@ #ifndef OSMO_SIGNAL_H #define OSMO_SIGNAL_H +#include + +/* 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);