mirror of git://git.sysmocom.de/ofono
Add parser for timer value objects
This commit is contained in:
parent
8bc04ba93a
commit
5b7de64aca
|
@ -864,6 +864,24 @@ static gboolean parse_dataobj_timer_id(
|
||||||
return parse_dataobj_common_byte(iter, byte);
|
return parse_dataobj_common_byte(iter, byte);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Defined in TS 102.223 Section 8.38 */
|
||||||
|
static gboolean parse_dataobj_timer_value(
|
||||||
|
struct comprehension_tlv_iter *iter, void *user)
|
||||||
|
{
|
||||||
|
struct stk_timer_value *tv = user;
|
||||||
|
const unsigned char *data;
|
||||||
|
|
||||||
|
if (comprehension_tlv_iter_get_length(iter) != 3)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
data = comprehension_tlv_iter_get_data(iter);
|
||||||
|
tv->hour = sms_decode_semi_octet(data[0]);
|
||||||
|
tv->minute = sms_decode_semi_octet(data[1]);
|
||||||
|
tv->second = sms_decode_semi_octet(data[2]);
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
/* Defined in 102.223 Section 8.43 */
|
/* Defined in 102.223 Section 8.43 */
|
||||||
static gboolean parse_dataobj_imm_resp(struct comprehension_tlv_iter *iter,
|
static gboolean parse_dataobj_imm_resp(struct comprehension_tlv_iter *iter,
|
||||||
void *user)
|
void *user)
|
||||||
|
@ -978,6 +996,8 @@ static dataobj_handler handler_for_type(enum stk_data_object_type type)
|
||||||
return parse_dataobj_r_apdu;
|
return parse_dataobj_r_apdu;
|
||||||
case STK_DATA_OBJECT_TYPE_TIMER_ID:
|
case STK_DATA_OBJECT_TYPE_TIMER_ID:
|
||||||
return parse_dataobj_timer_id;
|
return parse_dataobj_timer_id;
|
||||||
|
case STK_DATA_OBJECT_TYPE_TIMER_VALUE:
|
||||||
|
return parse_dataobj_timer_value;
|
||||||
case STK_DATA_OBJECT_TYPE_IMMEDIATE_RESPONSE:
|
case STK_DATA_OBJECT_TYPE_IMMEDIATE_RESPONSE:
|
||||||
return parse_dataobj_imm_resp;
|
return parse_dataobj_imm_resp;
|
||||||
case STK_DATA_OBJECT_TYPE_TEXT_ATTRIBUTE:
|
case STK_DATA_OBJECT_TYPE_TEXT_ATTRIBUTE:
|
||||||
|
|
|
@ -493,6 +493,13 @@ struct stk_r_apdu {
|
||||||
unsigned int len;
|
unsigned int len;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* Defined in TS 102.223 Section 8.38 */
|
||||||
|
struct stk_timer_value {
|
||||||
|
unsigned char hour;
|
||||||
|
unsigned char minute;
|
||||||
|
unsigned char second;
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* According to 102.223 Section 8.72 the length of text attribute CTLV is 1
|
* According to 102.223 Section 8.72 the length of text attribute CTLV is 1
|
||||||
* byte. This means that the maximum size is 127 according to the rules
|
* byte. This means that the maximum size is 127 according to the rules
|
||||||
|
|
Loading…
Reference in New Issue