aboutsummaryrefslogtreecommitdiffstats
path: root/libosmocore/src/gsm_utils.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2010-05-01 12:07:56 +0200
committerHarald Welte <laforge@gnumonks.org>2010-05-01 12:07:56 +0200
commitd66c2bef54835a181d5ed171fff71b5ab7f2261a (patch)
tree34435182ea7af70e3e56596b6d1abef56077e60a /libosmocore/src/gsm_utils.c
parentf32cc4bee55da4ff20be095eb5f4e883f2f54de6 (diff)
parentdebf95507461965aa82be2fa2bf34119343cfb0e (diff)
Merge commit 'debf95507461965aa82be2fa2bf34119343cfb0e'
Diffstat (limited to 'libosmocore/src/gsm_utils.c')
-rw-r--r--libosmocore/src/gsm_utils.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/libosmocore/src/gsm_utils.c b/libosmocore/src/gsm_utils.c
index 593dd5c94..b392fd37c 100644
--- a/libosmocore/src/gsm_utils.c
+++ b/libosmocore/src/gsm_utils.c
@@ -359,3 +359,18 @@ uint32_t gsm_gsmtime2fn(struct gsm_time *time)
/* TS 05.02 Chapter 4.3.3 TDMA frame number */
return (51 * ((time->t3 - time->t2 + 26) % 26) + time->t3 + (26 * 51 * time->t1));
}
+
+/* TS 03.03 Chapter 2.6 */
+int gprs_tlli_type(uint32_t tlli)
+{
+ if ((tlli & 0xc0000000) == 0xc0000000)
+ return TLLI_LOCAL;
+ else if ((tlli & 0xc0000000) == 0x80000000)
+ return TLLI_FOREIGN;
+ else if ((tlli & 0xf8000000) == 0x78000000)
+ return TLLI_RANDOM;
+ else if ((tlli & 0xf8000000) == 0x70000000)
+ return TLLI_AUXILIARY;
+
+ return TLLI_RESERVED;
+}