libgb: Use library SS_L_NS instead lf local SS_NS

which removes some further dependencies of libgb to openbsc internal
code and data.
diff --git a/openbsc/include/openbsc/signal.h b/openbsc/include/openbsc/signal.h
index f96c5e3..fa38bbe 100644
--- a/openbsc/include/openbsc/signal.h
+++ b/openbsc/include/openbsc/signal.h
@@ -41,7 +41,6 @@
 	SS_SUBSCR,
 	SS_SCALL,
 	SS_CHALLOC,
-	SS_NS,
 	SS_IPAC_NWL,
 	SS_RF,
 	SS_MSC,
@@ -215,18 +214,6 @@
 	struct gsm_meas_rep *mr;
 };
 
-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;
-};
-
 /* MSC signals */
 enum signal_msc {
 	S_MSC_LOST,
diff --git a/openbsc/include/osmocom/gprs/gprs_ns.h b/openbsc/include/osmocom/gprs/gprs_ns.h
index cfc2e90..ab4bd4e 100644
--- a/openbsc/include/osmocom/gprs/gprs_ns.h
+++ b/openbsc/include/osmocom/gprs/gprs_ns.h
@@ -203,7 +203,7 @@
 };
 
 /* 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 @@
 	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/gprs/gb_proxy.c b/openbsc/src/gprs/gb_proxy.c
index 518382d..87cfa61 100644
--- a/openbsc/src/gprs/gb_proxy.c
+++ b/openbsc/src/gprs/gb_proxy.c
@@ -596,7 +596,7 @@
 	struct gprs_nsvc *nsvc = nssd->nsvc;
 	struct gbprox_peer *peer;
 
-	if (subsys != SS_NS)
+	if (subsys != SS_L_NS)
 		return 0;
 
 	if (signal == S_NS_RESET && nsvc->nsei == gbcfg.nsip_sgsn_nsei) {
diff --git a/openbsc/src/gprs/gb_proxy_main.c b/openbsc/src/gprs/gb_proxy_main.c
index 5791dab..b853fbf 100644
--- a/openbsc/src/gprs/gb_proxy_main.c
+++ b/openbsc/src/gprs/gb_proxy_main.c
@@ -236,7 +236,7 @@
 	}
 	gbcfg.nsi = bssgp_nsi;
 	gprs_ns_vty_init(bssgp_nsi);
-	osmo_signal_register_handler(SS_NS, &gbprox_signal, NULL);
+	osmo_signal_register_handler(SS_L_NS, &gbprox_signal, NULL);
 
 	rc = gbproxy_parse_config(config_file, &gbcfg);
 	if (rc < 0) {
diff --git a/openbsc/src/gprs/sgsn_main.c b/openbsc/src/gprs/sgsn_main.c
index 640388d..9600c23 100644
--- a/openbsc/src/gprs/sgsn_main.c
+++ b/openbsc/src/gprs/sgsn_main.c
@@ -239,7 +239,7 @@
 	gprs_bssgp_vty_init();
 	gprs_llc_vty_init();
 	gprs_sndcp_vty_init();
-	/* FIXME: register signal handler for SS_NS */
+	/* FIXME: register signal handler for SS_L_NS */
 
 	rc = sgsn_parse_config(sgsn_inst.config_file, &sgsn_inst.cfg);
 	if (rc < 0) {
diff --git a/openbsc/src/libgb/gprs_bssgp.c b/openbsc/src/libgb/gprs_bssgp.c
index 7615299..33cca3d 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 8bed1b7..617c50d 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 @@
 	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 @@
  *  \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 f1ab287..a33e754 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;