summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2013-04-09 15:41:27 -0500
committerDan Williams <dcbw@redhat.com>2013-04-09 15:41:27 -0500
commitd790a43f0f3eab7ca080c508edef5a97d3d9e896 (patch)
tree3413781e8479fb9e3a993c8ca9485f69abf2b87d
parent8f8edb7cd388a9519423166e2614f49b99f39df5 (diff)
wds: add event indication support
-rw-r--r--data/qmi-service-wds.json230
-rw-r--r--libqmi-glib/qmi-enums-wds.h117
2 files changed, 347 insertions, 0 deletions
diff --git a/data/qmi-service-wds.json b/data/qmi-service-wds.json
index 3ed12ca..5ebc6d3 100644
--- a/data/qmi-service-wds.json
+++ b/data/qmi-service-wds.json
@@ -13,6 +13,10 @@
"type" : "Message-ID-Enum" },
// *********************************************************************************
+ { "name" : "QMI Indication WDS",
+ "type" : "Indication-ID-Enum" },
+
+ // *********************************************************************************
{ "name" : "Reset",
"type" : "Message",
"service" : "WDS",
@@ -21,6 +25,232 @@
"output" : [ { "common-ref" : "Operation Result" } ] },
// *********************************************************************************
+ { "name" : "Set Event Report",
+ "type" : "Message",
+ "service" : "WDS",
+ "id" : "0x0001",
+ "version" : "1.0",
+ "input" : [ { "name" : "Channel Rate",
+ "id" : "0x10",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "gint8",
+ "public-format" : "gboolean" },
+ { "name" : "Transfer Statistics",
+ "id" : "0x11",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "sequence",
+ "contents" : [ { "name" : "Interval Seconds",
+ "format" : "guint8" },
+ { "name" : "Statistics",
+ "format" : "guint16",
+ "public-format" : "QmiWdsSetEventReportRequestedTransferStatistics" },
+ { "name" : "Reserved",
+ "format" : "guint16" } ] },
+ { "name" : "Data Bearer Technology",
+ "id" : "0x12",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "gint8",
+ "public-format" : "gboolean" },
+ { "name" : "Dormancy Status",
+ "id" : "0x13",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "gint8",
+ "public-format" : "gboolean" },
+ { "name" : "Mobile IP Status",
+ "id" : "0x14",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "gint8",
+ "public-format" : "gboolean" },
+ { "name" : "Current Data Bearer Technology",
+ "id" : "0x15",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "gint8",
+ "public-format" : "gboolean" },
+ { "name" : "Data Call Status",
+ "id" : "0x17",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "gint8",
+ "public-format" : "gboolean" },
+ { "name" : "Preferred Data System",
+ "id" : "0x18",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "gint8",
+ "public-format" : "gboolean" },
+ { "name" : "EVDO PM Change",
+ "id" : "0x19",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "gint8",
+ "public-format" : "gboolean" },
+ { "name" : "Data Systems",
+ "id" : "0x1A",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "gint8",
+ "public-format" : "gboolean" },
+ { "name" : "Uplink Flow Control",
+ "id" : "0x1B",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "gint8",
+ "public-format" : "gboolean" } ],
+ "output" : [ { "common-ref" : "Operation Result" } ] },
+
+ { "name" : "Event Report",
+ "type" : "Indication",
+ "service" : "WDS",
+ "id" : "0x0001",
+ "output" : [ { "name" : "TX Packet Successes",
+ "id" : "0x10",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "guint32" },
+ { "name" : "RX Packet Successes",
+ "id" : "0x11",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "guint32" },
+ { "name" : "TX Packet Errors",
+ "id" : "0x12",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "guint32" },
+ { "name" : "RX Packet Errors",
+ "id" : "0x13",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "guint32" },
+ { "name" : "TX Packet Overflows",
+ "id" : "0x14",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "guint32" },
+ { "name" : "RX Packet Overflows",
+ "id" : "0x15",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "guint32" },
+ { "name" : "Channel Rates",
+ "id" : "0x16",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "sequence",
+ "contents" : [ { "name" : "TX Rate bps",
+ "format" : "guint32" },
+ { "name" : "RX Rate bps",
+ "format" : "guint32" } ] },
+ { "name" : "Data Bearer Technology",
+ "id" : "0x17",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "guint8",
+ "public-format" : "QmiWdsDataBearerTechnology" },
+ { "name" : "Dormancy Status",
+ "id" : "0x18",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "guint8",
+ "public-format" : "QmiWdsDormancyStatus" },
+ { "name" : "TX Byte Total",
+ "id" : "0x19",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "guint64" },
+ { "name" : "RX Byte Total",
+ "id" : "0x1A",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "guint64" },
+ { "name" : "Mobile IP Status",
+ "id" : "0x1B",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "guint8" },
+ { "name" : "Current Data Bearer Technology",
+ "id" : "0x1D",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "sequence",
+ "contents" : [ { "name" : "Network Type",
+ "format" : "guint8",
+ "public-format" : "QmiWdsNetworkType" },
+ { "name" : "RAT Mask",
+ "format" : "guint32" },
+ { "name" : "SO Mask",
+ "format" : "guint32" } ] },
+ { "name" : "Data Call Status",
+ "id" : "0x1F",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "guint8",
+ "public-format" : "QmiWdsDataCallStatus" },
+ { "name" : "Preferred Data System",
+ "id" : "0x20",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "guint8",
+ "public-format" : "QmiWdsDataCallSystem" },
+ { "name" : "Data Call Type",
+ "id" : "0x22",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "sequence",
+ "contents" : [ { "name" : "Data Call Type",
+ "format" : "guint8",
+ "public-format" : "QmiWdsDataCallType" },
+ { "name" : "Tethered Call Type",
+ "format" : "guint8",
+ "public-format" : "QmiWdsTetheredCallType" } ] },
+ { "name" : "EVDO Page Monitor Period Change",
+ "id" : "0x23",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "sequence",
+ "contents" : [ { "name" : "Period Change",
+ "format" : "guint8" },
+ { "name" : "Force Long Sleep",
+ "format" : "gint8",
+ "public-format" : "gboolean" } ] },
+ { "name" : "Data Systems",
+ "id" : "0x24",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "array",
+ "array-element" : { "name" : "Element",
+ "format" : "struct",
+ "contents" : [ { "name" : "Network Type",
+ "format" : "guint8",
+ "public-format" : "QmiWdsNetworkType" },
+ { "name" : "RAT Mask",
+ "format" : "guint32" },
+ { "name" : "SO Mask",
+ "format" : "guint32" } ] } },
+ { "name" : "TX Packets Dropped",
+ "id" : "0x25",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "guint32" },
+ { "name" : "RX Packets Dropped",
+ "id" : "0x26",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "guint32" },
+ { "name" : "Uplink Flow Control Enabled",
+ "id" : "0x27",
+ "mandatory" : "no",
+ "type" : "TLV",
+ "format" : "gint8",
+ "public-format" : "gboolean" } ] },
+
+ // *********************************************************************************
{ "name" : "Abort",
"type" : "Message",
"service" : "WDS",
diff --git a/libqmi-glib/qmi-enums-wds.h b/libqmi-glib/qmi-enums-wds.h
index d8f765f..052e04b 100644
--- a/libqmi-glib/qmi-enums-wds.h
+++ b/libqmi-glib/qmi-enums-wds.h
@@ -38,6 +38,123 @@
#include <glib.h>
/*****************************************************************************/
+/* Helper enums for the 'QMI WDS Set Event Report' message */
+
+/**
+ * QmiWdsSetEventReportRequestedTransferStatistics:
+ * @QMI_WDS_SET_EVENT_REPORT_REQUESTED_TRANSFER_STATISTICS_NONE: no settings requested
+ * @QMI_WDS_SET_EVENT_REPORT_REQUESTED_TRANSFER_STATISTICS_TX_PACKET_SUCCESS: report TX packet success
+ * @QMI_WDS_SET_EVENT_REPORT_REQUESTED_TRANSFER_STATISTICS_RX_PACKET_SUCCESS: report RX packet success
+ * @QMI_WDS_SET_EVENT_REPORT_REQUESTED_TRANSFER_STATISTICS_TX_PACKET_ERRORS: report TX packet errors
+ * @QMI_WDS_SET_EVENT_REPORT_REQUESTED_TRANSFER_STATISTICS_RX_PACKET_ERRORS: report RX packet errors
+ * @QMI_WDS_SET_EVENT_REPORT_REQUESTED_TRANSFER_STATISTICS_TX_OVERFLOWS: report TX overflows
+ * @QMI_WDS_SET_EVENT_REPORT_REQUESTED_TRANSFER_STATISTICS_RX_OVERFLOWS: report RX overflows
+ * @QMI_WDS_SET_EVENT_REPORT_REQUESTED_TRANSFER_STATISTICS_TX_BYTE_TOTAL: report TX byte totals
+ * @QMI_WDS_SET_EVENT_REPORT_REQUESTED_TRANSFER_STATISTICS_RX_BYTE_TOTAL: report RX byte totals
+ * @QMI_WDS_SET_EVENT_REPORT_REQUESTED_TRANSFER_STATISTICS_TX_PACKETS_DROPPED: report TX packets dropped
+ * @QMI_WDS_SET_EVENT_REPORT_REQUESTED_TRANSFER_STATISTICS_RX_PACKETS_DROPPED: report RX packets dropped
+ *
+ * Flags specifying which TX/RX related statistics to report for WDS event
+ * indications.
+ */
+typedef enum { /*< underscore_name=qmi_wds_set_event_report_requested_transfer_statistics >*/
+ QMI_WDS_SET_EVENT_REPORT_REQUESTED_TRANSFER_STATISTICS_NONE = 0,
+ QMI_WDS_SET_EVENT_REPORT_REQUESTED_TRANSFER_STATISTICS_TX_PACKET_SUCCESS = 1 << 0,
+ QMI_WDS_SET_EVENT_REPORT_REQUESTED_TRANSFER_STATISTICS_RX_PACKET_SUCCESS = 1 << 1,
+ QMI_WDS_SET_EVENT_REPORT_REQUESTED_TRANSFER_STATISTICS_TX_PACKET_ERRORS = 1 << 2,
+ QMI_WDS_SET_EVENT_REPORT_REQUESTED_TRANSFER_STATISTICS_RX_PACKET_ERRORS = 1 << 3,
+ QMI_WDS_SET_EVENT_REPORT_REQUESTED_TRANSFER_STATISTICS_TX_OVERFLOWS = 1 << 4,
+ QMI_WDS_SET_EVENT_REPORT_REQUESTED_TRANSFER_STATISTICS_RX_OVERFLOWS = 1 << 5,
+ QMI_WDS_SET_EVENT_REPORT_REQUESTED_TRANSFER_STATISTICS_TX_BYTE_TOTAL = 1 << 6,
+ QMI_WDS_SET_EVENT_REPORT_REQUESTED_TRANSFER_STATISTICS_RX_BYTE_TOTAL = 1 << 7,
+ QMI_WDS_SET_EVENT_REPORT_REQUESTED_TRANSFER_STATISTICS_TX_PACKETS_DROPPED = 1 << 8,
+ QMI_WDS_SET_EVENT_REPORT_REQUESTED_TRANSFER_STATISTICS_RX_PACKETS_DROPPED = 1 << 9,
+} QmiWdsSetEventReportRequestedTransferStatistics;
+
+/*****************************************************************************/
+/* Helper enums for the 'QMI WDS Event Indication' message */
+
+/**
+ * QmiWdsDormancyStatus:
+ * @QMI_WDS_DORMANCY_STATUS_UNKNOWN: status unknown
+ * @QMI_WDS_DORMANCY_STATUS_TRAFFIC_CHANNEL_DORMANT: traffic channel is dormant
+ * @QMI_WDS_DORMANCY_STATUS_TRAFFIC_CHANNEL_ACTIVE: traffic channel is active
+ *
+ * Enum specifying dormancy status of the traffic channel.
+ */
+typedef enum { /*< underscore_name=qmi_wds_dormancy_status >*/
+ QMI_WDS_DORMANCY_STATUS_UNKNOWN = 0,
+ QMI_WDS_DORMANCY_STATUS_TRAFFIC_CHANNEL_DORMANT = 1,
+ QMI_WDS_DORMANCY_STATUS_TRAFFIC_CHANNEL_ACTIVE = 2,
+} QmiWdsDormancyStatus;
+
+/**
+ * QmiWdsDataCallStatus:
+ * @QMI_WDS_DATA_CALL_STATUS_UNKNOWN: status unknown
+ * @QMI_WDS_DATA_CALL_STATUS_ACTIVATED: data call activated
+ * @QMI_WDS_DATA_CALL_STATUS_FAILED: data call failed
+ *
+ * Enum specifying status of a data call.
+ */
+typedef enum { /*< underscore_name=qmi_wds_data_call_status >*/
+ QMI_WDS_DATA_CALL_STATUS_UNKNOWN = 0,
+ QMI_WDS_DATA_CALL_STATUS_TRAFFIC_CHANNEL_DORMANT = 1,
+ QMI_WDS_DATA_CALL_STATUS_TRAFFIC_CHANNEL_ACTIVE = 2,
+} QmiWdsDataCallStatus;
+
+/**
+ * QmiWdsDataCallSystem
+ * @QMI_WDS_DATA_CALL_SYSTEM_UNKNOWN: unknown data call system
+ * @QMI_WDS_DATA_CALL_SYSTEM_CDMA_1X: CDMA 1x
+ * @QMI_WDS_DATA_CALL_SYSTEM_CDMA_1X_EVDO: CDMA 1x EVDO
+ * @QMI_WDS_DATA_CALL_SYSTEM_GRPS: GPRS
+ * @QMI_WDS_DATA_CALL_SYSTEM_WCDMA: WCDMA
+ * @QMI_WDS_DATA_CALL_SYSTEM_LTE: LTE
+ * @QMI_WDS_DATA_CALL_SYSTEM_TD_SCDMA: TD-SCDMA
+ *
+ * Enum specifying data call systems.
+ */
+typedef enum { /*< underscore_name=qmi_wds_data_call_system >*/
+ QMI_WDS_DATA_CALL_SYSTEM_UNKNOWN = 0,
+ QMI_WDS_DATA_CALL_SYSTEM_CDMA_1X = 1,
+ QMI_WDS_DATA_CALL_SYSTEM_CDMA_1X_EVDO = 2,
+ QMI_WDS_DATA_CALL_SYSTEM_GRPS = 3,
+ QMI_WDS_DATA_CALL_SYSTEM_WCDMA = 4,
+ QMI_WDS_DATA_CALL_SYSTEM_LTE = 5,
+ QMI_WDS_DATA_CALL_SYSTEM_TD_SCDMA = 6,
+} QmiWdsDataCallSystem;
+
+/**
+ * QmiWdsDataCallType:
+ * @QMI_WDS_DATA_CALL_TYPE_UNKNOWN: unknown
+ * @QMI_WDS_DATA_CALL_TYPE_EMBEDDED: embedded
+ * @QMI_WDS_DATA_CALL_TYPE_TETHERED: tethered
+ * @QMI_WDS_DATA_CALL_TYPE_MODEM_EMEDDED: modem embedded
+ *
+ * Enum specifying the type of a data call.
+ */
+typedef enum { /*< underscore_name=qmi_wds_data_call_type >*/
+ QMI_WDS_DATA_CALL_TYPE_UNKNOWN = 0,
+ QMI_WDS_DATA_CALL_TYPE_EMBEDDED = 1,
+ QMI_WDS_DATA_CALL_TYPE_TETHERED = 2,
+ QMI_WDS_DATA_CALL_TYPE_MODEM_EMBEDDED = 3,
+} QmiWdsDataCallType;
+
+/**
+ * QmiWdsTetheredCallType:
+ * @QMI_WDS_TETHERED_CALL_TYPE_NON_TETHERED: not tethered
+ * @QMI_WDS_TETHERED_CALL_TYPE_RMNET: tethered RMNET
+ * @QMI_WDS_TETHERED_CALL_TYPE_DUN: tethered DUN
+ *
+ * Enum specifying the type of a tethered data call.
+ */
+typedef enum { /*< underscore_name=qmi_wds_tethered_call_type >*/
+ QMI_WDS_TETHERED_CALL_TYPE_UNKNOWN = 0,
+ QMI_WDS_TETHERED_CALL_TYPE_EMBEDDED = 1,
+ QMI_WDS_TETHERED_CALL_TYPE_TETHERED = 2,
+} QmiWdsTetheredCallType;
+
+/*****************************************************************************/
/* Helper enums for the 'QMI WDS Start Network' message */
/**