Move NUM_BYTES macro to core library

It's universally useful so it make sense to have it in the shared core:
* move macro from libosmocoding to libosmocore
* add OSMO_ prefix
* add doxygen docs

Change-Id: I5386ba3e1f1cc153ba96c29dc71c9075a052aa02
diff --git a/include/osmocom/coding/gsm0503_coding.h b/include/osmocom/coding/gsm0503_coding.h
index 55375bb..2f0e631 100644
--- a/include/osmocom/coding/gsm0503_coding.h
+++ b/include/osmocom/coding/gsm0503_coding.h
@@ -13,7 +13,6 @@
 
 #define GSM0503_GPRS_BURSTS_NBITS	(116 * 4)
 #define GSM0503_EGPRS_BURSTS_NBITS	(348 * 4)
-#define NUM_BYTES(N) ((N + 8 - 1) / 8)
 
 enum gsm0503_egprs_mcs {
 	EGPRS_MCS0,
diff --git a/include/osmocom/core/utils.h b/include/osmocom/core/utils.h
index 63a73ab..1d1ebd8 100644
--- a/include/osmocom/core/utils.h
+++ b/include/osmocom/core/utils.h
@@ -19,6 +19,8 @@
 #define OSMO_STRINGIFY(x) #x
 /*! \brief Make a value_string entry from an enum value name */
 #define OSMO_VALUE_STRING(x) { x, #x }
+/*! \brief Number of bytes necessary to store given BITS */
+#define OSMO_BYTES_FOR_BITS(BITS) ((BITS + 8 - 1) / 8)
 
 #include <stdint.h>
 #include <stdio.h>
diff --git a/src/coding/gsm0503_coding.c b/src/coding/gsm0503_coding.c
index 7039863..1e70d2e 100644
--- a/src/coding/gsm0503_coding.c
+++ b/src/coding/gsm0503_coding.c
@@ -901,7 +901,7 @@
 		u, 0, data_len, 1);
 
 	/* Return the number of bytes required for the bit message */
-	return NUM_BYTES(code->hdr_len + code->data_len);
+	return OSMO_BYTES_FOR_BITS(code->hdr_len + code->data_len);
 }
 
 /*! \brief Decode EGPRS UL message