Change in libosmocore[master]: gprs_ns2: make struct osmo_sockaddr pointers const

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/.

Vadim Yanitskiy gerrit-no-reply at lists.osmocom.org
Fri Oct 9 14:52:10 UTC 2020


Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/20511 )


Change subject: gprs_ns2: make struct osmo_sockaddr pointers const
......................................................................

gprs_ns2: make struct osmo_sockaddr pointers const

Using the 'const' qualifier allows the compiler to spot some
programming errors and further optimize the code.  Apparently,
the author(s) of the new NS2 library are not aware about that.

Change-Id: I0df6a00ac1830bd64a10b9336b827e113fa772bb
---
M include/osmocom/gprs/gprs_ns2.h
M src/gb/gprs_ns2.c
M src/gb/gprs_ns2_frgre.c
M src/gb/gprs_ns2_internal.h
M src/gb/gprs_ns2_sns.c
M src/gb/gprs_ns2_udp.c
M src/gb/gprs_ns2_vty.c
7 files changed, 26 insertions(+), 22 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/11/20511/1

diff --git a/include/osmocom/gprs/gprs_ns2.h b/include/osmocom/gprs/gprs_ns2.h
index 5cebf27..dc27c96 100644
--- a/include/osmocom/gprs/gprs_ns2.h
+++ b/include/osmocom/gprs/gprs_ns2.h
@@ -107,23 +107,23 @@
 
 /* IP VL driver */
 int gprs_ns2_ip_bind(struct gprs_ns2_inst *nsi,
-		     struct osmo_sockaddr *local,
+		     const struct osmo_sockaddr *local,
 		     int dscp,
 		     struct gprs_ns2_vc_bind **result);
 void gprs_ns2_bind_set_mode(struct gprs_ns2_vc_bind *bind, enum gprs_ns2_vc_mode mode);
 
 /* create a VC connection */
 struct gprs_ns2_vc *gprs_ns2_ip_connect(struct gprs_ns2_vc_bind *bind,
-					struct osmo_sockaddr *remote,
+					const struct osmo_sockaddr *remote,
 					struct gprs_ns2_nse *nse,
 					uint16_t nsvci);
 
 struct gprs_ns2_vc *gprs_ns2_ip_connect2(struct gprs_ns2_vc_bind *bind,
-					 struct osmo_sockaddr *remote,
+					 const struct osmo_sockaddr *remote,
 					 uint16_t nsei,
 					 uint16_t nsvci);
 struct gprs_ns2_vc *gprs_ns2_ip_connect_inactive(struct gprs_ns2_vc_bind *bind,
-					struct osmo_sockaddr *remote,
+					const struct osmo_sockaddr *remote,
 					struct gprs_ns2_nse *nse,
 					uint16_t nsvci);
 
@@ -131,7 +131,7 @@
 
 /* create a VC SNS connection */
 int gprs_ns2_ip_connect_sns(struct gprs_ns2_vc_bind *bind,
-			    struct osmo_sockaddr *remote,
+			    const struct osmo_sockaddr *remote,
 			    uint16_t nsei);
 
 struct osmo_sockaddr *gprs_ns2_ip_vc_sockaddr(struct gprs_ns2_vc *nsvc);
@@ -140,17 +140,17 @@
 int gprs_ns2_ip_bind_set_dscp(struct gprs_ns2_vc_bind *bind, int dscp);
 struct gprs_ns2_vc *gprs_ns2_nsvc_by_sockaddr_bind(
 		struct gprs_ns2_vc_bind *bind,
-		struct osmo_sockaddr *saddr);
+		const struct osmo_sockaddr *saddr);
 
 int gprs_ns2_frgre_bind(struct gprs_ns2_inst *nsi,
-			struct osmo_sockaddr *local,
+			const struct osmo_sockaddr *local,
 			int dscp,
 			struct gprs_ns2_vc_bind **result);
 int gprs_ns2_is_frgre_bind(struct gprs_ns2_vc_bind *bind);
 
 struct gprs_ns2_vc *gprs_ns2_nsvc_by_sockaddr_nse(
 		struct gprs_ns2_nse *nse,
-		struct osmo_sockaddr *sockaddr);
+		const struct osmo_sockaddr *sockaddr);
 void gprs_ns2_start_alive_all_nsvcs(struct gprs_ns2_nse *nse);
 const char *gprs_ns2_cause_str(int cause);
 const char *gprs_ns2_ll_str(struct gprs_ns2_vc *nsvc);
@@ -158,7 +158,8 @@
 char *gprs_ns2_ll_str_c(const void *ctx, struct gprs_ns2_vc *nsvc);
 
 /* vty */
-int gprs_ns2_vty_init(struct gprs_ns2_inst *nsi, struct osmo_sockaddr_str *default_bind);
+int gprs_ns2_vty_init(struct gprs_ns2_inst *nsi,
+		      const struct osmo_sockaddr_str *default_bind);
 int gprs_ns2_vty_create();
 void gprs_ns2_vty_force_vc_mode(bool force, enum gprs_ns2_vc_mode mode, const char *reason);
 
diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c
index aca8994..7acb8e3 100644
--- a/src/gb/gprs_ns2.c
+++ b/src/gb/gprs_ns2.c
@@ -729,7 +729,7 @@
  *  \param[in] nsvci is only required when bind->vc_mode == NS2_VC_MODE_BLOCKRESET
  *  \return pointer to newly-allocated, connected and inactive NS-VC; NULL on error */
 struct gprs_ns2_vc *gprs_ns2_ip_connect_inactive(struct gprs_ns2_vc_bind *bind,
-					struct osmo_sockaddr *remote,
+					const struct osmo_sockaddr *remote,
 					struct gprs_ns2_nse *nse,
 					uint16_t nsvci)
 {
@@ -754,7 +754,7 @@
  *  \param[in] nsvci is only required when bind->vc_mode == NS2_VC_MODE_BLOCKRESET
  *  \return pointer to newly-allocated, connected and activated NS-VC; NULL on error */
 struct gprs_ns2_vc *gprs_ns2_ip_connect(struct gprs_ns2_vc_bind *bind,
-					struct osmo_sockaddr *remote,
+					const struct osmo_sockaddr *remote,
 					struct gprs_ns2_nse *nse,
 					uint16_t nsvci)
 {
@@ -775,7 +775,7 @@
  *  \param[in] nsvci is only required when bind->vc_mode == NS2_VC_MODE_BLOCKRESET
  *  \return pointer to newly-allocated, connected and activated NS-VC; NULL on error */
 struct gprs_ns2_vc *gprs_ns2_ip_connect2(struct gprs_ns2_vc_bind *bind,
-					 struct osmo_sockaddr *remote,
+					 const struct osmo_sockaddr *remote,
 					 uint16_t nsei,
 					 uint16_t nsvci)
 {
@@ -796,7 +796,7 @@
  *  \param[in] nsei NSEI of the NS Entity in which the NS-VC is to be created
  *  \return 0 on success; negative on error */
 int gprs_ns2_ip_connect_sns(struct gprs_ns2_vc_bind *bind,
-			    struct osmo_sockaddr *remote,
+			    const struct osmo_sockaddr *remote,
 			    uint16_t nsei)
 {
 	struct gprs_ns2_nse *nse = gprs_ns2_nse_by_nsei(bind->nsi, nsei);
@@ -826,7 +826,7 @@
  *  \param[in] sockaddr socket address to search for
  *  \return NS-VC matching sockaddr; NULL if none found */
 struct gprs_ns2_vc *gprs_ns2_nsvc_by_sockaddr_nse(struct gprs_ns2_nse *nse,
-					      struct osmo_sockaddr *sockaddr)
+						  const struct osmo_sockaddr *sockaddr)
 {
 	struct gprs_ns2_vc *nsvc;
 	struct osmo_sockaddr *remote;
diff --git a/src/gb/gprs_ns2_frgre.c b/src/gb/gprs_ns2_frgre.c
index e0797b6..cd478d6 100644
--- a/src/gb/gprs_ns2_frgre.c
+++ b/src/gb/gprs_ns2_frgre.c
@@ -538,7 +538,7 @@
  *  \param[out] result pointer to created bind
  *  \return 0 on success; negative on error */
 int gprs_ns2_frgre_bind(struct gprs_ns2_inst *nsi,
-			struct osmo_sockaddr *local,
+			const struct osmo_sockaddr *local,
 			int dscp,
 			struct gprs_ns2_vc_bind **result)
 {
diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h
index f5d9ed5..b480391 100644
--- a/src/gb/gprs_ns2_internal.h
+++ b/src/gb/gprs_ns2_internal.h
@@ -271,14 +271,14 @@
 /* driver */
 struct gprs_ns2_vc *gprs_ns2_ip_bind_connect(struct gprs_ns2_vc_bind *bind,
 					     struct gprs_ns2_nse *nse,
-					     struct osmo_sockaddr *remote);
+					     const struct osmo_sockaddr *remote);
 
 /* sns */
 int gprs_ns2_sns_rx(struct gprs_ns2_vc *nsvc, struct msgb *msg, struct tlv_parsed *tp);
 struct osmo_fsm_inst *ns2_sns_bss_fsm_alloc(struct gprs_ns2_nse *nse,
 					     const char *id);
 int ns2_sns_bss_fsm_start(struct gprs_ns2_nse *nse, struct gprs_ns2_vc *nsvc,
-			  struct osmo_sockaddr *remote);
+			  const struct osmo_sockaddr *remote);
 void ns2_sns_free_nsvc(struct gprs_ns2_vc *nsvc);
 
 /* vc */
diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c
index 9ffb152..ec6f31f 100644
--- a/src/gb/gprs_ns2_sns.c
+++ b/src/gb/gprs_ns2_sns.c
@@ -1230,7 +1230,8 @@
  *  \param[in] nsvc Initial NS-VC
  *  \param[in] remote remote (SGSN) address
  *  \returns 0 on success; negative on error */
-int ns2_sns_bss_fsm_start(struct gprs_ns2_nse *nse, struct gprs_ns2_vc *nsvc, struct osmo_sockaddr *remote)
+int ns2_sns_bss_fsm_start(struct gprs_ns2_nse *nse, struct gprs_ns2_vc *nsvc,
+			  const struct osmo_sockaddr *remote)
 {
 	struct osmo_fsm_inst *fi = nse->bss_sns_fi;
 	struct ns2_sns_state *gss = (struct ns2_sns_state *) nse->bss_sns_fi->priv;
diff --git a/src/gb/gprs_ns2_udp.c b/src/gb/gprs_ns2_udp.c
index 207febf..815e516 100644
--- a/src/gb/gprs_ns2_udp.c
+++ b/src/gb/gprs_ns2_udp.c
@@ -110,7 +110,8 @@
  *  \param[in] bind in which to search
  *  \param[in] saddr remote peer socket adddress to search
  *  \returns NS-VC matching sockaddr; NULL if none found */
-struct gprs_ns2_vc *gprs_ns2_nsvc_by_sockaddr_bind(struct gprs_ns2_vc_bind *bind, struct osmo_sockaddr *saddr)
+struct gprs_ns2_vc *gprs_ns2_nsvc_by_sockaddr_bind(struct gprs_ns2_vc_bind *bind,
+						   const struct osmo_sockaddr *saddr)
 {
 	struct gprs_ns2_vc *nsvc;
 	struct priv_vc *vcpriv;
@@ -271,7 +272,7 @@
  *  \param[out] result if set, returns the bind object
  *  \return 0 on success; negative in case of error */
 int gprs_ns2_ip_bind(struct gprs_ns2_inst *nsi,
-		     struct osmo_sockaddr *local,
+		     const struct osmo_sockaddr *local,
 		     int dscp,
 		     struct gprs_ns2_vc_bind **result)
 {
@@ -339,7 +340,7 @@
  *  \return pointer to newly-allocated and connected NS-VC; NULL on error */
 struct gprs_ns2_vc *gprs_ns2_ip_bind_connect(struct gprs_ns2_vc_bind *bind,
 					     struct gprs_ns2_nse *nse,
-					     struct osmo_sockaddr *remote)
+					     const struct osmo_sockaddr *remote)
 {
 	struct gprs_ns2_vc *nsvc;
 	struct priv_vc *priv;
diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c
index c6c4b02..55e87ae 100644
--- a/src/gb/gprs_ns2_vty.c
+++ b/src/gb/gprs_ns2_vty.c
@@ -707,7 +707,8 @@
  * \param[in] default_bind set the default address to bind to. Can be NULL.
  * \return 0 on success
  */
-int gprs_ns2_vty_init(struct gprs_ns2_inst *nsi, struct osmo_sockaddr_str *default_bind)
+int gprs_ns2_vty_init(struct gprs_ns2_inst *nsi,
+		      const struct osmo_sockaddr_str *default_bind)
 {
 	static bool vty_elements_installed = false;
 

-- 
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/20511
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I0df6a00ac1830bd64a10b9336b827e113fa772bb
Gerrit-Change-Number: 20511
Gerrit-PatchSet: 1
Gerrit-Owner: Vadim Yanitskiy <vyanitskiy at sysmocom.de>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20201009/17df9066/attachment.htm>


More information about the gerrit-log mailing list