aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2018-06-16 17:07:28 +0200
committerHarald Welte <laforge@gnumonks.org>2018-06-16 20:21:45 +0200
commit32acace8798ae9d496bd83b162abc6757e7e3425 (patch)
treea2373a9fca3a4f8810f797953b5fd88fb56e22ce
parentb85f60477fb6d3e797fde7eae9a3124ecaad174d (diff)
gsup_server: Add "priv" pointer and make it point to 'struct hlr'
-rw-r--r--src/gsup_server.c3
-rw-r--r--src/gsup_server.h6
-rw-r--r--src/hlr.c2
3 files changed, 8 insertions, 3 deletions
diff --git a/src/gsup_server.c b/src/gsup_server.c
index 4b8a0fa..e75bbd7 100644
--- a/src/gsup_server.c
+++ b/src/gsup_server.c
@@ -292,7 +292,7 @@ failed:
struct osmo_gsup_server *
osmo_gsup_server_create(void *ctx, const char *ip_addr, uint16_t tcp_port,
osmo_gsup_read_cb_t read_cb,
- struct llist_head *lu_op_lst)
+ struct llist_head *lu_op_lst, void *priv)
{
struct osmo_gsup_server *gsups;
int rc;
@@ -312,6 +312,7 @@ osmo_gsup_server_create(void *ctx, const char *ip_addr, uint16_t tcp_port,
goto failed;
gsups->read_cb = read_cb;
+ gsups->priv = priv;
rc = ipa_server_link_open(gsups->link);
if (rc < 0)
diff --git a/src/gsup_server.h b/src/gsup_server.h
index e49d283..9c4d483 100644
--- a/src/gsup_server.h
+++ b/src/gsup_server.h
@@ -16,6 +16,9 @@ struct osmo_gsup_conn;
typedef int (*osmo_gsup_read_cb_t)(struct osmo_gsup_conn *conn, struct msgb *msg);
struct osmo_gsup_server {
+ /* private data of the application/user */
+ void *priv;
+
/* list of osmo_gsup_conn */
struct llist_head clients;
@@ -53,7 +56,8 @@ struct osmo_gsup_server *osmo_gsup_server_create(void *ctx,
const char *ip_addr,
uint16_t tcp_port,
osmo_gsup_read_cb_t read_cb,
- struct llist_head *lu_op_lst);
+ struct llist_head *lu_op_lst,
+ void *priv);
void osmo_gsup_server_destroy(struct osmo_gsup_server *gsups);
diff --git a/src/hlr.c b/src/hlr.c
index 940165f..643dfff 100644
--- a/src/hlr.c
+++ b/src/hlr.c
@@ -600,7 +600,7 @@ int main(int argc, char **argv)
}
g_hlr->gs = osmo_gsup_server_create(hlr_ctx, g_hlr->gsup_bind_addr, OSMO_GSUP_PORT,
- read_cb, &g_lu_ops);
+ read_cb, &g_lu_ops, g_hlr);
if (!g_hlr->gs) {
LOGP(DMAIN, LOGL_FATAL, "Error starting GSUP server\n");
exit(1);