aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2012-06-16 16:40:42 +0800
committerHarald Welte <laforge@gnumonks.org>2012-06-16 16:40:42 +0800
commit4fcdd76073edd55fb84e4579777eca006836662c (patch)
tree416603c9dc9356cc43e8f9cfe989585052e501f6
parent605ac5d1e760fad061513e555b005ff5753f3ff1 (diff)
libgb: Use library SS_L_NS instead lf local SS_NS
which removes some further dependencies of libgb to openbsc internal code and data.
-rw-r--r--openbsc/include/osmocom/gprs/gprs_ns.h14
-rw-r--r--openbsc/src/libgb/gprs_bssgp.c1
-rw-r--r--openbsc/src/libgb/gprs_ns.c8
-rw-r--r--openbsc/src/libgb/gprs_ns_vty.c1
4 files changed, 17 insertions, 7 deletions
diff --git a/openbsc/include/osmocom/gprs/gprs_ns.h b/openbsc/include/osmocom/gprs/gprs_ns.h
index cfc2e905..ab4bd4e6 100644
--- a/openbsc/include/osmocom/gprs/gprs_ns.h
+++ b/openbsc/include/osmocom/gprs/gprs_ns.h
@@ -203,7 +203,7 @@ struct gprs_nsvc {
};
/* Create a new NS protocol instance */
-struct gprs_ns_inst *gprs_ns_instantiate(gprs_ns_cb_t *cb);
+struct gprs_ns_inst *gprs_ns_instantiate(gprs_ns_cb_t *cb, void *ctx);
/* Destroy a NS protocol instance */
void gprs_ns_destroy(struct gprs_ns_inst *nsi);
@@ -246,6 +246,18 @@ static inline struct msgb *gprs_ns_msgb_alloc(void)
return msgb_alloc_headroom(NS_ALLOC_SIZE, NS_ALLOC_HEADROOM, "GPRS/NS");
}
+enum signal_ns {
+ S_NS_RESET,
+ S_NS_BLOCK,
+ S_NS_UNBLOCK,
+ S_NS_ALIVE_EXP, /* Tns-alive expired more than N times */
+};
+
+struct ns_signal_data {
+ struct gprs_nsvc *nsvc;
+ uint8_t cause;
+};
+
/*! }@ */
#endif
diff --git a/openbsc/src/libgb/gprs_bssgp.c b/openbsc/src/libgb/gprs_bssgp.c
index 7615299a..33cca3df 100644
--- a/openbsc/src/libgb/gprs_bssgp.c
+++ b/openbsc/src/libgb/gprs_bssgp.c
@@ -33,7 +33,6 @@
#include <osmocom/core/rate_ctr.h>
#include <openbsc/debug.h>
-#include <openbsc/gsm_04_08_gprs.h>
#include <osmocom/gprs/gprs_bssgp.h>
#include <osmocom/gprs/gprs_ns.h>
diff --git a/openbsc/src/libgb/gprs_ns.c b/openbsc/src/libgb/gprs_ns.c
index 8bed1b7b..617c50d6 100644
--- a/openbsc/src/libgb/gprs_ns.c
+++ b/openbsc/src/libgb/gprs_ns.c
@@ -74,12 +74,12 @@
#include <osmocom/core/select.h>
#include <osmocom/core/rate_ctr.h>
#include <osmocom/core/socket.h>
+#include <osmocom/core/signal.h>
#include <osmocom/gprs/gprs_ns.h>
#include <osmocom/gprs/gprs_bssgp.h>
#include <osmocom/gprs/gprs_ns_frgre.h>
#include <openbsc/debug.h>
-#include <openbsc/signal.h>
static const struct tlv_definition ns_att_tlvdef = {
.def = {
@@ -201,7 +201,7 @@ static void ns_osmo_signal_dispatch(struct gprs_nsvc *nsvc, unsigned int signal,
nssd.nsvc = nsvc;
nssd.cause = cause;
- osmo_signal_dispatch(SS_NS, signal, &nssd);
+ osmo_signal_dispatch(SS_L_NS, signal, &nssd);
}
/* Section 10.3.2, Table 13 */
@@ -893,9 +893,9 @@ int gprs_ns_rcvmsg(struct gprs_ns_inst *nsi, struct msgb *msg,
* \param[in] cb Call-back function for incoming BSSGP data
* \returns dynamically allocated gprs_ns_inst
*/
-struct gprs_ns_inst *gprs_ns_instantiate(gprs_ns_cb_t *cb)
+struct gprs_ns_inst *gprs_ns_instantiate(gprs_ns_cb_t *cb, void *ctx)
{
- struct gprs_ns_inst *nsi = talloc_zero(tall_bsc_ctx, struct gprs_ns_inst);
+ struct gprs_ns_inst *nsi = talloc_zero(ctx, struct gprs_ns_inst);
nsi->cb = cb;
INIT_LLIST_HEAD(&nsi->gprs_nsvcs);
diff --git a/openbsc/src/libgb/gprs_ns_vty.c b/openbsc/src/libgb/gprs_ns_vty.c
index f1ab2873..a33e754b 100644
--- a/openbsc/src/libgb/gprs_ns_vty.c
+++ b/openbsc/src/libgb/gprs_ns_vty.c
@@ -42,7 +42,6 @@
#include <openbsc/gsm_data.h>
#include <openbsc/debug.h>
-#include <openbsc/signal.h>
#include <openbsc/vty.h>
static struct gprs_ns_inst *vty_nsi = NULL;