
[
  // *********************************************************************************
  {  "name"    : "WMS",
     "type"    : "Service" },

  // *********************************************************************************
  {  "name"    : "QMI Client WMS",
     "type"    : "Client",
     "since"   : "1.0" },

  // *********************************************************************************
  {  "name"    : "QMI Message WMS",
     "type"    : "Message-ID-Enum" },

  // *********************************************************************************
  {  "name"    : "QMI Indication WMS",
     "type"    : "Indication-ID-Enum" },

  // *********************************************************************************
  {  "name"    : "Reset",
     "type"    : "Message",
     "service" : "WMS",
     "id"      : "0x0000",
     "since"   : "1.0",
     "output"  : [ { "common-ref" : "Operation Result" } ] },

  // *********************************************************************************
  {  "name"    : "Set Event Report",
     "type"    : "Message",
     "service" : "WMS",
     "id"      : "0x0001",
     "since"   : "1.0",
     "input"   : [ { "name"      : "New MT Message Indicator",
                     "id"        : "0x10",
                     "type"      : "TLV",
                     "since"     : "1.0",
                     "format"    : "sequence",
                     "contents"  : [ { "name"          : "Report",
                                       "format"        : "guint8",
                                       "public-format" : "gboolean" } ] } ],
     "output"  : [ { "common-ref" : "Operation Result" } ] },

  {  "name"    : "Event Report",
     "type"    : "Indication",
     "service" : "WMS",
     "id"      : "0x0001",
     "since"   : "1.0",
     "output"  : [ { "name"      : "MT Message",
                     "id"        : "0x10",
                     "type"      : "TLV",
                     "since"     : "1.0",
                     "format"    : "sequence",
                     "contents"  : [ { "name"          : "Storage Type",
                                       "format"        : "guint8",
                                       "public-format" : "QmiWmsStorageType" },
                                     { "name"   : "Memory Index",
                                       "format" : "guint32" } ] },
                   { "name"      : "Transfer Route MT Message",
                     "id"        : "0x11",
                     "type"      : "TLV",
                     "since"     : "1.0",
                     "format"    : "sequence",
                     "contents"  : [ { "name"          : "Ack Indicator",
                                       "format"        : "guint8",
                                       "public-format" : "QmiWmsAckIndicator" },
                                     { "name"   : "Transaction ID",
                                       "format" : "guint32" },
                                     { "name"          : "Format",
                                       "format"        : "guint8",
                                       "public-format" : "QmiWmsMessageFormat" },
                                     { "name"               : "Raw Data",
                                       "format"             : "array",
                                       "size-prefix-format" : "guint16",
                                       "array-element"      : { "format" : "guint8" } } ] },
                   { "name"          : "Message Mode",
                     "id"            : "0x12",
                     "type"          : "TLV",
                     "since"         : "1.0",
                     "format"        : "guint8",
                     "public-format" : "QmiWmsMessageMode" },
                   { "name"      : "ETWS Message",
                     "id"        : "0x13",
                     "type"      : "TLV",
                     "since"     : "1.0",
                     "format"    : "sequence",
                     "contents"  : [ { "name"          : "Notification Type",
                                       "format"        : "guint8",
                                       "public-format" : "QmiWmsNotificationType" },
                                     { "name"               : "Raw Data",
                                       "format"             : "array",
                                       "size-prefix-format" : "guint16",
                                       "array-element"      : { "format" : "guint8" } } ] },
                   { "name"      : "ETWS PLMN Information",
                     "id"        : "0x14",
                     "type"      : "TLV",
                     "since"     : "1.0",
                     "format"    : "sequence",
                     "contents"  : [ { "name"   : "MCC",
                                       "format" : "guint16" },
                                     { "name"   : "MNC",
                                       "format" : "guint16" } ] },
                   { "name"          : "SMSC Address",
                     "id"            : "0x15",
                     "type"          : "TLV",
                     "since"         : "1.0",
                     "format"        : "string" },
                   { "name"          : "SMS on IMS",
                     "id"            : "0x16",
                     "type"          : "TLV",
                     "since"         : "1.0",
                     "format"        : "guint8",
                     "public-format" : "gboolean" } ] },

  // *********************************************************************************
  {  "name"    : "Get Supported Messages",
     "type"    : "Message",
     "service" : "WMS",
     "id"      : "0x001E",
     "since"   : "1.14",
     "output"  : [ { "common-ref" : "Operation Result" },
                   { "name"               : "List",
                     "id"                 : "0x10",
                     "type"               : "TLV",
                     "since"              : "1.14",
                     "format"             : "array",
                     "size-prefix-format" : "guint16",
                     "array-element"      : { "format" : "guint8" },
                     "prerequisites"      : [ { "common-ref" : "Success" } ] } ] },

  // *********************************************************************************
  {  "name"    : "Raw Send",
     "type"    : "Message",
     "service" : "WMS",
     "id"      : "0x0020",
     "since"   : "1.0",
     "input"   : [ { "name"      : "Raw Message Data",
                     "id"        : "0x01",
                     "type"      : "TLV",
                     "since"     : "1.0",
                     "format"    : "sequence",
                     "contents"  : [ { "name"          : "Format",
                                       "format"        : "guint8",
                                       "public-format" : "QmiWmsMessageFormat" },
                                     { "name"               : "Raw Data",
                                       "format"             : "array",
                                       "size-prefix-format" : "guint16",
                                       "array-element"      : { "format" : "guint8" } } ] },
                   { "name"      : "CDMA Force On DC",
                     "id"        : "0x10",
                     "type"      : "TLV",
                     "since"     : "1.0",
                     "format"    : "sequence",
                     "contents"  : [ { "name"          : "Force",
                                       "format"        : "guint8",
                                       "public-format" : "gboolean" },
                                     { "name"          : "Service Option",
                                       "format"        : "guint8",
                                       "public-format" : "QmiWmsCdmaServiceOption" } ] },
                   { "name"      : "CDMA Follow On DC",
                     "id"        : "0x11",
                     "type"      : "TLV",
                     "since"     : "1.0",
                     "format"    : "sequence",
                     "contents"  : [ { "name"          : "Follow",
                                       "format"        : "guint8",
                                       "public-format" : "gboolean" } ] },
                   { "name"      : "GSM WCDMA Link Timer",
                     "id"        : "0x12",
                     "type"      : "TLV",
                     "since"     : "1.0",
                     "format"    : "guint8" },
                   { "name"          : "SMS on IMS",
                     "id"            : "0x13",
                     "type"          : "TLV",
                     "since"         : "1.0",
                     "format"        : "guint8",
                     "public-format" : "gboolean" } ],
     "output"  : [ { "common-ref" : "Operation Result" },
                   { "name"          : "Message ID",
                     "id"            : "0x01",
                     // Even if we have this TLV as mandatory, it seems it really isn't
                     "type"          : "TLV",
                     "since"         : "1.0",
                     "format"        : "guint16",
                     "prerequisites" : [ { "common-ref" : "Success" } ] },
                   { "name"          : "CDMA Cause Code",
                     "id"            : "0x10",
                     "type"          : "TLV",
                     "since"         : "1.0",
                     "format"        : "guint16",
                     "public-format" : "QmiWmsCdmaCauseCode",
                     "prerequisites" : [ { "field"     : "Result.Error Status",
                                           "operation" : "!=",
                                           "value"     : "QMI_STATUS_SUCCESS" },
                                         { "field"     : "Result.Error Code",
                                           "operation" : "==",
                                           "value"     : "QMI_PROTOCOL_ERROR_WMS_CAUSE_CODE" } ] },
                   { "name"          : "CDMA Error Class",
                     "id"            : "0x11",
                     "type"          : "TLV",
                     "since"         : "1.0",
                     "format"        : "guint8",
                     "public-format" : "QmiWmsCdmaErrorClass",
                     "prerequisites" : [ { "field"     : "Result.Error Status",
                                           "operation" : "!=",
                                           "value"     : "QMI_STATUS_SUCCESS" },
                                         { "field"     : "Result.Error Code",
                                           "operation" : "==",
                                           "value"     : "QMI_PROTOCOL_ERROR_WMS_CAUSE_CODE" } ] },
                   { "name"          : "GSM WCDMA Cause Info",
                     "id"            : "0x12",
                     "type"          : "TLV",
                     "since"         : "1.0",
                     "format"        : "sequence",
                     "contents"      : [ { "name"          : "RP Cause",
                                           "format"        : "guint16",
                                           "public-format" : "QmiWmsGsmUmtsRpCause" },
                                         { "name"          : "TP Cause",
                                           "format"        : "guint8",
                                           "public-format" : "QmiWmsGsmUmtsTpCause" } ],
                     "prerequisites" : [ { "field"     : "Result.Error Status",
                                           "operation" : "!=",
                                           "value"     : "QMI_STATUS_SUCCESS" },
                                         { "field"     : "Result.Error Code",
                                           "operation" : "==",
                                           "value"     : "QMI_PROTOCOL_ERROR_WMS_CAUSE_CODE" } ] },
                   { "name"          : "Message Delivery Failure Type",
                     "id"            : "0x13",
                     "type"          : "TLV",
                     "since"         : "1.0",
                     "format"        : "guint8",
                     "public-format" : "QmiWmsMessageDeliveryFailureType",
                     "prerequisites" : [ { "field"     : "Result.Error Status",
                                           "operation" : "!=",
                                           "value"     : "QMI_STATUS_SUCCESS" },
                                         { "field"     : "Result.Error Code",
                                           "operation" : "==",
                                           "value"     : "QMI_PROTOCOL_ERROR_WMS_CAUSE_CODE" } ] } ] },

  // *********************************************************************************
  {  "name"    : "Raw Write",
     "type"    : "Message",
     "service" : "WMS",
     "id"      : "0x0021",
     "since"   : "1.0",
     "input"   : [ { "name"      : "Raw Message Data",
                     "id"        : "0x01",
                     "type"      : "TLV",
                     "since"     : "1.0",
                     "format"    : "sequence",
                     "contents"  : [ { "name"          : "Storage Type",
                                       "format"        : "guint8",
                                       "public-format" : "QmiWmsStorageType" },
                                     { "name"          : "Format",
                                       "format"        : "guint8",
                                       "public-format" : "QmiWmsMessageFormat" },
                                     { "name"               : "Raw Data",
                                       "format"             : "array",
                                       "size-prefix-format" : "guint16",
                                       "array-element"      : { "format" : "guint8" } } ] } ],
     "output"  : [ { "common-ref" : "Operation Result" },
                   { "name"          : "Memory Index",
                     "id"            : "0x01",
                     "type"          : "TLV",
                     "since"         : "1.0",
                     "format"        : "guint32",
                     "prerequisites" : [ { "common-ref" : "Success" } ] } ] },

  // *********************************************************************************
  {  "name"    : "Raw Read",
     "type"    : "Message",
     "service" : "WMS",
     "id"      : "0x0022",
     "since"   : "1.0",
     "input"   : [ { "name"      : "Message Memory Storage ID",
                     "id"        : "0x01",
                     "type"      : "TLV",
                     "since"     : "1.0",
                     "format"    : "sequence",
                     "contents"  : [ { "name"          : "Storage Type",
                                       "format"        : "guint8",
                                       "public-format" : "QmiWmsStorageType" },
                                     { "name"          : "Memory Index",
                                       "format"        : "guint32" } ] },
                   { "name"          : "Message Mode",
                     "id"            : "0x10",
                     "type"          : "TLV",
                     "since"         : "1.0",
                     "format"        : "guint8",
                     "public-format" : "QmiWmsMessageMode" },
                   { "name"          : "SMS on IMS",
                     "id"            : "0x11",
                     "type"          : "TLV",
                     "since"         : "1.0",
                     "format"        : "guint8",
                     "public-format" : "gboolean" } ],
     "output"   : [ { "common-ref" : "Operation Result" },
                    { "name"      : "Raw Message Data",
                      "id"        : "0x01",
                      "type"      : "TLV",
                      "since"     : "1.0",
                      "format"    : "sequence",
                      "contents"  : [ { "name"          : "Message Tag",
                                        "format"        : "guint8",
                                        "public-format" : "QmiWmsMessageTagType" },
                                      { "name"          : "Format",
                                        "format"        : "guint8",
                                        "public-format" : "QmiWmsMessageFormat" },
                                      { "name"               : "Raw Data",
                                        "format"             : "array",
                                        "size-prefix-format" : "guint16",
                                        "array-element"      : { "format" : "guint8" } } ],
                      "prerequisites" : [ { "common-ref" : "Success" } ] } ] },

  // *********************************************************************************
  {  "name"    : "Modify Tag",
     "type"    : "Message",
     "service" : "WMS",
     "id"      : "0x0023",
     "since"   : "1.0",
     "input"   : [ { "name"      : "Message Tag",
                     "id"        : "0x01",
                     "type"      : "TLV",
                     "since"     : "1.0",
                     "format"    : "sequence",
                     "contents"  : [ { "name"          : "Storage Type",
                                       "format"        : "guint8",
                                       "public-format" : "QmiWmsStorageType" },
                                     { "name"          : "Memory Index",
                                       "format"        : "guint32" },
                                     { "name"          : "Message Tag",
                                       "format"        : "guint8",
                                       "public-format" : "QmiWmsMessageTagType" } ] },
                   { "name"          : "Message Mode",
                     "id"            : "0x10",
                     "type"          : "TLV",
                     "since"         : "1.0",
                     "format"        : "guint8",
                     "public-format" : "QmiWmsMessageMode" } ],
     "output"   : [ { "common-ref" : "Operation Result" } ] },

  // *********************************************************************************
  {  "name"    : "Delete",
     "type"    : "Message",
     "service" : "WMS",
     "id"      : "0x0024",
     "since"   : "1.0",
     "input"   : [ { "name"          : "Memory Storage",
                     "id"            : "0x01",
                     "type"          : "TLV",
                     "since"         : "1.0",
                     "format"        : "guint8",
                     "public-format" : "QmiWmsStorageType" },
                   { "name"      : "Memory Index",
                     "id"        : "0x10",
                     "type"      : "TLV",
                     "since"     : "1.0",
                     "format"    : "guint32" },
                   { "name"          : "Message Tag",
                     "id"            : "0x11",
                     "type"          : "TLV",
                     "since"         : "1.0",
                     "format"        : "guint8",
                     "public-format" : "QmiWmsMessageTagType" },
                   { "name"          : "Message Mode",
                     "id"            : "0x12",
                     "type"          : "TLV",
                     "since"         : "1.0",
                     "format"        : "guint8",
                     "public-format" : "QmiWmsMessageMode" } ],
     "output"   : [ { "common-ref" : "Operation Result" } ] },

  // *********************************************************************************
  {  "name"    : "Get Message Protocol",
     "type"    : "Message",
     "service" : "WMS",
     "id"      : "0x0030",
     "since"   : "1.0",
     "output"   : [ { "common-ref" : "Operation Result" },
                    { "name"          : "Message Protocol",
                      "id"            : "0x01",
                      "type"          : "TLV",
                      "since"         : "1.0",
                      "format"        : "guint8",
                      "public-format" : "QmiWmsMessageProtocol",
                      "prerequisites" : [ { "common-ref" : "Success" } ] } ] },

  // *********************************************************************************
  {  "name"    : "List Messages",
     "type"    : "Message",
     "service" : "WMS",
     "id"      : "0x0031",
     "since"   : "1.0",
     "input"   : [ { "name"          : "Storage Type",
                     "id"            : "0x01",
                     "type"          : "TLV",
                     "since"         : "1.0",
                     "format"        : "guint8",
                     "public-format" : "QmiWmsStorageType" },
                   { "name"          : "Message Tag",
                     "id"            : "0x11",
                     "type"          : "TLV",
                     "since"         : "1.0",
                     "format"        : "guint8",
                     "public-format" : "QmiWmsMessageTagType" },
                   { "name"          : "Message Mode",
                     "id"            : "0x12",
                     "type"          : "TLV",
                     "since"         : "1.0",
                     "format"        : "guint8",
                     "public-format" : "QmiWmsMessageMode" } ],
     "output"   : [ { "common-ref" : "Operation Result" },
                    { "name"               : "Message List",
                      "id"                 : "0x01",
                      "type"               : "TLV",
                      "since"              : "1.0",
                      "format"             : "array",
                      "size-prefix-format" : "guint32" ,
                      "array-element"      : { "name"     : "Element",
                                               "format"   : "struct",
                                               "contents" : [ { "name"   : "Memory Index",
                                                                "format" : "guint32" },
                                                              { "name"          : "Message Tag",
                                                                "format"        : "guint8",
                                                                "public-format" : "QmiWmsMessageTagType" } ] },
                      "prerequisites"      : [ { "common-ref" : "Success" } ] } ] },

  // *********************************************************************************
  {  "name"    : "Set Routes",
     "type"    : "Message",
     "service" : "WMS",
     "id"      : "0x0032",
     "since"   : "1.0",
     "input"   : [ { "name"               : "Route List",
                     "id"                 : "0x01",
                     "type"               : "TLV",
                     "since"              : "1.0",
                     "format"             : "array",
                     "size-prefix-format" : "guint16",
                     "array-element"      : { "name"     : "Element",
                                              "format"   : "struct",
                                              "contents" : [ { "name"          : "Message Type",
                                                               "format"        : "guint8",
                                                               "public-format" : "QmiWmsMessageType" },
                                                             { "name"          : "Message Class",
                                                               "format"        : "guint8",
                                                               "public-format" : "QmiWmsMessageClass" },
                                                             { "name"          : "Storage",
                                                               "format"        : "guint8",
                                                               "public-format" : "QmiWmsStorageType" },
                                                             { "name"          : "Receipt Action",
                                                               "format"        : "guint8",
                                                               "public-format" : "QmiWmsReceiptAction" } ] } },
                   { "name"          : "Transfer Status Report",
                     "id"            : "0x10",
                     "type"          : "TLV",
                     "since"         : "1.0",
                     "format"        : "guint8",
                     "public-format" : "QmiWmsTransferIndication" } ],
     "output"   : [ { "common-ref" : "Operation Result" } ] },

  // *********************************************************************************
  {  "name"    : "Get Routes",
     "type"    : "Message",
     "service" : "WMS",
     "id"      : "0x0033",
     "since"   : "1.0",
     "output"   : [ { "common-ref" : "Operation Result" },
                    { "name"               : "Route List",
                      "id"                 : "0x01",
                      "type"               : "TLV",
                      "since"              : "1.0",
                      "format"             : "array",
                      "size-prefix-format" : "guint16",
                      "array-element"      : { "name"     : "Element",
                                               "format"   : "struct",
                                               "contents" : [ { "name"          : "Message Type",
                                                                "format"        : "guint8",
                                                                "public-format" : "QmiWmsMessageType" },
                                                              { "name"          : "Message Class",
                                                                "format"        : "guint8",
                                                                "public-format" : "QmiWmsMessageClass" },
                                                              { "name"          : "Storage",
                                                                "format"        : "guint8",
                                                                "public-format" : "QmiWmsStorageType" },
                                                              { "name"          : "Receipt Action",
                                                                "format"        : "guint8",
                                                                "public-format" : "QmiWmsReceiptAction" } ] },
                      "prerequisites"      : [ { "common-ref" : "Success" } ] },
                    { "name"          : "Transfer Status Report",
                      "id"            : "0x10",
                      "type"          : "TLV",
                      "since"         : "1.0",
                      "format"        : "guint8",
                      "public-format" : "QmiWmsTransferIndication",
                      "prerequisites" : [ { "common-ref" : "Success" } ] } ] },

  // *********************************************************************************
  {  "name"    : "Send From Memory Storage",
     "type"    : "Message",
     "service" : "WMS",
     "id"      : "0x0042",
     "since"   : "1.0",
     "input"   : [ { "name"      : "Information",
                     "id"        : "0x01",
                     "type"      : "TLV",
                     "since"     : "1.0",
                     "format"    : "sequence",
                     "contents"  : [ { "name"          : "Storage Type",
                                       "format"        : "guint8",
                                       "public-format" : "QmiWmsStorageType" },
                                     { "name"   : "Memory Index",
                                       "format" : "guint32" },
                                     { "name"          : "Message Mode",
                                       "format"        : "guint8",
                                       "public-format" : "QmiWmsMessageMode" } ] },
                   { "name"          : "SMS on IMS",
                     "id"            : "0x10",
                     "type"          : "TLV",
                     "since"         : "1.0",
                     "format"        : "guint8",
                     "public-format" : "gboolean" } ],
     "output"  : [ { "common-ref" : "Operation Result" },
                   { "name"          : "Message ID",
                     "id"            : "0x10",
                     "type"          : "TLV",
                     "since"         : "1.0",
                     "format"        : "guint16",
                     "prerequisites" : [ { "common-ref" : "Success" } ] },
                   { "name"          : "CDMA Cause Code",
                     "id"            : "0x11",
                     "type"          : "TLV",
                     "since"         : "1.0",
                     "format"        : "guint16",
                     "public-format" : "QmiWmsCdmaCauseCode",
                     "prerequisites" : [ { "field"     : "Result.Error Status",
                                           "operation" : "!=",
                                           "value"     : "QMI_STATUS_SUCCESS" },
                                         { "field"     : "Result.Error Code",
                                           "operation" : "==",
                                           "value"     : "QMI_PROTOCOL_ERROR_WMS_CAUSE_CODE" } ] },
                   { "name"          : "CDMA Error Class",
                     "id"            : "0x12",
                     "type"          : "TLV",
                     "since"         : "1.0",
                     "format"        : "guint8",
                     "public-format" : "QmiWmsCdmaErrorClass",
                     "prerequisites" : [ { "field"     : "Result.Error Status",
                                           "operation" : "!=",
                                           "value"     : "QMI_STATUS_SUCCESS" },
                                         { "field"     : "Result.Error Code",
                                           "operation" : "==",
                                           "value"     : "QMI_PROTOCOL_ERROR_WMS_CAUSE_CODE" } ] },
                   { "name"          : "GSM WCDMA Cause Info",
                     "id"            : "0x13",
                     "type"          : "TLV",
                     "since"         : "1.0",
                     "format"        : "sequence",
                     "contents"      : [ { "name"          : "RP Cause",
                                           "format"        : "guint16",
                                           "public-format" : "QmiWmsGsmUmtsRpCause" },
                                         { "name"          : "TP Cause",
                                           "format"        : "guint8",
                                           "public-format" : "QmiWmsGsmUmtsTpCause" } ],
                     "prerequisites" : [ { "field"     : "Result.Error Status",
                                           "operation" : "!=",
                                           "value"     : "QMI_STATUS_SUCCESS" },
                                         { "field"     : "Result.Error Code",
                                           "operation" : "==",
                                           "value"     : "QMI_PROTOCOL_ERROR_WMS_CAUSE_CODE" } ] },
                   { "name"          : "Message Delivery Failure Type",
                     "id"            : "0x14",
                     "type"          : "TLV",
                     "since"         : "1.0",
                     "format"        : "guint8",
                     "public-format" : "QmiWmsMessageDeliveryFailureType",
                     "prerequisites" : [ { "field"     : "Result.Error Status",
                                           "operation" : "!=",
                                           "value"     : "QMI_STATUS_SUCCESS" },
                                         { "field"     : "Result.Error Code",
                                           "operation" : "==",
                                           "value"     : "QMI_PROTOCOL_ERROR_WMS_CAUSE_CODE" } ] } ] },

  // *********************************************************************************
  {  "name"    : "SMSC Address",
     "type"    : "Indication",
     "service" : "WMS",
     "id"      : "0x0046",
     "since"   : "1.14",
     "output"  : [ { "name"      : "Address",
                     "id"        : "0x01",
                     "type"      : "TLV",
                     "since"     : "1.14",
                     "format"    : "sequence",
                     "contents"  : [ { "name"       : "Type",
                                       "format"     : "string",
                                       "fixed-size" : "3" },
                                     { "name"               : "Digits",
                                       "format"             : "string",
                                       "size-prefix-format" : "guint8" } ] } ] }


]
