diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/Makefile.am | 1 | ||||
| -rw-r--r-- | include/osmocom/core/defs.h | 39 | ||||
| -rw-r--r-- | include/osmocom/gsm/gsm_utils.h | 14 | 
3 files changed, 41 insertions, 13 deletions
| diff --git a/include/Makefile.am b/include/Makefile.am index 3875fecd..b1a818d2 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -11,6 +11,7 @@ nobase_include_HEADERS = \                         osmocom/core/crc64gen.h \                         osmocom/core/crc8gen.h \                         osmocom/core/crcgen.h \ +                       osmocom/core/defs.h \                         osmocom/core/gsmtap.h \                         osmocom/core/gsmtap_util.h \                         osmocom/core/linuxlist.h \ diff --git a/include/osmocom/core/defs.h b/include/osmocom/core/defs.h new file mode 100644 index 00000000..e3afbff2 --- /dev/null +++ b/include/osmocom/core/defs.h @@ -0,0 +1,39 @@ +#ifndef OSMOCORE_DEFS_H +#define OSMOCORE_DEFS_H + +/*! \defgroup utils General-purpose utility functions + *  @{ + */ + +/*! \file defs.h + *  \brief General definitions that are meant to be included from header files. + */ + +/*! \brief Check for gcc and version. + * + * \note Albeit glibc provides a features.h file that contains a similar + *       definition (__GNUC_PREREQ), this definition has been copied from there + *       to have it available with other libraries, too. + * + * \return != 0 iff gcc is used and it's version is at least maj.min. + */ +#if defined __GNUC__ && defined __GNUC_MINOR__ +# define OSMO_GNUC_PREREQ(maj, min) \ +	((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) +#else +# define OSMO_GNUC_PREREQ(maj, min) 0 +#endif + +/*! \brief Set the deprecated attribute with a message. + */ +#if ! defined(__GNUC__) +# define OSMO_DEPRECATED(text) +#elif OSMO_GNUC_PREREQ(4,5) +# define OSMO_DEPRECATED(text)  __attribute__((__deprecated__(text))) +#else +# define OSMO_DEPRECATED(text)  __attribute__((__deprecated__)) +#endif + +/*! @} */ + +#endif diff --git a/include/osmocom/gsm/gsm_utils.h b/include/osmocom/gsm/gsm_utils.h index 1c55dfb0..f412e3e6 100644 --- a/include/osmocom/gsm/gsm_utils.h +++ b/include/osmocom/gsm/gsm_utils.h @@ -28,7 +28,7 @@  #include <stddef.h>  #include <stdint.h> -#include <osmocom/gsm/gsm_utils.h> +#include <osmocom/core/defs.h>  #define ADD_MODULO(sum, delta, modulo) do {	\  	if ((sum += delta) >= modulo)		\ @@ -37,18 +37,6 @@  #define GSM_MAX_FN	(26*51*2048) -/*! \brief Set the deprecated attribute with a message. - * - * \todo Move this to a global header utility file. - * \todo Check for compiler version to selectivly enable the message. - */ -#if 0 -#define OSMO_DEPRECATED(text)  __attribute__((deprecated(text))) -#else -#define OSMO_DEPRECATED(text)  __attribute__((__deprecated__)) -#endif - -  struct gsm_time {  	uint32_t	fn;	/* FN count */  	uint16_t	t1;	/* FN div (26*51) */ | 
