return (in & 0x0f) * 10 + (in >> 4);
}
-static gboolean decode_scts(const unsigned char *pdu, int len,
+gboolean sms_decode_scts(const unsigned char *pdu, int len,
int *offset, struct sms_scts *out)
{
unsigned char oct = 0;
return TRUE;
case SMS_VALIDITY_PERIOD_FORMAT_ABSOLUTE:
- if (!decode_scts(pdu, len, offset, &vp->absolute))
+ if (!sms_decode_scts(pdu, len, offset, &vp->absolute))
return FALSE;
return TRUE;
if (!next_octet(pdu, len, &offset, &out->deliver.dcs))
return FALSE;
- if (!decode_scts(pdu, len, &offset, &out->deliver.scts))
+ if (!sms_decode_scts(pdu, len, &offset, &out->deliver.scts))
return FALSE;
if (!next_octet(pdu, len, &offset, &out->deliver.udl))
pi = octet & 0x07;
- if (!decode_scts(pdu, len, &offset, scts))
+ if (!sms_decode_scts(pdu, len, &offset, scts))
return FALSE;
if (pi & 0x01) {
&out->status_report.raddr))
return FALSE;
- if (!decode_scts(pdu, len, &offset, &out->status_report.scts))
+ if (!sms_decode_scts(pdu, len, &offset, &out->status_report.scts))
return FALSE;
- if (!decode_scts(pdu, len, &offset, &out->status_report.dt))
+ if (!sms_decode_scts(pdu, len, &offset, &out->status_report.dt))
return FALSE;
if (!next_octet(pdu, len, &offset, &octet))
guint8 sms_decode_semi_octet(guint8 in);
+gboolean sms_decode_scts(const unsigned char *pdu, int len,
+ int *offset, struct sms_scts *out);
+
int sms_udl_in_bytes(guint8 ud_len, guint8 dcs);
time_t sms_scts_to_time(const struct sms_scts *scts, struct tm *remote);