From a6a20b4ff6e2f921b913295556a1cafed4ce71e8 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sat, 16 Jun 2012 16:40:42 +0800 Subject: [PATCH] libgb: Use library SS_L_NS instead lf local SS_NS which removes some further dependencies of libgb to openbsc internal code and data. --- openbsc/include/openbsc/signal.h | 13 ------------- openbsc/include/osmocom/gprs/gprs_ns.h | 14 +++++++++++++- openbsc/src/gprs/gb_proxy.c | 2 +- openbsc/src/gprs/gb_proxy_main.c | 2 +- openbsc/src/gprs/sgsn_main.c | 2 +- openbsc/src/libgb/gprs_bssgp.c | 1 - openbsc/src/libgb/gprs_ns.c | 8 ++++---- openbsc/src/libgb/gprs_ns_vty.c | 1 - 8 files changed, 20 insertions(+), 23 deletions(-) diff --git a/openbsc/include/openbsc/signal.h b/openbsc/include/openbsc/signal.h index f96c5e3c5..fa38bbe03 100644 --- a/openbsc/include/openbsc/signal.h +++ b/openbsc/include/openbsc/signal.h @@ -41,7 +41,6 @@ enum signal_subsystems { SS_SUBSCR, SS_SCALL, SS_CHALLOC, - SS_NS, SS_IPAC_NWL, SS_RF, SS_MSC, @@ -215,18 +214,6 @@ struct lchan_signal_data { 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 cfc2e9050..ab4bd4e67 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/gprs/gb_proxy.c b/openbsc/src/gprs/gb_proxy.c index 518382d8e..87cfa61df 100644 --- a/openbsc/src/gprs/gb_proxy.c +++ b/openbsc/src/gprs/gb_proxy.c @@ -596,7 +596,7 @@ int gbprox_signal(unsigned int subsys, unsigned int signal, 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 5791dab39..b853fbfa2 100644 --- a/openbsc/src/gprs/gb_proxy_main.c +++ b/openbsc/src/gprs/gb_proxy_main.c @@ -236,7 +236,7 @@ int main(int argc, char **argv) } 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 640388d80..9600c2388 100644 --- a/openbsc/src/gprs/sgsn_main.c +++ b/openbsc/src/gprs/sgsn_main.c @@ -239,7 +239,7 @@ int main(int argc, char **argv) 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 7615299a9..33cca3dfc 100644 --- a/openbsc/src/libgb/gprs_bssgp.c +++ b/openbsc/src/libgb/gprs_bssgp.c @@ -33,7 +33,6 @@ #include #include -#include #include #include diff --git a/openbsc/src/libgb/gprs_ns.c b/openbsc/src/libgb/gprs_ns.c index 8bed1b7bb..617c50d69 100644 --- a/openbsc/src/libgb/gprs_ns.c +++ b/openbsc/src/libgb/gprs_ns.c @@ -74,12 +74,12 @@ #include #include #include +#include #include #include #include #include -#include 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 f1ab28731..a33e754b5 100644 --- a/openbsc/src/libgb/gprs_ns_vty.c +++ b/openbsc/src/libgb/gprs_ns_vty.c @@ -42,7 +42,6 @@ #include #include -#include #include static struct gprs_ns_inst *vty_nsi = NULL;