smsutil: Expose SMS timestamp encoding utility

The function can be re-used in stkutil.c, similarly to sms_decode_scts.
This commit is contained in:
Andrzej Zaborowski 2010-05-16 16:08:17 +02:00 committed by Denis Kenzior
parent a20d4e8cae
commit ff67ee8a2e
2 changed files with 10 additions and 7 deletions

View File

@ -325,7 +325,7 @@ static inline gboolean set_octet(unsigned char *pdu, int *offset,
return TRUE;
}
static gboolean encode_scts(const struct sms_scts *in, unsigned char *pdu,
gboolean sms_encode_scts(const struct sms_scts *in, unsigned char *pdu,
int *offset)
{
guint timezone;
@ -467,7 +467,7 @@ static gboolean encode_validity_period(const struct sms_validity_period *vp,
set_octet(pdu, offset, vp->relative);
return TRUE;
case SMS_VALIDITY_PERIOD_FORMAT_ABSOLUTE:
return encode_scts(&vp->absolute, pdu, offset);
return sms_encode_scts(&vp->absolute, pdu, offset);
case SMS_VALIDITY_PERIOD_FORMAT_ENHANCED:
/* TODO: Write out proper enhanced VP structure */
memcpy(pdu + *offset, vp->enhanced, 7);
@ -677,7 +677,7 @@ static gboolean encode_deliver(const struct sms_deliver *in, unsigned char *pdu,
set_octet(pdu, offset, in->pid);
set_octet(pdu, offset, in->dcs);
if (encode_scts(&in->scts, pdu, offset) == FALSE)
if (sms_encode_scts(&in->scts, pdu, offset) == FALSE)
return FALSE;
set_octet(pdu, offset, in->udl);
@ -748,7 +748,7 @@ static gboolean encode_submit_ack_report(const struct sms_submit_ack_report *in,
set_octet(pdu, offset, in->pi);
if (!encode_scts(&in->scts, pdu, offset))
if (!sms_encode_scts(&in->scts, pdu, offset))
return FALSE;
if (in->pi & 0x1)
@ -784,7 +784,7 @@ static gboolean encode_submit_err_report(const struct sms_submit_err_report *in,
set_octet(pdu, offset, in->pi);
if (!encode_scts(&in->scts, pdu, offset))
if (!sms_encode_scts(&in->scts, pdu, offset))
return FALSE;
if (in->pi & 0x1)
@ -923,10 +923,10 @@ static gboolean encode_status_report(const struct sms_status_report *in,
if (!sms_encode_address_field(&in->raddr, FALSE, pdu, offset))
return FALSE;
if (!encode_scts(&in->scts, pdu, offset))
if (!sms_encode_scts(&in->scts, pdu, offset))
return FALSE;
if (!encode_scts(&in->dt, pdu, offset))
if (!sms_encode_scts(&in->dt, pdu, offset))
return FALSE;
octet = in->st;

View File

@ -427,6 +427,9 @@ guint8 sms_decode_semi_octet(guint8 in);
gboolean sms_decode_scts(const unsigned char *pdu, int len,
int *offset, struct sms_scts *out);
gboolean sms_encode_scts(const struct sms_scts *in, unsigned char *pdu,
int *offset);
int sms_udl_in_bytes(guint8 ud_len, guint8 dcs);
time_t sms_scts_to_time(const struct sms_scts *scts, struct tm *remote);