aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--data/qmi-service-dms.json27
-rw-r--r--src/Makefile.am7
-rw-r--r--src/qmi-enums-dms.h77
3 files changed, 108 insertions, 3 deletions
diff --git a/data/qmi-service-dms.json b/data/qmi-service-dms.json
index 784d9a5..651debd 100644
--- a/data/qmi-service-dms.json
+++ b/data/qmi-service-dms.json
@@ -13,6 +13,33 @@
"type" : "Message-ID-Enum" },
// *********************************************************************************
+ { "name" : "Get Capabilities",
+ "type" : "Message",
+ "service" : "DMS",
+ "id" : "0x0020",
+ "output" : [ { "common-ref" : "Operation Result" },
+ { "name" : "Info",
+ "id" : "0x01",
+ "mandatory" : "yes",
+ "type" : "TLV",
+ "format" : "struct",
+ "contents" : [ { "name" : "Max Tx Channel Rate",
+ "format" : "guint32" },
+ { "name" : "Max Rx Channel Rate",
+ "format" : "guint32" },
+ { "name" : "Data Service Capability",
+ "format" : "guint8",
+ "public-format" : "QmiDmsDataServiceCapability" },
+ { "name" : "SIM Capability",
+ "format" : "guint8",
+ "public-format" : "QmiDmsSimCapability" },
+ { "name" : "Radio Interface List",
+ "format" : "array",
+ "array-element" : { "format" : "guint8",
+ "public-format" : "QmiDmsRadioInterface" } } ],
+ "prerequisites": [ { "common-ref" : "Success" } ] } ] },
+
+ // *********************************************************************************
{ "name" : "Get IDs",
"type" : "Message",
"service" : "DMS",
diff --git a/src/Makefile.am b/src/Makefile.am
index 8c2028a..ec979b4 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -23,10 +23,10 @@ qmi-error-types.c: qmi-errors.h qmi-error-types.h $(top_srcdir)/build-aux/templa
qmi-errors.h > $@
# Enum types
-ENUMS = qmi-enums.h qmi-enums-wds.h qmi-dms.h qmi-wds.h qmi-ctl.h
+ENUMS = qmi-enums.h qmi-enums-wds.h qmi-enums-dms.h qmi-dms.h qmi-wds.h qmi-ctl.h
qmi-enum-types.h: $(ENUMS) $(top_srcdir)/build-aux/templates/qmi-enum-types-template.h qmi-ctl.stamp qmi-dms.stamp qmi-wds.stamp
$(AM_V_GEN) $(GLIB_MKENUMS) \
- --fhead "#ifndef __LIBQMI_GLIB_ENUM_TYPES_H__\n#define __LIBQMI_GLIB_ENUM_TYPES_H__\n#include \"qmi-enums.h\"\n#include \"qmi-enums-wds.h\"\n#include \"qmi-ctl.h\"\n#include \"qmi-dms.h\"\n#include \"qmi-wds.h\"\n" \
+ --fhead "#ifndef __LIBQMI_GLIB_ENUM_TYPES_H__\n#define __LIBQMI_GLIB_ENUM_TYPES_H__\n#include \"qmi-enums.h\"\n#include \"qmi-enums-wds.h\"\n#include \"qmi-enums-dms.h\"\n#include \"qmi-ctl.h\"\n#include \"qmi-dms.h\"\n#include \"qmi-wds.h\"\n" \
--template $(top_srcdir)/build-aux/templates/qmi-enum-types-template.h \
--ftail "#endif /* __LIBQMI_GLIB_ENUM_TYPES_H__ */\n" \
$(ENUMS) > $@
@@ -85,6 +85,7 @@ libqmi_glib_la_SOURCES = \
libqmi-glib.h \
qmi-errors.h qmi-error-types.h qmi-error-types.c \
qmi-enums-wds.h \
+ qmi-enums-dms.h \
qmi-enums.h qmi-enum-types.h qmi-enum-types.c \
qmi-utils.h qmi-utils.c \
qmi-message.h qmi-message.c \
@@ -107,7 +108,7 @@ include_HEADERS = \
qmi-message.h \
qmi-device.h \
qmi-client.h \
- qmi-dms.h \
+ qmi-enums-dms.h qmi-dms.h \
qmi-enums-wds.h qmi-wds.h
CLEANFILES = \
diff --git a/src/qmi-enums-dms.h b/src/qmi-enums-dms.h
new file mode 100644
index 0000000..4af588e
--- /dev/null
+++ b/src/qmi-enums-dms.h
@@ -0,0 +1,77 @@
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * libqmi-glib -- GLib/GIO based library to control QMI devices
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301 USA.
+ *
+ * Copyright (C) 2012 Lanedo GmbH <aleksander@lanedo.com>
+ */
+
+#ifndef _LIBQMI_GLIB_QMI_ENUMS_DMS_H_
+#define _LIBQMI_GLIB_QMI_ENUMS_DMS_H_
+
+/*****************************************************************************/
+/* Helper enums for the 'QMI DMS Get Capabilities' message */
+
+/**
+ * QmiDmsDataServiceCapability:
+ * @QMI_DMS_DATA_SERVICE_CAPABILITY_NONE: No data services supported.
+ * @QMI_DMS_DATA_SERVICE_CAPABILITY_CS: Only CS supported.
+ * @QMI_DMS_DATA_SERVICE_CAPABILITY_PS: Only PS supported.
+ * @QMI_DMS_DATA_SERVICE_CAPABILITY_SIMULTANEOUS_CS_PS: Simultaneous CS and PS supported.
+ * @QMI_DMS_DATA_SERVICE_CAPABILITY_NON_SIMULTANEOUS_CS_PS: Non simultaneous CS and PS supported.
+ *
+ * Data service capability.
+ */
+typedef enum {
+ QMI_DMS_DATA_SERVICE_CAPABILITY_NONE = 0,
+ QMI_DMS_DATA_SERVICE_CAPABILITY_CS = 1,
+ QMI_DMS_DATA_SERVICE_CAPABILITY_PS = 2,
+ QMI_DMS_DATA_SERVICE_CAPABILITY_SIMULTANEOUS_CS_PS = 3,
+ QMI_DMS_DATA_SERVICE_CAPABILITY_NON_SIMULTANEOUS_CS_PS = 4
+} QmiDmsDataServiceCapability;
+
+/**
+ * QmiDmsSimCapability:
+ * @QMI_DMS_SIM_CAPABILITY_NOT_SUPPORTED: SIM not supported.
+ * @QMI_DMS_SIM_CAPABILITY_SUPPORTED: SIM is supported.
+ *
+ * SIM capability.
+ */
+typedef enum {
+ QMI_DMS_SIM_CAPABILITY_NOT_SUPPORTED = 1,
+ QMI_DMS_SIM_CAPABILITY_SUPPORTED = 2
+} QmiDmsSimCapability;
+
+/**
+ * QmiDmsRadioInterface:
+ * @QMI_DMS_RADIO_INTERFACE_CDMA20001X: CDMA2000 1x.
+ * @QMI_DMS_RADIO_INTERFACE_EVDO: CDMA2000 HRPD (1xEV-DO)
+ * @QMI_DMS_RADIO_INTERFACE_GSM: GSM.
+ * @QMI_DMS_RADIO_INTERFACE_UMTS: UMTS.
+ * @QMI_DMS_RADIO_INTERFACE_LTE: LTE.
+ *
+ * Radio interface type.
+ */
+typedef enum {
+ QMI_DMS_RADIO_INTERFACE_CDMA20001X = 1,
+ QMI_DMS_RADIO_INTERFACE_EVDO = 2,
+ QMI_DMS_RADIO_INTERFACE_GSM = 4,
+ QMI_DMS_RADIO_INTERFACE_UMTS = 5,
+ QMI_DMS_RADIO_INTERFACE_LTE = 8
+} QmiDmsRadioInterface;
+
+#endif /* _LIBQMI_GLIB_QMI_ENUMS_DMS_H_ */