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

  // *********************************************************************************
  {  "name"    : "QMI Client PBM",
     "type"    : "Client" },

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

  // *********************************************************************************
  {  "name"    : "Indication Register",
     "type"    : "Message",
     "service" : "PBM",
     "id"      : "0x0001",
     "version" : "1.0",
     "input"   : [ { "name"          : "Event Registration Mask",
                     "id"            : "0x01",
                     "mandatory"     : "yes",
                     "type"          : "TLV",
                     "format"        : "guint32",
                     "public-format" : "QmiPbmEventRegistrationFlag" } ],
     "output"  : [ { "common-ref" : "Operation Result" },
                   { "name"          : "Event Registration Mask",
                     "id"            : "0x10",
                     "mandatory"     : "no",
                     "type"          : "TLV",
                     "format"        : "guint32",
                     "public-format" : "QmiPbmEventRegistrationFlag",
                     "prerequisites" : [ { "common-ref" : "Success" } ] } ] },

  // *********************************************************************************
  {  "name"    : "Get Capabilities",
     "type"    : "Message",
     "service" : "PBM",
     "id"      : "0x0002",
     "version" : "1.0",
     "input"   : [ { "name"      : "Phonebook Information",
                     "id"        : "0x01",
                     "mandatory" : "yes",
                     "type"      : "TLV",
                     "format"    : "sequence",
                     "contents"  : [ { "name"          : "Session Type",
                                       "format"        : "guint8",
                                       "public-format" : "QmiPbmSessionType" },
                                     { "name"          : "Phonebook Type",
                                       "format"        : "guint16",
                                       "public-format" : "QmiPbmPhonebookType" } ] } ],
     "output"  : [ { "common-ref" : "Operation Result" },
                   { "name"          : "Capability Basic Information",
                     "id"            : "0x10",
                     "mandatory"     : "no",
                     "type"          : "TLV",
                     "format"        : "sequence",
                     "contents"      : [ { "name"          : "Session Type",
                                           "format"        : "guint8",
                                           "public-format" : "QmiPbmSessionType" },
                                         { "name"          : "Phonebook Type",
                                           "format"        : "guint16",
                                           "public-format" : "QmiPbmPhonebookType" },
                                         { "name"   : "Used Records",
                                           "format" : "guint16" },
                                         { "name"   : "Maximum Records",
                                           "format" : "guint16" },
                                         { "name"   : "Maximum Number Length",
                                           "format" : "guint8" },
                                         { "name"   : "Maximum Name Length",
                                           "format" : "guint8" } ],
                     "prerequisites" : [ { "common-ref" : "Success" } ] },
                   { "name"          : "Group Capability",
                     "id"            : "0x11",
                     "mandatory"     : "no",
                     "type"          : "TLV",
                     "format"        : "sequence",
                     "contents"      : [ { "name"   : "Maximum Groups",
                                           "format" : "guint8" },
                                         { "name"   : "Maximum Group Tag Length",
                                           "format" : "guint8" } ],
                     "prerequisites" : [ { "common-ref" : "Success" } ] },
                   { "name"          : "Additional Number Capability",
                     "id"            : "0x12",
                     "mandatory"     : "no",
                     "type"          : "TLV",
                     "format"        : "sequence",
                     "contents"      : [ { "name"   : "Maximum Additional Numbers",
                                           "format" : "guint8" },
                                         { "name"   : "Maximum Additional Number Length",
                                           "format" : "guint8" },
                                         { "name"   : "Maximum Additional Number Tag Length",
                                           "format" : "guint8" } ],
                     "prerequisites" : [ { "common-ref" : "Success" } ] },
                   { "name"          : "Email Capability",
                     "id"            : "0x13",
                     "mandatory"     : "no",
                     "type"          : "TLV",
                     "format"        : "sequence",
                     "contents"      : [ { "name"   : "Maximum Emails",
                                           "format" : "guint8" },
                                         { "name"   : "Maximum Email Address Length",
                                           "format" : "guint8" } ],
                     "prerequisites" : [ { "common-ref" : "Success" } ] },
                   { "name"          : "Second Name Capability",
                     "id"            : "0x14",
                     "mandatory"     : "no",
                     "type"          : "TLV",
                     "format"        : "sequence",
                     "contents"      : [ { "name"   : "Maximum Second Name Length",
                                           "format" : "guint8" } ],
                     "prerequisites" : [ { "common-ref" : "Success" } ] },
                   { "name"          : "Hidden Records Capability",
                     "id"            : "0x15",
                     "mandatory"     : "no",
                     "type"          : "TLV",
                     "format"        : "sequence",
                     "contents"      : [ { "name"          : "Supported",
                                           "format"        : "guint8",
                                           "public-format" : "gboolean" } ],
                     "prerequisites" : [ { "common-ref" : "Success" } ] },
                   { "name"          : "Grouping Information Alpha String Capability",
                     "id"            : "0x16",
                     "mandatory"     : "no",
                     "type"          : "TLV",
                     "format"        : "sequence",
                     "contents"      : [ { "name"   : "Maximum Records",
                                           "format" : "guint8" },
                                         { "name"   : "Used Records",
                                           "format" : "guint8" },
                                         { "name"   : "Maximum String Length",
                                           "format" : "guint8" } ],
                     "prerequisites" : [ { "common-ref" : "Success" } ] },
                   { "name"          : "Additional Number Alpha String Capability",
                     "id"            : "0x17",
                     "mandatory"     : "no",
                     "type"          : "TLV",
                     "format"        : "sequence",
                     "contents"      : [ { "name"   : "Maximum Records",
                                           "format" : "guint8" },
                                         { "name"   : "Used Records",
                                           "format" : "guint8" },
                                         { "name"   : "Maximum String Length",
                                           "format" : "guint8" } ],
                     "prerequisites" : [ { "common-ref" : "Success" } ] } ] },

  // *********************************************************************************
  {  "name"    : "Get All Capabilities",
     "type"    : "Message",
     "service" : "PBM",
     "id"      : "0x0003",
     "version" : "1.0",
     "output"  : [ { "common-ref" : "Operation Result" },
                   { "name"               : "Capability Basic Information",
                     "id"                 : "0x10",
                     "mandatory"          : "no",
                     "type"               : "TLV",
                     "format"             : "array",
                     "size-prefix-format" : "guint8",
                     "array-element"      : { "name"     : "Element",
                                              "format"   : "struct",
                                              "contents" : [ { "name"          : "Session Type",
                                                               "format"        : "guint8",
                                                               "public-format" : "QmiPbmSessionType" },
                                                             { "name"               : "Phonebooks",
                                                               "format"             : "array",
                                                               "size-prefix-format" : "guint8",
                                                               "array-element"      : { "name"     : "Element",
                                                                                        "format"   : "struct",
                                                                                        "contents" : [ { "name"          : "Phonebook Type",
                                                                                                         "format"        : "guint16",
                                                                                                         "public-format" : "QmiPbmPhonebookType" },
                                                                                                       { "name"   : "Used Records",
                                                                                                         "format" : "guint16" },
                                                                                                       { "name"   : "Maximum Records",
                                                                                                         "format" : "guint16" },
                                                                                                       { "name"   : "Maximum Number Length",
                                                                                                         "format" : "guint8" },
                                                                                                       { "name"   : "Maximum Name Length",
                                                                                                         "format" : "guint8" } ] } } ] },
                     "prerequisites"      : [ { "common-ref" : "Success" } ] },
                   { "name"               : "Group Capability",
                     "id"                 : "0x11",
                     "mandatory"          : "no",
                     "type"               : "TLV",
                     "format"             : "array",
                     "size-prefix-format" : "guint8",
                     "array-element"      : { "name"     : "Element",
                                              "format"   : "struct",
                                              "contents" : [ { "name"          : "Session Type",
                                                               "format"        : "guint8",
                                                               "public-format" : "QmiPbmSessionType" },
                                                             { "name"   : "Maximum Groups",
                                                               "format" : "guint8" },
                                                             { "name"   : "Maximum Group Tag Length",
                                                               "format" : "guint8" } ] },
                     "prerequisites"      : [ { "common-ref" : "Success" } ] },
                   { "name"               : "Additional Number Capability",
                     "id"                 : "0x12",
                     "mandatory"          : "no",
                     "type"               : "TLV",
                     "format"             : "array",
                     "size-prefix-format" : "guint8",
                     "array-element"      : { "name"     : "Element",
                                              "format"   : "struct",
                                              "contents" : [ { "name"          : "Session Type",
                                                               "format"        : "guint8",
                                                               "public-format" : "QmiPbmSessionType" },
                                                             { "name"   : "Maximum Additional Numbers",
                                                               "format" : "guint8" },
                                                             { "name"   : "Maximum Additional Number Length",
                                                               "format" : "guint8" },
                                                             { "name"   : "Maximum Additional Number Tag Length",
                                                               "format" : "guint8" } ] },
                     "prerequisites"      : [ { "common-ref" : "Success" } ] },
                   { "name"               : "Email Capability",
                     "id"                 : "0x13",
                     "mandatory"          : "no",
                     "type"               : "TLV",
                     "format"             : "array",
                     "size-prefix-format" : "guint8",
                     "array-element"      : { "name"     : "Element",
                                              "format"   : "struct",
                                              "contents" : [ { "name"          : "Session Type",
                                                               "format"        : "guint8",
                                                               "public-format" : "QmiPbmSessionType" },
                                                             { "name"   : "Maximum Emails",
                                                               "format" : "guint8" },
                                                             { "name"   : "Maximum Email Address Length",
                                                               "format" : "guint8" } ] },
                     "prerequisites"      : [ { "common-ref" : "Success" } ] },
                   { "name"               : "Second Name Capability",
                     "id"                 : "0x14",
                     "mandatory"          : "no",
                     "type"               : "TLV",
                     "format"             : "array",
                     "size-prefix-format" : "guint8",
                     "array-element"      : { "name"     : "Element",
                                              "format"   : "struct",
                                              "contents" : [ { "name"          : "Session Type",
                                                               "format"        : "guint8",
                                                               "public-format" : "QmiPbmSessionType" },
                                                             { "name"   : "Maximum Second Name Length",
                                                               "format" : "guint8" } ] },
                     "prerequisites"      : [ { "common-ref" : "Success" } ] },
                   { "name"               : "Hidden Records Capability",
                     "id"                 : "0x15",
                     "mandatory"          : "no",
                     "type"               : "TLV",
                     "format"             : "array",
                     "size-prefix-format" : "guint8",
                     "array-element"      : { "name"     : "Element",
                                              "format"   : "struct",
                                              "contents" : [ { "name"          : "Session Type",
                                                               "format"        : "guint8",
                                                               "public-format" : "QmiPbmSessionType" },
                                                             { "name"          : "Supported",
                                                               "format"        : "guint8",
                                                               "public-format" : "gboolean" } ] },
                     "prerequisites"      : [ { "common-ref" : "Success" } ] },
                   { "name"               : "Grouping Information Alpha String Capability",
                     "id"                 : "0x16",
                     "mandatory"          : "no",
                     "type"               : "TLV",
                     "format"             : "array",
                     "size-prefix-format" : "guint8",
                     "array-element"      : { "name"     : "Element",
                                              "format"   : "struct",
                                              "contents" : [ { "name"          : "Session Type",
                                                               "format"        : "guint8",
                                                               "public-format" : "QmiPbmSessionType" },
                                                             { "name"   : "Maximum Records",
                                                               "format" : "guint8" },
                                                             { "name"   : "Used Records",
                                                               "format" : "guint8" },
                                                             { "name"   : "Maximum String Length",
                                                               "format" : "guint8" } ] },
                     "prerequisites"      : [ { "common-ref" : "Success" } ] },
                   { "name"               : "Additional Number Alpha String Capability",
                     "id"                 : "0x17",
                     "mandatory"          : "no",
                     "type"               : "TLV",
                     "format"             : "array",
                     "size-prefix-format" : "guint8",
                     "array-element"      : { "name"     : "Element",
                                              "format"   : "struct",
                                              "contents" : [ { "name"          : "Session Type",
                                                               "format"        : "guint8",
                                                               "public-format" : "QmiPbmSessionType" },
                                                             { "name"   : "Maximum Records",
                                                               "format" : "guint8" },
                                                             { "name"   : "Used Records",
                                                               "format" : "guint8" },
                                                             { "name"   : "Maximum String Length",
                                                               "format" : "guint8" } ] },
                     "prerequisites"      : [ { "common-ref" : "Success" } ] } ] }
]
