summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/smsutil.c10
-rw-r--r--src/smsutil.h2
2 files changed, 12 insertions, 0 deletions
diff --git a/src/smsutil.c b/src/smsutil.c
index 4881250e..1bbc4a34 100644
--- a/src/smsutil.c
+++ b/src/smsutil.c
@@ -1591,6 +1591,16 @@ gboolean sms_udh_iter_init(const struct sms *sms, struct sms_udh_iter *iter)
return TRUE;
}
+guint8 sms_udh_iter_get_udh_length(struct sms_udh_iter *iter)
+{
+ return iter->data[0];
+}
+
+const guint8 *sms_udh_iter_get_ud_after_header(struct sms_udh_iter *iter)
+{
+ return iter->data + iter->data[0] + 1;
+}
+
enum sms_iei sms_udh_iter_get_ie_type(struct sms_udh_iter *iter)
{
if (iter->offset > iter->data[0])
diff --git a/src/smsutil.h b/src/smsutil.h
index 0158f0b4..f31994ce 100644
--- a/src/smsutil.h
+++ b/src/smsutil.h
@@ -337,6 +337,8 @@ const guint8 *sms_extract_common(const struct sms *sms, gboolean *out_udhi,
guint8 *out_max);
gboolean sms_udh_iter_init(const struct sms *sms, struct sms_udh_iter *iter);
+guint8 sms_udh_iter_get_udh_length(struct sms_udh_iter *iter);
+const guint8 *sms_udh_iter_get_ud_after_header(struct sms_udh_iter *iter);
enum sms_iei sms_udh_iter_get_ie_type(struct sms_udh_iter *iter);
guint8 sms_udh_iter_get_ie_length(struct sms_udh_iter *iter);
void sms_udh_iter_get_ie_data(struct sms_udh_iter *iter, guint8 *data);