diff options
-rw-r--r-- | src/smsutil.c | 10 | ||||
-rw-r--r-- | src/smsutil.h | 2 |
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); |