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.
Change-Id: I0df6a00ac1830bd64a10b9336b827e113fa772bb
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 b82fd0d..86813f3 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;