aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include/openbsc/gprs_bssgp.h
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2010-05-11 10:01:17 +0200
committerHarald Welte <laforge@gnumonks.org>2010-05-11 10:03:34 +0200
commit0a4050c63b8ff1b80714aee6d6a133de79366eb9 (patch)
tree91750623cbc24f136b30618938917691393c2e60 /openbsc/include/openbsc/gprs_bssgp.h
parentc1c1dd260a02d7679f0e1aff28f319defed950eb (diff)
[gprs] gb_proxy: Send proper BSSGP STATUS msg in error case
In order to reuse the existing bssgp_tx_* functions without pulling in the dependencies of gprs_bssgp.c, we have to move those functions to gprs_bssgp_util.c Furthermore, we can remove gbprox_nsi and replace it with bssgp_nsi, and we can do proper processing of BVC-RESET messages coming from the SGSN on the signalling BVC. In that case we need to send RESET messages to all the BSS.
Diffstat (limited to 'openbsc/include/openbsc/gprs_bssgp.h')
-rw-r--r--openbsc/include/openbsc/gprs_bssgp.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/openbsc/include/openbsc/gprs_bssgp.h b/openbsc/include/openbsc/gprs_bssgp.h
index c1094b351..d3ccb12ee 100644
--- a/openbsc/include/openbsc/gprs_bssgp.h
+++ b/openbsc/include/openbsc/gprs_bssgp.h
@@ -137,6 +137,18 @@ enum gprs_bssgp_cause {
/* Our implementation */
+/* gprs_bssgp_util.c */
+extern struct gprs_ns_inst *bssgp_nsi;
+struct msgb *bssgp_msgb_alloc(void);
+const char *bssgp_cause_str(enum gprs_bssgp_cause cause);
+/* Transmit a simple response such as BLOCK/UNBLOCK/RESET ACK/NACK */
+int bssgp_tx_simple_bvci(uint8_t pdu_type, uint16_t nsei,
+ uint16_t bvci, uint16_t ns_bvci);
+/* Chapter 10.4.14: Status */
+int bssgp_tx_status(uint8_t cause, uint16_t *bvci, struct msgb *orig_msg);
+
+/* gprs_bssgp.c */
+
#include <osmocore/tlv.h>
extern int gprs_bssgp_rcvmsg(struct msgb *msg);