103 lines
5.0 KiB
Plaintext
103 lines
5.0 KiB
Plaintext
#ifdef do_tlv
|
|
#undef do_tlv
|
|
#endif
|
|
#define do_tlv( inst_tlv )\
|
|
U16( inst_tlv->, tag, str_tlv_id );\
|
|
U16( inst_tlv->, length, valueDec_16 );\
|
|
if( inst_tlv-> tag == TLVID_dest_addr_subunit ){\
|
|
U08( inst_tlv->, value.val08, valueDec_08 );\
|
|
} else if( inst_tlv-> tag == TLVID_dest_network_type ){\
|
|
U08( inst_tlv->, value.val08, valueDec_08 );\
|
|
} else if( inst_tlv-> tag == TLVID_dest_bearer_type ){\
|
|
U08( inst_tlv->, value.val08, valueDec_08 );\
|
|
} else if( inst_tlv-> tag == TLVID_dest_telematics_id ){\
|
|
U16( inst_tlv->, value.val16, valueDec_16 );\
|
|
} else if( inst_tlv-> tag == TLVID_source_addr_subunit ){\
|
|
U08( inst_tlv->, value.val08, valueDec_08 );\
|
|
} else if( inst_tlv-> tag == TLVID_source_network_type ){\
|
|
U08( inst_tlv->, value.val08, valueDec_08 );\
|
|
} else if( inst_tlv-> tag == TLVID_source_bearer_type ){\
|
|
U08( inst_tlv->, value.val08, valueDec_08 );\
|
|
} else if( inst_tlv-> tag == TLVID_source_telematics_id ){\
|
|
U08( inst_tlv->, value.val08, valueDec_08 );\
|
|
} else if( inst_tlv-> tag == TLVID_qos_time_to_live ){\
|
|
U32( inst_tlv->, value.val32, valueDec_32 );\
|
|
} else if( inst_tlv-> tag == TLVID_payload_type ){\
|
|
U08( inst_tlv->, value.val08, valueDec_08 );\
|
|
} else if( inst_tlv-> tag == TLVID_additional_status_info_text ){\
|
|
OCTET16( inst_tlv->, value.octet, 256 )\
|
|
} else if( inst_tlv-> tag == TLVID_receipted_message_id ){\
|
|
OCTET16( inst_tlv->, value.octet, 65 )\
|
|
} else if( inst_tlv-> tag == TLVID_ms_msg_wait_facilities ){\
|
|
U08( inst_tlv->, value.val08, valueDec_08 );\
|
|
} else if( inst_tlv-> tag == TLVID_privacy_indicator ){\
|
|
U08( inst_tlv->, value.val08, valueDec_08 );\
|
|
} else if( inst_tlv-> tag == TLVID_source_subaddress ){\
|
|
OCTET16( inst_tlv->, value.octet, 23 )\
|
|
} else if( inst_tlv-> tag == TLVID_dest_subaddress ){\
|
|
OCTET16( inst_tlv->, value.octet, 23 )\
|
|
} else if( inst_tlv-> tag == TLVID_user_message_reference ){\
|
|
U16( inst_tlv->, value.val16, valueDec_16 );\
|
|
} else if( inst_tlv-> tag == TLVID_user_response_code ){\
|
|
U08( inst_tlv->, value.val08, valueDec_08 );\
|
|
} else if( inst_tlv-> tag == TLVID_source_port ){\
|
|
U16( inst_tlv->, value.val16, valueDec_16 );\
|
|
} else if( inst_tlv-> tag == TLVID_destination_port ){\
|
|
U16( inst_tlv->, value.val16, valueDec_16 );\
|
|
} else if( inst_tlv-> tag == TLVID_sar_msg_ref_num ){\
|
|
U16( inst_tlv->, value.val16, valueDec_16 );\
|
|
} else if( inst_tlv-> tag == TLVID_language_indicator ){\
|
|
U08( inst_tlv->, value.val08, valueDec_08 );\
|
|
} else if( inst_tlv-> tag == TLVID_sar_total_segments ){\
|
|
U08( inst_tlv->, value.val08, valueDec_08 );\
|
|
} else if( inst_tlv-> tag == TLVID_sar_segment_seqnum ){\
|
|
U08( inst_tlv->, value.val08, valueDec_08 );\
|
|
} else if( inst_tlv-> tag == TLVID_SC_interface_version ){\
|
|
U08( inst_tlv->, value.val08, valueDec_08 );\
|
|
} else if( inst_tlv-> tag == TLVID_callback_num_pres_ind ){\
|
|
U08( inst_tlv->, value.val08, valueDec_08 );\
|
|
} else if( inst_tlv-> tag == TLVID_callback_num_atag ){\
|
|
OCTET16( inst_tlv->, value.octet, 65 )\
|
|
} else if( inst_tlv-> tag == TLVID_number_of_messages ){\
|
|
U08( inst_tlv->, value.val08, valueDec_08 );\
|
|
} else if( inst_tlv-> tag == TLVID_callback_num ){\
|
|
OCTET16( inst_tlv->, value.octet, 19 )\
|
|
} else if( inst_tlv-> tag == TLVID_dpf_result ){\
|
|
U08( inst_tlv->, value.val08, valueDec_08 );\
|
|
} else if( inst_tlv-> tag == TLVID_set_dpf ){\
|
|
U08( inst_tlv->, value.val08, valueDec_08 );\
|
|
} else if( inst_tlv-> tag == TLVID_ms_availability_status ){\
|
|
U08( inst_tlv->, value.val08, valueDec_08 );\
|
|
} else if( inst_tlv-> tag == TLVID_network_error_code ){\
|
|
OCTET16( inst_tlv->, value.octet, 3 )\
|
|
} else if( inst_tlv-> tag == TLVID_message_payload ){\
|
|
OCTET16( inst_tlv->, value.octet, 1024 )\
|
|
} else if( inst_tlv-> tag == TLVID_delivery_failure_reason ){\
|
|
U08( inst_tlv->, value.val08, valueDec_08 );\
|
|
} else if( inst_tlv-> tag == TLVID_more_messages_to_send ){\
|
|
U08( inst_tlv->, value.val08, valueDec_08 );\
|
|
} else if( inst_tlv-> tag == TLVID_message_state ){\
|
|
U08( inst_tlv->, value.val08, valueDec_08 );\
|
|
} else if( inst_tlv-> tag == TLVID_ussd_service_op ){\
|
|
OCTET16( inst_tlv->, value.octet, 1 )\
|
|
} else if( inst_tlv-> tag == TLVID_display_time ){\
|
|
U08( inst_tlv->, value.val08, valueDec_08 );\
|
|
} else if( inst_tlv-> tag == TLVID_sms_signal ){\
|
|
U16( inst_tlv->, value.val16, valueDec_16 );\
|
|
} else if( inst_tlv-> tag == TLVID_ms_validity ){\
|
|
U08( inst_tlv->, value.val08, valueDec_08 );\
|
|
} else if( inst_tlv-> tag == TLVID_alert_on_message_delivery ){\
|
|
/* TODO */\
|
|
OCTET16( inst_tlv->, value.octet, 0 )\
|
|
} else if( inst_tlv-> tag == TLVID_its_reply_type ){\
|
|
U08( inst_tlv->, value.val08, valueDec_08 );\
|
|
} else if( inst_tlv-> tag == TLVID_its_session_info ){\
|
|
U16( inst_tlv->, value.val16, valueDec_16 );\
|
|
} else if( inst_tlv-> tag >= 0x1400 && inst_tlv-> tag <= 0x3FFF ){\
|
|
/* TODO Reserved for SMSC Vendor specific optional parameters */\
|
|
OCTET16( inst_tlv->, value.octet, 1024 )\
|
|
} else if( inst_tlv-> tag >= 0x4000 && inst_tlv-> tag <= 0xFFFF ){\
|
|
/* TODO Reserved */\
|
|
OCTET16( inst_tlv->, value.octet, 1024 )\
|
|
};
|