This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Harald Welte gerrit-no-reply at lists.osmocom.orgHello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/1665
to look at the new patch set (#2).
allow user to give private data to osmo_sua_user_create()
... which can be resolved from the primitive call back prim_cb() by
calling osmo_sccp_link_get_user_priv().
Change-Id: If4c0f96f0621fb2adf4c78dc5994d3398431d92f
---
M include/osmocom/sigtran/sua.h
M src/sua.c
M tests/sigtran/sua_client_test.c
M tests/sigtran/sua_server_test.c
4 files changed, 14 insertions(+), 4 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/65/1665/2
diff --git a/include/osmocom/sigtran/sua.h b/include/osmocom/sigtran/sua.h
index 935a4c0..766b488 100644
--- a/include/osmocom/sigtran/sua.h
+++ b/include/osmocom/sigtran/sua.h
@@ -8,7 +8,8 @@
void osmo_sua_set_log_area(int area);
-struct osmo_sccp_user *osmo_sua_user_create(void *ctx, osmo_prim_cb prim_cb);
+struct osmo_sccp_user *osmo_sua_user_create(void *ctx, osmo_prim_cb prim_cb,
+ void *priv);
void osmo_sua_user_destroy(struct osmo_sccp_user *user);
int osmo_sua_server_listen(struct osmo_sccp_user *user, const char *hostname, uint16_t port);
@@ -19,3 +20,4 @@
/* user hands us a SCCP-USER SAP primitive down into the stack */
int osmo_sua_user_link_down(struct osmo_sccp_link *link, struct osmo_prim_hdr *oph);
+void *osmo_sccp_link_get_user_priv(struct osmo_sccp_link *slink);
diff --git a/src/sua.c b/src/sua.c
index 442b2a0..5af8c18 100644
--- a/src/sua.c
+++ b/src/sua.c
@@ -59,6 +59,7 @@
struct llist_head links;
/* user call-back function in case of incoming primitives */
osmo_prim_cb prim_cb;
+ void *priv;
};
struct osmo_sccp_link {
@@ -1401,11 +1402,13 @@
static LLIST_HEAD(sua_users);
-struct osmo_sccp_user *osmo_sua_user_create(void *ctx, osmo_prim_cb prim_cb)
+struct osmo_sccp_user *osmo_sua_user_create(void *ctx, osmo_prim_cb prim_cb,
+ void *priv)
{
struct osmo_sccp_user *user = talloc_zero(ctx, struct osmo_sccp_user);
user->prim_cb = prim_cb;
+ user->priv = priv;
INIT_LLIST_HEAD(&user->links);
llist_add_tail(&user->list, &sua_users);
@@ -1413,6 +1416,11 @@
return user;
}
+void *osmo_sccp_link_get_user_priv(struct osmo_sccp_link *slink)
+{
+ return slink->user->priv;
+}
+
void osmo_sua_user_destroy(struct osmo_sccp_user *user)
{
struct osmo_sccp_link *link;
diff --git a/tests/sigtran/sua_client_test.c b/tests/sigtran/sua_client_test.c
index 5ea7714..3cbd937 100644
--- a/tests/sigtran/sua_client_test.c
+++ b/tests/sigtran/sua_client_test.c
@@ -36,7 +36,7 @@
osmo_init_logging(&test_log_info);
- g_user = osmo_sua_user_create(ctx, sccp_sap_up);
+ g_user = osmo_sua_user_create(ctx, sccp_sap_up, NULL);
rc = osmo_sua_client_connect(g_user, "127.0.0.1", 2342);
if (rc < 0) {
diff --git a/tests/sigtran/sua_server_test.c b/tests/sigtran/sua_server_test.c
index 0e8d9ca..97b2baf 100644
--- a/tests/sigtran/sua_server_test.c
+++ b/tests/sigtran/sua_server_test.c
@@ -65,7 +65,7 @@
osmo_init_logging(&test_log_info);
- user = osmo_sua_user_create(ctx, sccp_sap_up);
+ user = osmo_sua_user_create(ctx, sccp_sap_up, NULL);
rc = osmo_sua_server_listen(user, "127.0.0.1", 2342);
if (rc < 0) {
--
To view, visit https://gerrit.osmocom.org/1665
To unsubscribe, visit https://gerrit.osmocom.org/settings
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: If4c0f96f0621fb2adf4c78dc5994d3398431d92f
Gerrit-PatchSet: 2
Gerrit-Project: libosmo-sccp
Gerrit-Branch: master
Gerrit-Owner: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Jenkins Builder