diff options
author | Dan Williams <dcbw@redhat.com> | 2013-04-09 15:41:27 -0500 |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2013-04-09 15:41:27 -0500 |
commit | d790a43f0f3eab7ca080c508edef5a97d3d9e896 (patch) | |
tree | 3413781e8479fb9e3a993c8ca9485f69abf2b87d | |
parent | 8f8edb7cd388a9519423166e2614f49b99f39df5 (diff) |
wds: add event indication support
-rw-r--r-- | data/qmi-service-wds.json | 230 | ||||
-rw-r--r-- | libqmi-glib/qmi-enums-wds.h | 117 |
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 */ /** |