aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2024-03-12 11:59:24 +0100
committerpespin <pespin@sysmocom.de>2024-03-13 11:57:47 +0000
commita5722bb75d40de90c86fc2a50b91a78c12bab33a (patch)
treeb71d7b8c6a9e98686579b382966bfe1faebb8fc8
parent36eb157ed63ae3490ea60b603ebc8992cd8f4d4f (diff)
prim: Introduce osmo_prim_srv{_link}_set_name APIs
This allows a user setting a name on the underlaying stream which in turns allows easily identifying the socket. Change-Id: Iba683e4d65e0aba81e13bdf1b9d5a9065b1fc89c
-rw-r--r--TODO-RELEASE3
-rw-r--r--include/osmocom/netif/prim.h2
-rw-r--r--src/prim.c10
3 files changed, 14 insertions, 1 deletions
diff --git a/TODO-RELEASE b/TODO-RELEASE
index 111f0c5..83bc188 100644
--- a/TODO-RELEASE
+++ b/TODO-RELEASE
@@ -13,4 +13,5 @@ libosmocore >1.9.0 use OSMO_IO_FD_MODE_RECVMSG_SENDMSG
libosmocore >1.9.0 use osmo_iofd_get_ioops()
libosmo-netif added osmo_stream_srv_get_sockname()
libosmo-netif update-dependency libosmocore > 1.9.0 required for I89eb519b22d21011d61a7855b2364bc3c295df82
-libosmo-netif ADD osmo_stream_srv_link_get_name(), osmo_stream_srv_get_name(), osmo_stream_cli_get_name() \ No newline at end of file
+libosmo-netif ADD osmo_stream_srv_link_get_name(), osmo_stream_srv_get_name(), osmo_stream_cli_get_name()
+libosmo-netif ADD osmo_prim_srv_link_set_name(), osmo_prim_srv_set_name() \ No newline at end of file
diff --git a/include/osmocom/netif/prim.h b/include/osmocom/netif/prim.h
index 78406dd..d26e220 100644
--- a/include/osmocom/netif/prim.h
+++ b/include/osmocom/netif/prim.h
@@ -45,6 +45,7 @@ struct osmo_prim_hdr *osmo_prim_msgb_alloc(unsigned int sap, unsigned int primit
struct osmo_prim_srv_link *osmo_prim_srv_link_alloc(void *ctx);
void osmo_prim_srv_link_free(struct osmo_prim_srv_link *prim_link);
+void osmo_prim_srv_link_set_name(struct osmo_prim_srv_link *prim_link, const char *name);
int osmo_prim_srv_link_set_addr(struct osmo_prim_srv_link *prim_link, const char *path);
const char *osmo_prim_srv_link_get_addr(struct osmo_prim_srv_link *prim_link);
void osmo_prim_srv_link_set_priv(struct osmo_prim_srv_link *prim_link, void *priv);
@@ -59,6 +60,7 @@ int osmo_prim_srv_link_open(struct osmo_prim_srv_link *prim_link);
int osmo_prim_srv_send(struct osmo_prim_srv *prim_srv, struct msgb *msg);
struct osmo_prim_srv_link *osmo_prim_srv_get_link(struct osmo_prim_srv *prims_srv);
+void osmo_prim_srv_set_name(struct osmo_prim_srv *prim_srv, const char *name);
void osmo_prim_srv_set_priv(struct osmo_prim_srv *prim_srv, void *priv);
void *osmo_prim_srv_get_priv(const struct osmo_prim_srv *prim_srv);
void osmo_prim_srv_close(struct osmo_prim_srv *prim_srv);
diff --git a/src/prim.c b/src/prim.c
index 5c0233c..eae1064 100644
--- a/src/prim.c
+++ b/src/prim.c
@@ -320,6 +320,11 @@ static void osmo_prim_srv_free(struct osmo_prim_srv *prim_srv)
talloc_free(prim_srv);
}
+void osmo_prim_srv_set_name(struct osmo_prim_srv *prim_srv, const char *name)
+{
+ osmo_stream_srv_set_name(prim_srv->stream, name);
+}
+
struct osmo_prim_srv_link *osmo_prim_srv_get_link(struct osmo_prim_srv *prim_srv)
{
return prim_srv->link;
@@ -395,6 +400,11 @@ void osmo_prim_srv_link_free(struct osmo_prim_srv_link *prim_link)
talloc_free(prim_link);
}
+void osmo_prim_srv_link_set_name(struct osmo_prim_srv_link *prim_link, const char *name)
+{
+ osmo_stream_srv_link_set_name(prim_link->stream, name);
+}
+
int osmo_prim_srv_link_set_addr(struct osmo_prim_srv_link *prim_link, const char *path)
{
osmo_talloc_replace_string(prim_link, &prim_link->addr, path);