diff --git a/unit/test-mbim.c b/unit/test-mbim.c index 63cb753b..65b64113 100644 --- a/unit/test-mbim.c +++ b/unit/test-mbim.c @@ -179,6 +179,27 @@ static const struct message_data message_data_sms_send = { .binary_len = sizeof(message_binary_sms_send), }; +static const unsigned char message_binary_device_subscribe_list[] = { + 0x03, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA2, 0x89, 0xCC, 0x33, + 0xBC, 0xBB, 0x8B, 0x4F, 0xB6, 0xB0, 0x13, 0x3E, 0xC2, 0xAA, 0xE6, 0xDF, + 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, + 0x3C, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0xA2, 0x89, 0xCC, 0x33, + 0xBC, 0xBB, 0x8B, 0x4F, 0xB6, 0xB0, 0x13, 0x3E, 0xC2, 0xAA, 0xE6, 0xDF, + 0x05, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x0C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, + 0x53, 0x3F, 0xBE, 0xEB, 0x14, 0xFE, 0x44, 0x67, 0x9F, 0x90, 0x33, 0xA2, + 0x23, 0xE5, 0x6C, 0x3F, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x00, 0x00 +}; + +static const struct message_data message_data_device_subscribe_list = { + .tid = 0x1f, + .binary = message_binary_device_subscribe_list, + .binary_len = sizeof(message_binary_device_subscribe_list), +}; + static void do_debug(const char *str, void *user_data) { const char *prefix = user_data; @@ -560,6 +581,32 @@ static void build_sms_send(const void *data) mbim_message_unref(message); } +static void build_device_subscribe_list(const void *data) +{ + const struct message_data *msg_data = data; + struct mbim_message *message; + + message = mbim_message_new(mbim_uuid_basic_connect, + MBIM_CID_DEVICE_SERVICE_SUBSCRIBE_LIST, + MBIM_COMMAND_TYPE_SET); + + assert(message); + assert(mbim_message_set_arguments(message, "av", 2, + "16yuuuuuu", mbim_uuid_basic_connect, 5, + MBIM_CID_SIGNAL_STATE, + MBIM_CID_REGISTER_STATE, + MBIM_CID_CONNECT, + MBIM_CID_SUBSCRIBER_READY_STATUS, + MBIM_CID_PACKET_SERVICE, + "16yuuu", mbim_uuid_sms, 2, + MBIM_CID_SMS_READ, + MBIM_CID_SMS_MESSAGE_STORE_STATUS)); + + _mbim_message_set_tid(message, msg_data->tid); + assert(check_message(message, msg_data)); + mbim_message_unref(message); +} + int main(int argc, char *argv[]) { l_test_init(&argc, &argv); @@ -594,5 +641,8 @@ int main(int argc, char *argv[]) l_test_add("SMS Send (build)", build_sms_send, &message_data_sms_send); + l_test_add("Device Subscribe List (build)", build_device_subscribe_list, + &message_data_device_subscribe_list); + return l_test_run(); }