summaryrefslogtreecommitdiffstats
path: root/include/osmocom/gsm/gsm48.h
diff options
context:
space:
mode:
authorMax <msuraev@sysmocom.de>2018-01-05 14:19:33 +0100
committerMax <msuraev@sysmocom.de>2018-01-08 13:02:07 +0000
commitf1ad60e4d861d5ff462a8d7ab481ad082360f346 (patch)
treed3cbc64a221e5a163b6407aaf6f9a7c65d76472c /include/osmocom/gsm/gsm48.h
parente1a511b0319bc2d8fc271aaee52d3a8ce2acf1e1 (diff)
Add function to properly encode RAI
Add gsm48_encode_ra() which takes appropriate struct as [out] parameter instead of generic buffer. Using uint8_t buffer instead of proper struct type prooved to be error-prone - see Coverity CID57877, CID57876. Old gsm48_construct_ra() is made into tiny wrapper around new function. The test output is adjusted because of the change in function return value which was constant and hence ignored anyway. Related: OS#1640 Change-Id: I31f9605277f4945f207c2c44ff82e62399f8db74
Diffstat (limited to 'include/osmocom/gsm/gsm48.h')
-rw-r--r--include/osmocom/gsm/gsm48.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/osmocom/gsm/gsm48.h b/include/osmocom/gsm/gsm48.h
index 424748ee..3ebca189 100644
--- a/include/osmocom/gsm/gsm48.h
+++ b/include/osmocom/gsm/gsm48.h
@@ -39,6 +39,7 @@ const char *gsm48_mi_type_name(uint8_t mi);
/* Parse Routeing Area Identifier */
void gsm48_parse_ra(struct gprs_ra_id *raid, const uint8_t *buf);
+void gsm48_encode_ra(struct gsm48_ra_id *out, const struct gprs_ra_id *raid);
int gsm48_construct_ra(uint8_t *buf, const struct gprs_ra_id *raid);
int gsm48_number_of_paging_subchannels(struct gsm48_control_channel_descr *chan_desc);