summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2009-06-12 21:16:34 -0500
committerDenis Kenzior <denkenz@gmail.com>2009-06-12 21:39:17 -0500
commitb71c0015e7e522b270b0881601d31a1940db4f50 (patch)
treef6a24c4297eb16d81c653386adc272d622af85d1 /src
parent2bfc1c0784720cd15ec6ec72b9ed6b56ac8f91da (diff)
downloadofono-b71c0015e7e522b270b0881601d31a1940db4f50.tar.bz2
Add a couple new sms_udh_iter utilities
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);