fixeria has uploaded this change for review.

View Change

layer23/sysinfo: update coding style, make pointers const

Change-Id: Ia518251eae1b45ad573d076d97cba83ed25ea9ea
Depends: libosmocore.git Ide9110b984d3302aec6b439c563eb10e2dcdec9e
---
M src/host/layer23/include/osmocom/bb/common/sysinfo.h
M src/host/layer23/src/common/sysinfo.c
2 files changed, 105 insertions(+), 104 deletions(-)

git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/10/30810/1
diff --git a/src/host/layer23/include/osmocom/bb/common/sysinfo.h b/src/host/layer23/include/osmocom/bb/common/sysinfo.h
index 7fea2da..6a915d0 100644
--- a/src/host/layer23/include/osmocom/bb/common/sysinfo.h
+++ b/src/host/layer23/include/osmocom/bb/common/sysinfo.h
@@ -121,42 +121,42 @@
};

char *gsm_print_arfcn(uint16_t arfcn);
-uint8_t gsm_refer_pcs(uint16_t arfcn, struct gsm48_sysinfo *s);
-int gsm48_sysinfo_dump(struct gsm48_sysinfo *s, uint16_t arfcn,
- void (*print)(void *, const char *, ...), void *priv,
- uint8_t *freq_map);
+uint8_t gsm_refer_pcs(uint16_t arfcn, const struct gsm48_sysinfo *s);
+int gsm48_sysinfo_dump(const struct gsm48_sysinfo *s, uint16_t arfcn,
+ void (*print)(void *, const char *, ...),
+ void *priv, uint8_t *freq_map);
int gsm48_decode_lai(struct gsm48_loc_area_id *lai, uint16_t *mcc,
uint16_t *mnc, uint16_t *lac);
-int gsm48_decode_chan_h0(struct gsm48_chan_desc *cd, uint8_t *tsc,
- uint16_t *arfcn);
-int gsm48_decode_chan_h1(struct gsm48_chan_desc *cd, uint8_t *tsc,
- uint8_t *maio, uint8_t *hsn);
+int gsm48_decode_chan_h0(const struct gsm48_chan_desc *cd,
+ uint8_t *tsc, uint16_t *arfcn);
+int gsm48_decode_chan_h1(const struct gsm48_chan_desc *cd,
+ uint8_t *tsc, uint8_t *maio, uint8_t *hsn);
int gsm48_decode_sysinfo1(struct gsm48_sysinfo *s,
- struct gsm48_system_information_type_1 *si, int len);
+ const struct gsm48_system_information_type_1 *si, int len);
int gsm48_decode_sysinfo2(struct gsm48_sysinfo *s,
- struct gsm48_system_information_type_2 *si, int len);
+ const struct gsm48_system_information_type_2 *si, int len);
int gsm48_decode_sysinfo2bis(struct gsm48_sysinfo *s,
- struct gsm48_system_information_type_2bis *si, int len);
+ const struct gsm48_system_information_type_2bis *si, int len);
int gsm48_decode_sysinfo2ter(struct gsm48_sysinfo *s,
- struct gsm48_system_information_type_2ter *si, int len);
+ const struct gsm48_system_information_type_2ter *si, int len);
int gsm48_decode_sysinfo3(struct gsm48_sysinfo *s,
- struct gsm48_system_information_type_3 *si, int len);
+ const struct gsm48_system_information_type_3 *si, int len);
int gsm48_decode_sysinfo4(struct gsm48_sysinfo *s,
- struct gsm48_system_information_type_4 *si, int len);
+ const struct gsm48_system_information_type_4 *si, int len);
int gsm48_decode_sysinfo5(struct gsm48_sysinfo *s,
- struct gsm48_system_information_type_5 *si, int len);
+ const struct gsm48_system_information_type_5 *si, int len);
int gsm48_decode_sysinfo5bis(struct gsm48_sysinfo *s,
- struct gsm48_system_information_type_5bis *si, int len);
+ const struct gsm48_system_information_type_5bis *si, int len);
int gsm48_decode_sysinfo5ter(struct gsm48_sysinfo *s,
- struct gsm48_system_information_type_5ter *si, int len);
+ const struct gsm48_system_information_type_5ter *si, int len);
int gsm48_decode_sysinfo6(struct gsm48_sysinfo *s,
- struct gsm48_system_information_type_6 *si, int len);
+ const struct gsm48_system_information_type_6 *si, int len);
int gsm48_decode_mobile_alloc(struct gsm_sysinfo_freq *freq,
- uint8_t *ma, uint8_t len, uint16_t *hopping, uint8_t *hopp_len,
- int si4);
-int gsm48_encode_lai_hex(struct gsm48_loc_area_id *lai, uint16_t mcc,
- uint16_t mnc, uint16_t lac);
-int gsm48_decode_lai_hex(struct gsm48_loc_area_id *lai, uint16_t *mcc,
- uint16_t *mnc, uint16_t *lac);
+ const uint8_t *ma, uint8_t len,
+ uint16_t *hopping, uint8_t *hopp_len, int si4);
+int gsm48_encode_lai_hex(struct gsm48_loc_area_id *lai,
+ uint16_t mcc, uint16_t mnc, uint16_t lac);
+int gsm48_decode_lai_hex(const struct gsm48_loc_area_id *lai,
+ uint16_t *mcc, uint16_t *mnc, uint16_t *lac);

#endif /* _SYSINFO_H */
diff --git a/src/host/layer23/src/common/sysinfo.c b/src/host/layer23/src/common/sysinfo.c
index 7105e09..a912e9c 100644
--- a/src/host/layer23/src/common/sysinfo.c
+++ b/src/host/layer23/src/common/sysinfo.c
@@ -47,7 +47,7 @@
}

/* check if the cell 'talks' about DCS (0) or PCS (1) */
-uint8_t gsm_refer_pcs(uint16_t arfcn, struct gsm48_sysinfo *s)
+uint8_t gsm_refer_pcs(uint16_t arfcn, const struct gsm48_sysinfo *s)
{
/* If ARFCN is PCS band, the cell refers to PCS */
if ((arfcn & ARFCN_PCS))
@@ -62,8 +62,9 @@
return s->band_ind;
}

-int gsm48_sysinfo_dump(struct gsm48_sysinfo *s, uint16_t arfcn,
- void (*print)(void *, const char *, ...), void *priv, uint8_t *freq_map)
+int gsm48_sysinfo_dump(const struct gsm48_sysinfo *s, uint16_t arfcn,
+ void (*print)(void *, const char *, ...),
+ void *priv, uint8_t *freq_map)
{
char buffer[81];
int i, j, k, index;
@@ -301,8 +302,8 @@
* decoding
*/

-int gsm48_decode_chan_h0(struct gsm48_chan_desc *cd, uint8_t *tsc,
- uint16_t *arfcn)
+int gsm48_decode_chan_h0(const struct gsm48_chan_desc *cd,
+ uint8_t *tsc, uint16_t *arfcn)
{
*tsc = cd->h0.tsc;
*arfcn = cd->h0.arfcn_low | (cd->h0.arfcn_high << 8);
@@ -310,8 +311,8 @@
return 0;
}

-int gsm48_decode_chan_h1(struct gsm48_chan_desc *cd, uint8_t *tsc,
- uint8_t *maio, uint8_t *hsn)
+int gsm48_decode_chan_h1(const struct gsm48_chan_desc *cd,
+ uint8_t *tsc, uint8_t *maio, uint8_t *hsn)
{
*tsc = cd->h1.tsc;
*maio = cd->h1.maio_low | (cd->h1.maio_high << 2);
@@ -321,8 +322,9 @@
}

/* decode "Cell Channel Description" (10.5.2.1b) and other frequency lists */
-static int decode_freq_list(struct gsm_sysinfo_freq *f, uint8_t *cd,
- uint8_t len, uint8_t mask, uint8_t frqt)
+static int decode_freq_list(struct gsm_sysinfo_freq *f,
+ const uint8_t *cd, uint8_t len,
+ uint8_t mask, uint8_t frqt)
{
#if 0
/* only Bit map 0 format for P-GSM */
@@ -336,7 +338,7 @@

/* decode "Cell Selection Parameters" (10.5.2.4) */
static int gsm48_decode_cell_sel_param(struct gsm48_sysinfo *s,
- struct gsm48_cell_sel_par *cs)
+ const struct gsm48_cell_sel_par *cs)
{
s->ms_txpwr_max_cch = cs->ms_txpwr_max_ccch;
s->cell_resel_hyst_db = cs->cell_resel_hyst * 2;
@@ -349,7 +351,7 @@

/* decode "Cell Options (BCCH)" (10.5.2.3) */
static int gsm48_decode_cellopt_bcch(struct gsm48_sysinfo *s,
- struct gsm48_cell_options *co)
+ const struct gsm48_cell_options *co)
{
s->bcch_radio_link_timeout = (co->radio_link_timeout + 1) * 4;
s->bcch_dtx = co->dtx;
@@ -360,7 +362,7 @@

/* decode "Cell Options (SACCH)" (10.5.2.3a) */
static int gsm48_decode_cellopt_sacch(struct gsm48_sysinfo *s,
- struct gsm48_cell_options *co)
+ const struct gsm48_cell_options *co)
{
s->sacch_radio_link_timeout = (co->radio_link_timeout + 1) * 4;
s->sacch_dtx = co->dtx;
@@ -371,7 +373,7 @@

/* decode "Control Channel Description" (10.5.2.11) */
static int gsm48_decode_ccd(struct gsm48_sysinfo *s,
- struct gsm48_control_channel_descr *cc)
+ const struct gsm48_control_channel_descr *cc)
{
s->ccch_conf = cc->ccch_conf;
s->bs_ag_blks_res = cc->bs_ag_blks_res;
@@ -384,7 +386,8 @@

/* decode "Mobile Allocation" (10.5.2.21) */
int gsm48_decode_mobile_alloc(struct gsm_sysinfo_freq *freq,
- uint8_t *ma, uint8_t len, uint16_t *hopping, uint8_t *hopp_len, int si4)
+ const uint8_t *ma, uint8_t len,
+ uint16_t *hopping, uint8_t *hopp_len, int si4)
{
int i, j = 0;
uint16_t f[len << 3];
@@ -437,16 +440,16 @@
}

/* Rach Control decode tables */
-static uint8_t gsm48_max_retrans[4] = {
+static const uint8_t gsm48_max_retrans[4] = {
1, 2, 4, 7
};
-static uint8_t gsm48_tx_integer[16] = {
+static const uint8_t gsm48_tx_integer[16] = {
3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16, 20, 25, 32, 50
};

/* decode "RACH Control Parameter" (10.5.2.29) */
static int gsm48_decode_rach_ctl_param(struct gsm48_sysinfo *s,
- struct gsm48_rach_control *rc)
+ const struct gsm48_rach_control *rc)
{
s->reest_denied = rc->re;
s->cell_barr = rc->cell_bar;
@@ -457,7 +460,7 @@
return 0;
}
static int gsm48_decode_rach_ctl_neigh(struct gsm48_sysinfo *s,
- struct gsm48_rach_control *rc)
+ const struct gsm48_rach_control *rc)
{
s->nb_reest_denied = rc->re;
s->nb_cell_barr = rc->cell_bar;
@@ -469,14 +472,13 @@
}

/* decode "SI 1 Rest Octets" (10.5.2.32) */
-static int gsm48_decode_si1_rest(struct gsm48_sysinfo *s, uint8_t *si,
- uint8_t len)
+static int gsm48_decode_si1_rest(struct gsm48_sysinfo *s,
+ const uint8_t *si, uint8_t len)
{
- struct bitvec bv;
-
- memset(&bv, 0, sizeof(bv));
- bv.data_len = len;
- bv.data = si;
+ struct bitvec bv = {
+ .data_len = len,
+ .data = (uint8_t *)si,
+ };

/* Optional Selection Parameters */
if (bitvec_get_bit_high(&bv) == H) {
@@ -493,14 +495,13 @@
}

/* decode "SI 3 Rest Octets" (10.5.2.34) */
-static int gsm48_decode_si3_rest(struct gsm48_sysinfo *s, uint8_t *si,
- uint8_t len)
+static int gsm48_decode_si3_rest(struct gsm48_sysinfo *s,
+ const uint8_t *si, uint8_t len)
{
- struct bitvec bv;
-
- memset(&bv, 0, sizeof(bv));
- bv.data_len = len;
- bv.data = si;
+ struct bitvec bv = {
+ .data_len = len,
+ .data = (uint8_t *)si,
+ };

/* Optional Selection Parameters */
if (bitvec_get_bit_high(&bv) == H) {
@@ -545,14 +546,13 @@
}

/* decode "SI 4 Rest Octets" (10.5.2.35) */
-static int gsm48_decode_si4_rest(struct gsm48_sysinfo *s, uint8_t *si,
- uint8_t len)
+static int gsm48_decode_si4_rest(struct gsm48_sysinfo *s,
+ const uint8_t *si, uint8_t len)
{
- struct bitvec bv;
-
- memset(&bv, 0, sizeof(bv));
- bv.data_len = len;
- bv.data = si;
+ struct bitvec bv = {
+ .data_len = len,
+ .data = (uint8_t *)si,
+ };

/* Optional Selection Parameters */
if (bitvec_get_bit_high(&bv) == H) {
@@ -581,15 +581,15 @@
return 0;
}

-/* decode "SI 6 Rest Octets" (10.5.2.35a) */
-static int gsm48_decode_si6_rest(struct gsm48_sysinfo *s, uint8_t *si,
- uint8_t len)
+/* TODO: decode "SI 6 Rest Octets" (10.5.2.35a) */
+static int gsm48_decode_si6_rest(struct gsm48_sysinfo *s,
+ const uint8_t *si, uint8_t len)
{
return 0;
}

int gsm48_decode_sysinfo1(struct gsm48_sysinfo *s,
- struct gsm48_system_information_type_1 *si, int len)
+ const struct gsm48_system_information_type_1 *si, int len)
{
int payload_len = len - sizeof(*si);

@@ -597,7 +597,8 @@

/* Cell Channel Description */
decode_freq_list(s->freq, si->cell_channel_description,
- sizeof(si->cell_channel_description), 0xce, FREQ_TYPE_SERV);
+ sizeof(si->cell_channel_description),
+ 0xce, FREQ_TYPE_SERV);
/* RACH Control Parameter */
gsm48_decode_rach_ctl_param(s, &si->rach_control);
/* SI 1 Rest Octets */
@@ -607,18 +608,17 @@
s->si1 = 1;

if (s->si4) {
- LOGP(DRR, LOGL_NOTICE, "Now updating previously received "
- "SYSTEM INFORMATION 4\n");
- gsm48_decode_sysinfo4(s,
- (struct gsm48_system_information_type_4 *) s->si4_msg,
- sizeof(s->si4_msg));
+ const struct gsm48_system_information_type_4 *si4 = (void *)s->si4_msg;
+ LOGP(DRR, LOGL_NOTICE,
+ "Now updating previously received SYSTEM INFORMATION 4\n");
+ gsm48_decode_sysinfo4(s, si4, sizeof(s->si4_msg));
}

return 0;
}

int gsm48_decode_sysinfo2(struct gsm48_sysinfo *s,
- struct gsm48_system_information_type_2 *si, int len)
+ const struct gsm48_system_information_type_2 *si, int len)
{
memcpy(s->si2_msg, si, OSMO_MIN(len, sizeof(s->si2_msg)));

@@ -626,7 +626,8 @@
s->nb_ext_ind_si2 = (si->bcch_frequency_list[0] >> 6) & 1;
s->nb_ba_ind_si2 = (si->bcch_frequency_list[0] >> 5) & 1;
decode_freq_list(s->freq, si->bcch_frequency_list,
- sizeof(si->bcch_frequency_list), 0xce, FREQ_TYPE_NCELL_2);
+ sizeof(si->bcch_frequency_list),
+ 0xce, FREQ_TYPE_NCELL_2);
/* NCC Permitted */
s->nb_ncc_permitted_si2 = si->ncc_permitted;
/* RACH Control Parameter */
@@ -638,7 +639,7 @@
}

int gsm48_decode_sysinfo2bis(struct gsm48_sysinfo *s,
- struct gsm48_system_information_type_2bis *si, int len)
+ const struct gsm48_system_information_type_2bis *si, int len)
{
memcpy(s->si2b_msg, si, OSMO_MIN(len, sizeof(s->si2b_msg)));

@@ -656,7 +657,7 @@
}

int gsm48_decode_sysinfo2ter(struct gsm48_sysinfo *s,
- struct gsm48_system_information_type_2ter *si, int len)
+ const struct gsm48_system_information_type_2ter *si, int len)
{
memcpy(s->si2t_msg, si, OSMO_MIN(len, sizeof(s->si2t_msg)));

@@ -673,7 +674,7 @@
}

int gsm48_decode_sysinfo3(struct gsm48_sysinfo *s,
- struct gsm48_system_information_type_3 *si, int len)
+ const struct gsm48_system_information_type_3 *si, int len)
{
int payload_len = len - sizeof(*si);

@@ -695,9 +696,9 @@
if (payload_len >= 4)
gsm48_decode_si3_rest(s, si->rest_octets, payload_len);

- LOGP(DRR, LOGL_INFO, "New SYSTEM INFORMATION 3 (mcc %s mnc %s "
- "lac 0x%04x)\n", gsm_print_mcc(s->mcc),
- gsm_print_mnc(s->mnc), s->lac);
+ LOGP(DRR, LOGL_INFO,
+ "New SYSTEM INFORMATION 3 (mcc %s mnc %s lac 0x%04x)\n",
+ gsm_print_mcc(s->mcc), gsm_print_mnc(s->mnc), s->lac);

s->si3 = 1;

@@ -705,12 +706,12 @@
}

int gsm48_decode_sysinfo4(struct gsm48_sysinfo *s,
- struct gsm48_system_information_type_4 *si, int len)
+ const struct gsm48_system_information_type_4 *si, int len)
{
int payload_len = len - sizeof(*si);

- uint8_t *data = si->data;
- struct gsm48_chan_desc *cd;
+ const uint8_t *data = si->data;
+ const struct gsm48_chan_desc *cd;

memcpy(s->si4_msg, si, OSMO_MIN(len, sizeof(s->si4_msg)));

@@ -728,15 +729,13 @@
LOGP(DRR, LOGL_NOTICE, "Short read!\n");
return -EIO;
}
- cd = (struct gsm48_chan_desc *) (data + 1);
+ cd = (const struct gsm48_chan_desc *)(data + 1);
s->chan_nr = cd->chan_nr;
- if (cd->h0.h) {
- s->h = 1;
+ s->h = cd->h0.h;
+ if (s->h)
gsm48_decode_chan_h1(cd, &s->tsc, &s->maio, &s->hsn);
- } else {
- s->h = 0;
+ else
gsm48_decode_chan_h0(cd, &s->tsc, &s->arfcn);
- }
payload_len -= 4;
data += 4;
}
@@ -746,11 +745,10 @@
goto short_read;
if (!s->si1) {
LOGP(DRR, LOGL_NOTICE, "Ignoring CBCH allocation of "
- "SYSTEM INFORMATION 4 until SI 1 is "
- "received.\n");
+ "SYSTEM INFORMATION 4 until SI 1 is received.\n");
} else {
gsm48_decode_mobile_alloc(s->freq, data + 2, data[1],
- s->hopping, &s->hopp_len, 1);
+ s->hopping, &s->hopp_len, 1);
}
payload_len -= 2 + data[1];
data += 2 + data[1];
@@ -765,7 +763,7 @@
}

int gsm48_decode_sysinfo5(struct gsm48_sysinfo *s,
- struct gsm48_system_information_type_5 *si, int len)
+ const struct gsm48_system_information_type_5 *si, int len)
{
memcpy(s->si5_msg, si, OSMO_MIN(len, sizeof(s->si5_msg)));

@@ -773,7 +771,8 @@
s->nb_ext_ind_si5 = (si->bcch_frequency_list[0] >> 6) & 1;
s->nb_ba_ind_si5 = (si->bcch_frequency_list[0] >> 5) & 1;
decode_freq_list(s->freq, si->bcch_frequency_list,
- sizeof(si->bcch_frequency_list), 0xce, FREQ_TYPE_REP_5);
+ sizeof(si->bcch_frequency_list),
+ 0xce, FREQ_TYPE_REP_5);

s->si5 = 1;

@@ -781,7 +780,7 @@
}

int gsm48_decode_sysinfo5bis(struct gsm48_sysinfo *s,
- struct gsm48_system_information_type_5bis *si, int len)
+ const struct gsm48_system_information_type_5bis *si, int len)
{
memcpy(s->si5b_msg, si, OSMO_MIN(len, sizeof(s->si5b_msg)));

@@ -789,7 +788,8 @@
s->nb_ext_ind_si5bis = (si->bcch_frequency_list[0] >> 6) & 1;
s->nb_ba_ind_si5bis = (si->bcch_frequency_list[0] >> 5) & 1;
decode_freq_list(s->freq, si->bcch_frequency_list,
- sizeof(si->bcch_frequency_list), 0xce, FREQ_TYPE_REP_5bis);
+ sizeof(si->bcch_frequency_list),
+ 0xce, FREQ_TYPE_REP_5bis);

s->si5bis = 1;

@@ -797,7 +797,7 @@
}

int gsm48_decode_sysinfo5ter(struct gsm48_sysinfo *s,
- struct gsm48_system_information_type_5ter *si, int len)
+ const struct gsm48_system_information_type_5ter *si, int len)
{
memcpy(s->si5t_msg, si, OSMO_MIN(len, sizeof(s->si5t_msg)));

@@ -805,7 +805,8 @@
s->nb_multi_rep_si5ter = (si->bcch_frequency_list[0] >> 6) & 3;
s->nb_ba_ind_si5ter = (si->bcch_frequency_list[0] >> 5) & 1;
decode_freq_list(s->freq, si->bcch_frequency_list,
- sizeof(si->bcch_frequency_list), 0x8e, FREQ_TYPE_REP_5ter);
+ sizeof(si->bcch_frequency_list),
+ 0x8e, FREQ_TYPE_REP_5ter);

s->si5ter = 1;

@@ -813,7 +814,7 @@
}

int gsm48_decode_sysinfo6(struct gsm48_sysinfo *s,
- struct gsm48_system_information_type_6 *si, int len)
+ const struct gsm48_system_information_type_6 *si, int len)
{
int payload_len = len - sizeof(*si);

@@ -839,8 +840,8 @@
return 0;
}

-int gsm48_encode_lai_hex(struct gsm48_loc_area_id *lai, uint16_t mcc,
- uint16_t mnc, uint16_t lac)
+int gsm48_encode_lai_hex(struct gsm48_loc_area_id *lai,
+ uint16_t mcc, uint16_t mnc, uint16_t lac)
{
lai->digits[0] = (mcc >> 8) | (mcc & 0xf0);
lai->digits[1] = (mcc & 0x0f) | (mnc << 4);
@@ -850,8 +851,8 @@
return 0;
}

- int gsm48_decode_lai_hex(struct gsm48_loc_area_id *lai, uint16_t *mcc,
- uint16_t *mnc, uint16_t *lac)
+int gsm48_decode_lai_hex(const struct gsm48_loc_area_id *lai,
+ uint16_t *mcc, uint16_t *mnc, uint16_t *lac)
{
*mcc = ((lai->digits[0] & 0x0f) << 8)
| (lai->digits[0] & 0xf0)

To view, visit change 30810. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: Ia518251eae1b45ad573d076d97cba83ed25ea9ea
Gerrit-Change-Number: 30810
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy@sysmocom.de>
Gerrit-MessageType: newchange