aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include/openbsc/sgsn.h
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2010-05-01 16:48:27 +0200
committerHarald Welte <laforge@gnumonks.org>2010-05-04 07:20:43 +0200
commit288be16587e83332e51c8ab1c876c235391c5655 (patch)
tree3eb26d769377da53a50c2a9d871580e73451427e /openbsc/include/openbsc/sgsn.h
parenta67cbd6f061e28ca0e4f6f10cf481b6685d84613 (diff)
[gprs] Build the SGSN stand-alone and not as part of bsc_hack
Instead of continuing to add more and more functionality to the bsc_hack binary, we should have the new SGSN code run as a separate executable. After this commit we now build a 'osmo_sgsn' executable, using its own osmo_sgsn.cfg config file. However, the SGSN is not yet functional, mainly due to the fact that the BSSGP and GMM code are written with the assumption that there is a msgb->trx->bts and the according 'sturct gsm_bts' data model around - which clearly is no longer the case outside of bsc_hack.
Diffstat (limited to 'openbsc/include/openbsc/sgsn.h')
-rw-r--r--openbsc/include/openbsc/sgsn.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/openbsc/include/openbsc/sgsn.h b/openbsc/include/openbsc/sgsn.h
new file mode 100644
index 000000000..2dc53c13d
--- /dev/null
+++ b/openbsc/include/openbsc/sgsn.h
@@ -0,0 +1,30 @@
+#ifndef _SGSN_H
+#define _SGSN_H
+
+#include <sys/types.h>
+
+#include <osmocore/msgb.h>
+
+#include <openbsc/gprs_ns.h>
+
+struct sgsn_config {
+ /* parsed from config file */
+ u_int32_t nsip_listen_ip;
+ u_int16_t nsip_listen_port;
+
+ /* misc */
+ struct gprs_ns_inst *nsi;
+};
+
+
+/* sgsn_vty.c */
+
+int sgsn_vty_init(void);
+int sgsn_parse_config(const char *config_file, struct sgsn_config *cfg);
+
+/* sgsn.c */
+
+/* Main input function for Gb proxy */
+int sgsn_rcvmsg(struct msgb *msg, struct gprs_nsvc *nsvc, uint16_t ns_bvci);
+
+#endif