diff options
-rw-r--r-- | openbsc/include/osmocom/gprs/Makefile.am | 2 | ||||
-rw-r--r-- | openbsc/include/osmocom/gprs/gprs_bssgp.h | 1 | ||||
-rw-r--r-- | openbsc/include/osmocom/gprs/gprs_msgb.h | 30 | ||||
-rw-r--r-- | openbsc/include/osmocom/gprs/gprs_ns.h | 1 | ||||
-rw-r--r-- | openbsc/src/libgb/gprs_bssgp.c | 3 | ||||
-rw-r--r-- | openbsc/src/libgb/gprs_bssgp_bss.c | 3 | ||||
-rw-r--r-- | openbsc/src/libgb/gprs_bssgp_util.c | 3 | ||||
-rw-r--r-- | openbsc/src/libgb/gprs_ns.c | 2 |
8 files changed, 37 insertions, 8 deletions
diff --git a/openbsc/include/osmocom/gprs/Makefile.am b/openbsc/include/osmocom/gprs/Makefile.am index fe5714ea..66b414f3 100644 --- a/openbsc/include/osmocom/gprs/Makefile.am +++ b/openbsc/include/osmocom/gprs/Makefile.am @@ -1,3 +1,3 @@ -libgb_HEADERS = gprs_bssgp.h gprs_ns.h gprs_ns_frgre.h +libgb_HEADERS = gprs_bssgp.h gprs_ns.h gprs_ns_frgre.h gprs_msgb.h libgbdir = $(includedir)/osmocom/gprs diff --git a/openbsc/include/osmocom/gprs/gprs_bssgp.h b/openbsc/include/osmocom/gprs/gprs_bssgp.h index bfc7d331..9970a513 100644 --- a/openbsc/include/osmocom/gprs/gprs_bssgp.h +++ b/openbsc/include/osmocom/gprs/gprs_bssgp.h @@ -198,6 +198,7 @@ enum bssgp_ctr { #include <osmocom/gsm/tlv.h> +#include <osmocom/gprs/gprs_msgb.h> /* BSSGP-UL-UNITDATA.ind */ int gprs_bssgp_rcvmsg(struct msgb *msg); diff --git a/openbsc/include/osmocom/gprs/gprs_msgb.h b/openbsc/include/osmocom/gprs/gprs_msgb.h new file mode 100644 index 00000000..eddd888f --- /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 diff --git a/openbsc/include/osmocom/gprs/gprs_ns.h b/openbsc/include/osmocom/gprs/gprs_ns.h index 7045d84d..cfc2e905 100644 --- a/openbsc/include/osmocom/gprs/gprs_ns.h +++ b/openbsc/include/osmocom/gprs/gprs_ns.h @@ -88,6 +88,7 @@ enum ns_cause { #include <osmocom/core/msgb.h> #include <osmocom/core/timer.h> #include <osmocom/core/select.h> +#include <osmocom/gprs/gprs_msgb.h> #define NS_TIMERS_COUNT 7 #define NS_TIMERS "(tns-block|tns-block-retries|tns-reset|tns-reset-retries|tns-test|tns-alive|tns-alive-retries)" diff --git a/openbsc/src/libgb/gprs_bssgp.c b/openbsc/src/libgb/gprs_bssgp.c index e93b3de9..7615299a 100644 --- a/openbsc/src/libgb/gprs_bssgp.c +++ b/openbsc/src/libgb/gprs_bssgp.c @@ -1,6 +1,6 @@ /* GPRS BSSGP protocol implementation as per 3GPP TS 08.18 */ -/* (C) 2009-2010 by Harald Welte <laforge@gnumonks.org> +/* (C) 2009-2012 by Harald Welte <laforge@gnumonks.org> * * All Rights Reserved * @@ -33,7 +33,6 @@ #include <osmocom/core/rate_ctr.h> #include <openbsc/debug.h> -#include <openbsc/gsm_data.h> #include <openbsc/gsm_04_08_gprs.h> #include <osmocom/gprs/gprs_bssgp.h> diff --git a/openbsc/src/libgb/gprs_bssgp_bss.c b/openbsc/src/libgb/gprs_bssgp_bss.c index a53423ca..a681b9da 100644 --- a/openbsc/src/libgb/gprs_bssgp_bss.c +++ b/openbsc/src/libgb/gprs_bssgp_bss.c @@ -1,6 +1,6 @@ /* GPRS BSSGP protocol implementation as per 3GPP TS 08.18 */ -/* (C) 2009-2011 by Harald Welte <laforge@gnumonks.org> +/* (C) 2009-2012 by Harald Welte <laforge@gnumonks.org> * * All Rights Reserved * @@ -32,7 +32,6 @@ #include <osmocom/gprs/gprs_ns.h> #include <openbsc/debug.h> -#include <openbsc/gsm_data.h> uint8_t *bssgp_msgb_tlli_put(struct msgb *msg, uint32_t tlli) { diff --git a/openbsc/src/libgb/gprs_bssgp_util.c b/openbsc/src/libgb/gprs_bssgp_util.c index c794a590..6ab97a79 100644 --- a/openbsc/src/libgb/gprs_bssgp_util.c +++ b/openbsc/src/libgb/gprs_bssgp_util.c @@ -1,6 +1,6 @@ /* GPRS BSSGP protocol implementation as per 3GPP TS 08.18 */ -/* (C) 2009-2010 by Harald Welte <laforge@gnumonks.org> +/* (C) 2009-2012 by Harald Welte <laforge@gnumonks.org> * * All Rights Reserved * @@ -31,7 +31,6 @@ #include <osmocom/gprs/gprs_ns.h> #include <openbsc/debug.h> -#include <openbsc/gsm_data.h> struct gprs_ns_inst *bssgp_nsi; diff --git a/openbsc/src/libgb/gprs_ns.c b/openbsc/src/libgb/gprs_ns.c index c1efa431..8bed1b7b 100644 --- a/openbsc/src/libgb/gprs_ns.c +++ b/openbsc/src/libgb/gprs_ns.c @@ -1,7 +1,7 @@ /* GPRS Networks Service (NS) messages on the Gb interface * 3GPP TS 08.16 version 8.0.1 Release 1999 / ETSI TS 101 299 V8.0.1 (2002-05) */ -/* (C) 2009-2010 by Harald Welte <laforge@gnumonks.org> +/* (C) 2009-2012 by Harald Welte <laforge@gnumonks.org> * * All Rights Reserved * |