libgb: move GPRS specific msgb CB definitions to separate header
diff --git a/openbsc/include/osmocom/gprs/gprs_msgb.h b/openbsc/include/osmocom/gprs/gprs_msgb.h
new file mode 100644
index 0000000..eddd888
--- /dev/null
+++ b/openbsc/include/osmocom/gprs/gprs_msgb.h
@@ -0,0 +1,30 @@
+#ifndef _LIBGB_MSGB_H
+#define _LIBGB_MSGB_H
+
+#include <stdint.h>
+/* the data structure stored in msgb->cb for libgb apps */
+struct libgb_msgb_cb {
+	unsigned char *bssgph;
+	unsigned char *llch;
+
+	/* Cell Identifier */
+	unsigned char *bssgp_cell_id;
+
+	/* Identifiers of a BTS, equal to 'struct bssgp_bts_ctx' */
+	uint16_t nsei;
+	uint16_t bvci;
+
+	/* Identifier of a MS (inside BTS), equal to 'struct sgsn_mm_ctx' */
+	uint32_t tlli;
+} __attribute__((packed));
+#define LIBGB_MSGB_CB(__msgb)	((struct libgb_msgb_cb *)&((__msgb)->cb[0]))
+#define msgb_tlli(__x)		LIBGB_MSGB_CB(__x)->tlli
+#define msgb_nsei(__x)		LIBGB_MSGB_CB(__x)->nsei
+#define msgb_bvci(__x)		LIBGB_MSGB_CB(__x)->bvci
+#define msgb_gmmh(__x)		(__x)->l3h
+#define msgb_bssgph(__x)	LIBGB_MSGB_CB(__x)->bssgph
+#define msgb_bssgp_len(__x)	((__x)->tail - (uint8_t *)msgb_bssgph(__x))
+#define msgb_bcid(__x)		LIBGB_MSGB_CB(__x)->bssgp_cell_id
+#define msgb_llch(__x)		LIBGB_MSGB_CB(__x)->llch
+
+#endif