aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/libxsc
diff options
context:
space:
mode:
authorNeels Hofmeyr <nhofmeyr@sysmocom.de>2016-03-04 14:15:12 +0100
committerNeels Hofmeyr <nhofmeyr@sysmocom.de>2016-03-04 14:58:09 +0100
commit33a343858df3d2bc5d0784d7ad7c826d7526845f (patch)
tree7dc6f45397b3cc1c95c3e0f067b10c5caef329cf /openbsc/src/libxsc
parent15b1fce69cbc6ccd6eb83daab7ab5cd91ef0ea81 (diff)
move sms_next_rp_msg_ref() to libxsc, for gsm0408test
Also change the signature to avoid using gsm_subscriber_connection, which has different members in libbsc and libmsc.
Diffstat (limited to 'openbsc/src/libxsc')
-rw-r--r--openbsc/src/libxsc/xsc.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/openbsc/src/libxsc/xsc.c b/openbsc/src/libxsc/xsc.c
index 7cf502689..d9c2c8328 100644
--- a/openbsc/src/libxsc/xsc.c
+++ b/openbsc/src/libxsc/xsc.c
@@ -2,6 +2,7 @@
*
* (C) 2016 by sysmocom s.m.f.c. <info@sysmocom.de>
* (C) 2008-2010 by Harald Welte <laforge@gnumonks.org>
+ * (C) 2014 by Holger Hans Peter Freyther
* All Rights Reserved
*
* This program is free software; you can redistribute it and/or modify
@@ -200,3 +201,21 @@ int gsm48_paging_extract_mi(struct gsm48_pag_resp *resp, int length,
mi_string, mi_type);
}
+
+/* Helpers for SMS/GSM 04.11 */
+#include <openbsc/gsm_data.h>
+#include <openbsc/gsm_04_11.h>
+
+uint8_t sms_next_rp_msg_ref(uint8_t *next_rp_ref)
+{
+ const uint8_t rp_msg_ref = *next_rp_ref;
+ /*
+ * This should wrap as the valid range is 0 to 255. We only
+ * transfer one SMS at a time so we don't need to check if
+ * the id has been already assigned.
+ */
+ *next_rp_ref += 1;
+
+ return rp_msg_ref;
+}
+