summaryrefslogtreecommitdiffstats
path: root/include/osmocom/gsm/protocol
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2019-04-10 19:13:19 +0200
committerHarald Welte <laforge@gnumonks.org>2019-04-13 21:38:58 +0000
commit0ee798a0172a009cec4fb27c427b8f1d66fca749 (patch)
tree3989f2f5d206806c898a0a27d6358d71b3208995 /include/osmocom/gsm/protocol
parent469147480a9a36a10f650bdeda09d5d7e0e9f1e3 (diff)
add OSMO_IMSI_BUF_SIZE
Various places in our code base figure out how many chars they need to safely store an IMSI. An IMSI can have a checksum digit, which is not reflected by GSM23003_IMSI_MAX_DIGITS. And we usually need a terminating \0. Instead of having a magic +2 repeated every so often, rather define OSMO_IMSI_BUF_SIZE to contain both checksum digit and nul char, and have the explanatory comment with it here in libosmocore. Change-Id: Id11ada4c96b79f7f0ad58185ab7dbf24622fb770
Diffstat (limited to 'include/osmocom/gsm/protocol')
-rw-r--r--include/osmocom/gsm/protocol/gsm_23_003.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/osmocom/gsm/protocol/gsm_23_003.h b/include/osmocom/gsm/protocol/gsm_23_003.h
index babd0f4b..be1b157b 100644
--- a/include/osmocom/gsm/protocol/gsm_23_003.h
+++ b/include/osmocom/gsm/protocol/gsm_23_003.h
@@ -5,6 +5,9 @@
/* Chapter 2.2 */
#define GSM23003_IMSI_MAX_DIGITS 15
#define GSM23003_IMSI_MIN_DIGITS 6
+/*! The char[] buffer size to completely contain an IMSI including the optional checksum digit as well as the
+ * terminating nul character. */
+#define OSMO_IMSI_BUF_SIZE (GSM23003_IMSI_MAX_DIGITS+2)
/* Chapter 2.4 */
#define GSM23003_TMSI_NUM_BYTES 4
/* Chapter 2.5 */