blob: dec48a4d4509acfdbc94a8a561b017a36138b75a [file] [log] [blame]
Harald Weltee1d8ef92016-12-22 11:16:33 +01001#include <stdint.h>
2#include <stdio.h>
3
4#include <libqmi-glib.h>
5
Harald Welte654f1172016-12-24 00:01:25 +01006/* A small wrapper around libqmi-glib to give us a human-readable string
7 * representation of QMI messages that we receive from DIAG */
Harald Weltee1d8ef92016-12-22 11:16:33 +01008int dump_qmi_msg(const uint8_t *data, unsigned int len)
9{
10 GByteArray *buffer;
11 GError *error = NULL;
12 QmiMessage *message;
13 gchar *printable;
14
15 buffer = g_byte_array_sized_new(len);
16 g_byte_array_append(buffer, data, len);
17
18 message = qmi_message_new_from_raw(buffer, &error);
19 if (!message) {
20 fprintf(stderr, "qmi_message_new_from_raw() returned NULL\n");
21 return -1;
22 }
23
24 printable = qmi_message_get_printable(message, "QMI ");
25 fputs(printable, stdout);
26 g_free(printable);
27
28 return 0;
29}